@nanocollective/nanocoder
Version:
A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter
43 lines • 2.24 kB
TypeScript
/**
* Shared factory function for creating log methods with specific levels
* Used across different logger implementations to reduce code duplication
*/
/**
* Factory function to create log method with specific level
* Returns overloaded function matching Logger interface
*
* @param logger - The underlying logger instance (Pino, console, etc.)
* @param level - The log level ('info', 'error', 'warn', etc.)
* @param options - Optional configuration for the log method
* @returns An overloaded log method that accepts both string-first and object-first signatures
*/
export declare function createLogMethod<T = any>(logger: T, level: string, options?: {
contextPrefix?: string;
consolePrefix?: string;
consoleMethod?: keyof Console;
transformArgs?: (args: unknown[], msg?: string) => unknown[];
transformResult?: (result: any) => void;
}): ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
/**
* Create a set of log methods for all standard levels
*
* @param logger - The underlying logger instance
* @param options - Optional configuration for all log methods
* @returns An object containing log methods for all standard levels
*/
export declare function createLogMethods<T = any>(logger: T, options?: {
contextPrefix?: string;
transformArgs?: (args: unknown[], level?: string, msg?: string) => unknown[];
transformResult?: (result: any, level?: string) => void;
consolePrefix?: string;
consoleMethod?: keyof Console;
}): {
fatal: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
error: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
warn: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
info: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
http: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
debug: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
trace: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
};
//# sourceMappingURL=log-method-factory.d.ts.map