functype-log 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{logLayerAdapter as e}from"../adapter/LogLayerAdapter.js";import{ConsoleTransport as t,LogLayer as n}from"loglayer";const r={log:(...e)=>console.error(...e),info:(...e)=>console.error(...e),debug:(...e)=>console.error(...e),trace:(...e)=>console.error(...e),warn:(...e)=>console.error(...e),error:(...e)=>console.error(...e)},i=e=>e?.console?e.console:e?.stream===`stderr`?r:console,a=r=>e(new n({transport:new t({logger:i(r)}),...r?.prefix?{prefix:r.prefix}:{}}));export{a as createConsoleLogger};
1
+ import{logLayerAdapter as e}from"../adapter/LogLayerAdapter.js";import{ConsoleTransport as t,LogLayer as n}from"loglayer";const r={log:(...e)=>console.error(...e),info:(...e)=>console.error(...e),debug:(...e)=>console.error(...e),trace:(...e)=>console.error(...e),warn:(...e)=>console.error(...e),error:(...e)=>console.error(...e)},i=e=>e?.console?e.console:e?.stream===`stderr`?r:console,a=r=>{let a=new n({transport:new t({logger:i(r)}),...r?.prefix?{prefix:r.prefix}:{}});return e(a)};export{a as createConsoleLogger};
2
2
  //# sourceMappingURL=ConsoleLogger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleLogger.js","names":[],"sources":["../../src/layers/ConsoleLogger.ts"],"sourcesContent":["import { ConsoleTransport, LogLayer } from \"loglayer\"\n\nimport { logLayerAdapter } from \"../adapter/LogLayerAdapter\"\nimport type { Logger, LogLevel } from \"../logger/Logger\"\n\n/**\n * Console sink shape expected by `loglayer`'s `ConsoleTransport`. Matches\n * the subset of the global `Console` interface the transport actually calls.\n */\ntype ConsoleSink = Pick<Console, \"log\" | \"info\" | \"debug\" | \"trace\" | \"warn\" | \"error\">\n\n/**\n * A console sink that routes EVERY level through `console.error` (stderr).\n *\n * Opt in via `stream: \"stderr\"`. Required for consumers where stdout is a\n * reserved data/protocol channel — most notably MCP-over-stdio, which uses\n * stdout exclusively for JSON-RPC. Also useful for CLI tools that emit\n * structured output on stdout.\n */\nconst stderrConsole: ConsoleSink = {\n log: (...args: unknown[]) => console.error(...args),\n info: (...args: unknown[]) => console.error(...args),\n debug: (...args: unknown[]) => console.error(...args),\n trace: (...args: unknown[]) => console.error(...args),\n warn: (...args: unknown[]) => console.error(...args),\n error: (...args: unknown[]) => console.error(...args),\n}\n\nexport type ConsoleLoggerOptions = {\n readonly level?: LogLevel\n readonly prefix?: string\n /**\n * Which standard stream console output is routed to.\n *\n * - `\"stdout\"` (default) — uses the global `console`. `info`/`debug` land\n * on stdout; `warn`/`error`/`trace` land on stderr (loglayer's per-level\n * routing). Matches the convention of every other Node logging library\n * (pino, winston, bunyan).\n * - `\"stderr\"` — routes ALL levels through `console.error` (stderr). Use\n * when stdout is a reserved data/protocol channel — most notably\n * MCP-over-stdio servers where stdout carries JSON-RPC and any other\n * bytes corrupt the protocol.\n */\n readonly stream?: \"stdout\" | \"stderr\"\n /**\n * Fully override the console sink. Takes precedence over `stream`. Use for\n * routing to a file stream, structured collector, or other custom sink.\n *\n * Only the methods called by loglayer's `ConsoleTransport` need to be\n * present (`log`/`info`/`debug`/`trace`/`warn`/`error`).\n */\n readonly console?: Partial<Console>\n}\n\nconst resolveSink = (options?: ConsoleLoggerOptions): Partial<Console> => {\n if (options?.console) return options.console\n if (options?.stream === \"stderr\") return stderrConsole\n return console\n}\n\nexport const createConsoleLogger = (options?: ConsoleLoggerOptions): Logger => {\n const logLayer = new LogLayer({\n transport: new ConsoleTransport({ logger: resolveSink(options) as Console }),\n ...(options?.prefix ? { prefix: options.prefix } : {}),\n })\n\n return logLayerAdapter(logLayer)\n}\n"],"mappings":"0HAmBA,MAAM,EAA6B,CACjC,KAAM,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EAClD,MAAO,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EACnD,OAAQ,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EACpD,OAAQ,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EACpD,MAAO,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EACnD,OAAQ,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,CACtD,EA4BM,EAAe,GACf,GAAS,QAAgB,EAAQ,QACjC,GAAS,SAAW,SAAiB,EAClC,QAGI,EAAuB,GAM3B,EAAgB,IALF,EAAS,CAC5B,UAAW,IAAI,EAAiB,CAAE,OAAQ,EAAY,CAAO,CAAa,CAAC,EAC3E,GAAI,GAAS,OAAS,CAAE,OAAQ,EAAQ,MAAO,EAAI,CAAC,CACtD,CAE8B,CAAC"}
