"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLogger = createLogger;
exports.createCliLogger = createCliLogger;
/**
 * Create a logger instance for test execution
 */
function createLogger(options = {}) {
    const { prefix = '', indent = '    ', debug = false } = options;
    const logPrefix = prefix ? `${prefix} ` : '';
    return {
        info: (message, data) => {
            console.log(`${indent}[INFO] ${logPrefix}${message}`, data !== undefined ? data : '');
        },
        warn: (message, data) => {
            console.warn(`${indent}[WARN] ${logPrefix}${message}`, data !== undefined ? data : '');
        },
        error: (message, data) => {
            console.error(`${indent}[ERROR] ${logPrefix}${message}`, data !== undefined ? data : '');
        },
        debug: (message, data) => {
            if (debug || process.env.DEBUG) {
                console.debug(`${indent}[DEBUG] ${logPrefix}${message}`, data !== undefined ? data : '');
            }
        },
    };
}
/**
 * Create a CLI-style logger with simpler output
 */
function createCliLogger() {
    return {
        info: (message, data) => {
            console.log(`    ${message}`, data !== undefined ? data : '');
        },
        warn: (message, data) => {
            console.warn(`    \u26a0 ${message}`, data !== undefined ? data : '');
        },
        error: (message, data) => {
            console.error(`    \u2717 ${message}`, data !== undefined ? data : '');
        },
        debug: (message, data) => {
            if (process.env.DEBUG) {
                console.debug(`    [debug] ${message}`, data !== undefined ? data : '');
            }
        },
    };
}
