UNPKG

@stacksjs/dtsx

Version:

A modern, fast .d.ts generation tool, powered by Bun.

62 lines (61 loc) 1.72 kB
/** * Output to appropriate console method */ declare function output(level: LogLevel, prefix: string, args: unknown[]): void; /** * Create a logger instance */ export declare function createLogger(options?: LoggerOptions): Logger; /** * Create a scoped logger for a specific module * @example * const log = scopedLogger('extractor') * log.debug('Parsing file...') // [dtsx:extractor] Parsing file... */ export declare function scopedLogger(scope: string): Logger; /** * Set the global log level */ export declare function setLogLevel(level: LogLevel): void; /** * Get the current log level */ export declare function getLogLevel(): LogLevel; /** * Set the log prefix */ export declare function setLogPrefix(prefix: string): void; /** * Enable or disable timestamps */ export declare function setTimestamps(enabled: boolean): void; /** * Default logger instance */ export declare const logger: Logger; /** * No-op logger for silent mode or testing */ export declare const nullLogger: Logger; export declare interface LoggerOptions { level?: LogLevel prefix?: string timestamps?: boolean output?: (level: LogLevel, ...args: unknown[]) => void } export declare interface Logger { debug: (...args: unknown[]) => void info: (...args: unknown[]) => void warn: (...args: unknown[]) => void error: (...args: unknown[]) => void setLevel: (level: LogLevel) => void getLevel: () => LogLevel child: (scope: string) => Logger time: (label: string) => () => void progress: (message: string) => void } /** * Logger abstraction for dtsx * Provides configurable logging with verbosity levels and scoped loggers */ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';