UNPKG

@reyalp/debug-utils

Version:

ts transformers for debug

68 lines (67 loc) 2.6 kB
export declare enum LogLevel { ERROR = 0, WARN = 1, INFO = 2, VERBOSE = 3, DEBUG = 4, SILLY = 5 } export interface LogCallChain1 { error(...messages: unknown[]): LogCallChain2; warn(...messages: unknown[]): LogCallChain2; info(...messages: unknown[]): LogCallChain2; verbose(...messages: unknown[]): LogCallChain2; debug(...messages: unknown[]): LogCallChain2; silly(...messages: unknown[]): LogCallChain2; } export interface LogCallChain2 { trace(enabled: boolean): void; msg(...messages: unknown[]): LogCallChain2; dump(...exprs: unknown[]): LogCallChain2; } export declare class Logger implements LogCallChain1 { readonly tags: string[]; readonly rt: LogRuntime; private constructor(); tag(...tags: string[]): LogCallChain1; dump(...exprs: unknown[]): LogCallChain2; error(...messages: unknown[]): LogCallChain2; warn(...messages: unknown[]): LogCallChain2; info(...messages: unknown[]): LogCallChain2; verbose(...messages: unknown[]): LogCallChain2; debug(...messages: unknown[]): LogCallChain2; silly(...messages: unknown[]): LogCallChain2; extend(...args: [...tags: string[], impls: Partial<LogImpls>] | string[]): Logger; static create(...args: [...tags: string[], impls: Partial<LogImpls>] | string[]): Logger; } type Location = [file: string, line: number, name: string]; type LogArgs = [ll: LogLevel, tags: string[], runtime: LogRuntime, ...Location]; export type LogFilter = (ll: LogLevel, tags: string[], runtime: LogRuntime) => boolean; export type LogPrinter = (obj: unknown, hint: string | undefined, runtime: LogRuntime) => string; export type LogWriter = (lines: string[], ...args: LogArgs) => void; export type LogFormatter = (messages: string[], ...args: LogArgs) => string[]; export declare const DefaultLogFormatter: LogFormatter; export declare const DefaultLogWriter: LogWriter; export declare const DefaultLogFilterConfigs: { level: LogLevel; masks: Record<string, boolean>; }; export declare function parseLogLevel(l: number | string): LogLevel | undefined; export declare const DefaultLogFilter: LogFilter; export declare const DefaultLogPrinter: LogPrinter; export type LogImpls = typeof LoggerDefaults; export declare const LoggerDefaults: { filter: LogFilter; format: LogFormatter; inspect: LogPrinter; write: LogWriter; }; export type LogRuntime = typeof runtime; declare const runtime: { filter: LogFilter; format: LogFormatter; inspect: LogPrinter; write: LogWriter; LogLevel: typeof LogLevel; }; export {};