1
+ {"version":3,"file":"ConsoleLogger.js","names":[],"sources":["../../src/layers/ConsoleLogger.ts"],"sourcesContent":["import { ConsoleTransport, LogLayer } from \"loglayer\"\n\nimport { logLayerAdapter } from \"../adapter/LogLayerAdapter\"\nimport type { Logger, LogLevel } from \"../logger/Logger\"\n\n/**\n * Console sink shape expected by `loglayer`'s `ConsoleTransport`. Matches\n * the subset of the global `Console` interface the transport actually calls.\n */\ntype ConsoleSink = Pick<Console, \"log\" | \"info\" | \"debug\" | \"trace\" | \"warn\" | \"error\">\n\n/**\n * A console sink that routes EVERY level through `console.error` (stderr).\n *\n * Opt in via `stream: \"stderr\"`. Required for consumers where stdout is a\n * reserved data/protocol channel — most notably MCP-over-stdio, which uses\n * stdout exclusively for JSON-RPC. Also useful for CLI tools that emit\n * structured output on stdout.\n */\nconst stderrConsole: ConsoleSink = {\n log: (...args: unknown[]) => console.error(...args),\n info: (...args: unknown[]) => console.error(...args),\n debug: (...args: unknown[]) => console.error(...args),\n trace: (...args: unknown[]) => console.error(...args),\n warn: (...args: unknown[]) => console.error(...args),\n error: (...args: unknown[]) => console.error(...args),\n}\n\nexport type ConsoleLoggerOptions = {\n readonly level?: LogLevel\n readonly prefix?: string\n /**\n * Which standard stream console output is routed to.\n *\n * - `\"stdout\"` (default) — uses the global `console`. `info`/`debug` land\n * on stdout; `warn`/`error`/`trace` land on stderr (loglayer's per-level\n * routing). Matches the convention of every other Node logging library\n * (pino, winston, bunyan).\n * - `\"stderr\"` — routes ALL levels through `console.error` (stderr). Use\n * when stdout is a reserved data/protocol channel — most notably\n * MCP-over-stdio servers where stdout carries JSON-RPC and any other\n * bytes corrupt the protocol.\n */\n readonly stream?: \"stdout\" | \"stderr\"\n /**\n * Fully override the console sink. Takes precedence over `stream`. Use for\n * routing to a file stream, structured collector, or other custom sink.\n *\n * Only the methods called by loglayer's `ConsoleTransport` need to be\n * present (`log`/`info`/`debug`/`trace`/`warn`/`error`).\n */\n readonly console?: Partial<Console>\n}\n\nconst resolveSink = (options?: ConsoleLoggerOptions): Partial<Console> => {\n if (options?.console) return options.console\n if (options?.stream === \"stderr\") return stderrConsole\n return console\n}\n\nexport const createConsoleLogger = (options?: ConsoleLoggerOptions): Logger => {\n const logLayer = new LogLayer({\n transport: new ConsoleTransport({ logger: resolveSink(options) as Console }),\n ...(options?.prefix ? { prefix: options.prefix } : {}),\n })\n\n return logLayerAdapter(logLayer)\n}\n"],"mappings":"0HAmBA,MAAM,EAA6B,CACjC,KAAM,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EAClD,MAAO,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EACnD,OAAQ,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EACpD,OAAQ,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EACpD,MAAO,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,EACnD,OAAQ,GAAG,IAAoB,QAAQ,MAAM,GAAG,CAAI,CACtD,EA4BM,EAAe,GACf,GAAS,QAAgB,EAAQ,QACjC,GAAS,SAAW,SAAiB,EAClC,QAGI,EAAuB,GAA2C,CAC7E,IAAM,EAAW,IAAI,EAAS,CAC5B,UAAW,IAAI,EAAiB,CAAE,OAAQ,EAAY,CAAO,CAAa,CAAC,EAC3E,GAAI,GAAS,OAAS,CAAE,OAAQ,EAAQ,MAAO,EAAI,CAAC,CACtD,CAAC,EAED,OAAO,EAAgB,CAAQ,CACjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functype-log",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "description": "IO-native logging for functype — wraps LogLayer with Tag/Layer DI, structured logging, and test utilities",
5
5
  "keywords": [
6
6
  "functype",
@@ -30,9 +30,9 @@
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^24.13.3",
33
- "ts-builds": "^3.2.3",
33
+ "ts-builds": "^3.4.1",
34
34
  "tsdown": "^0.22.14",
35
- "functype": "^1.7.0"
35
+ "functype": "^1.9.0"
36
36
  },
37
37
  "type": "module",
38
38
  "main": "./dist/index.js",