@stacksjs/dtsx
Version:
A modern, fast .d.ts generation tool, powered by Bun.
62 lines (61 loc) • 1.72 kB
TypeScript
/**
* 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';