/** * Minimal logger interface threaded through analysis functions. * * Separate from `diagnostics.ts` because logging and diagnostics are not the * same concern: diagnostics are structured, schema-validated records of * analysis-time failures; logs are unstructured progress/info messages the * caller chooses how to display. * * @module */ /** * Minimal logger interface for analysis functions. * * Intentionally narrow so that both `@fuzdev/fuz_util`'s `Logger` class and * Vite's built-in logger satisfy it without adapters or casts. * * @example * ```ts * // Stderr logger for CLI usage * const log: AnalysisLog = { * info: (msg) => console.error(msg), * warn: (msg) => console.error(`warning: ${msg}`), * error: (msg) => console.error(`error: ${msg}`), * }; * ``` */ export interface AnalysisLog { info: (msg: string) => void; warn: (msg: string) => void; error: (msg: string) => void; }
{ "path": "log.ts", "declarations": [ { "name": "AnalysisLog", "kind": "interface", "docComment": "Minimal logger interface for analysis functions.\n\nIntentionally narrow so that both `@fuzdev/fuz_util`'s `Logger` class and\nVite's built-in logger satisfy it without adapters or casts.", "typeSignature": "AnalysisLog", "sourceLine": 28, "examples": [ "```ts\n// Stderr logger for CLI usage\nconst log: AnalysisLog = {\n info: (msg) => console.error(msg),\n warn: (msg) => console.error(`warning: ${msg}`),\n error: (msg) => console.error(`error: ${msg}`),\n};\n```" ], "alsoExportedFrom": [ "index.ts" ], "members": [ { "name": "info", "kind": "variable", "typeSignature": "(msg: string) => void" }, { "name": "warn", "kind": "variable", "typeSignature": "(msg: string) => void" }, { "name": "error", "kind": "variable", "typeSignature": "(msg: string) => void" } ] } ], "moduleComment": "Minimal logger interface threaded through analysis functions.\n\nSeparate from `diagnostics.ts` because logging and diagnostics are not the\nsame concern: diagnostics are structured, schema-validated records of\nanalysis-time failures; logs are unstructured progress/info messages the\ncaller chooses how to display.", "dependents": [ "analyze-core.ts", "analyze.ts", "cli.ts", "discovery.ts", "session.ts", "typescript-program.ts", "vite.ts" ] }