@logtape/adaptor-pino 1.0.0-dev.253 → 1.0.0-dev.258

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.
package/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logtape/adaptor-pino",
3
- "version": "1.0.0-dev.253+3fd9a841",
3
+ "version": "1.0.0-dev.258+b30f4857",
4
4
  "license": "MIT",
5
5
  "exports": "./mod.ts",
6
6
  "imports": {
package/dist/mod.cjs CHANGED
@@ -38,8 +38,8 @@
38
38
  * @returns A LogTape sink function that can be used in LogTape configuration.
39
39
  * @since 1.0.0
40
40
  */
41
- function getPinoSink(logger, options) {
42
- const categoryOptions = !options?.category ? void 0 : typeof options.category === "object" ? options.category : {};
41
+ function getPinoSink(logger, options = {}) {
42
+ const categoryOptions = !options.category ? void 0 : typeof options.category === "object" ? options.category : {};
43
43
  const category = categoryOptions == null ? void 0 : {
44
44
  separator: categoryOptions.separator ?? "·",
45
45
  position: categoryOptions.position ?? "start",
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.cts","names":[],"sources":["../mod.ts"],"sourcesContent":[],"mappings":";;;;;;;AAOA;AAcA;AAqEgB,UAnFC,eAAA,CAmFU;EAAA;;;;;;EAMpB,SAAA,QAAA,CAAA,EAAA,OAAA,GAlFyB,eAkFzB;;;;;;UA3EU,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqED,sFAIN,OAAO,cAAc,gCACnB,kBACT"}
1
+ {"version":3,"file":"mod.d.cts","names":[],"sources":["../mod.ts"],"sourcesContent":[],"mappings":";;;;;;;AAOA;AAcA;AAqEgB,UAnFC,eAAA,CAmFU;EAAA;;;;;;EAMpB,SAAA,QAAA,CAAA,EAAA,OAAA,GAlFyB,eAkFzB;;;;;;UA3EU,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqED,sFAIN,OAAO,cAAc,gCACpB,kBACR"}
package/dist/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","names":[],"sources":["../mod.ts"],"sourcesContent":[],"mappings":";;;;;;;AAOA;AAcA;AAqEgB,UAnFC,eAAA,CAmFU;EAAA;;;;;;EAMpB,SAAA,QAAA,CAAA,EAAA,OAAA,GAlFyB,eAkFzB;;;;;;UA3EU,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqED,sFAIN,OAAO,cAAc,gCACnB,kBACT"}
1
+ {"version":3,"file":"mod.d.ts","names":[],"sources":["../mod.ts"],"sourcesContent":[],"mappings":";;;;;;;AAOA;AAcA;AAqEgB,UAnFC,eAAA,CAmFU;EAAA;;;;;;EAMpB,SAAA,QAAA,CAAA,EAAA,OAAA,GAlFyB,eAkFzB;;;;;;UA3EU,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqED,sFAIN,OAAO,cAAc,gCACpB,kBACR"}
package/dist/mod.js CHANGED
@@ -37,8 +37,8 @@
37
37
  * @returns A LogTape sink function that can be used in LogTape configuration.
38
38
  * @since 1.0.0
39
39
  */
40
- function getPinoSink(logger, options) {
41
- const categoryOptions = !options?.category ? void 0 : typeof options.category === "object" ? options.category : {};
40
+ function getPinoSink(logger, options = {}) {
41
+ const categoryOptions = !options.category ? void 0 : typeof options.category === "object" ? options.category : {};
42
42
  const category = categoryOptions == null ? void 0 : {
43
43
  separator: categoryOptions.separator ?? "·",
44
44
  position: categoryOptions.position ?? "start",
package/dist/mod.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","names":["logger: Logger<CustomLevels, UseOnlyCustomLevels>","options?: PinoSinkOptions","category: Required<CategoryOptions> | undefined","record: LogRecord","interpolationValues: unknown[]"],"sources":["../mod.ts"],"sourcesContent":["import type { Logger } from \"pino\";\nimport type { LogRecord, Sink } from \"@logtape/logtape\";\n\n/**\n * Options for configuring the Pino sink adapter.\n * @since 1.0.0\n */\nexport interface PinoSinkOptions {\n /**\n * Configuration for how LogTape categories are handled in Pino logs.\n * - `false` or `undefined`: Categories are not included in the log message\n * - `true`: Categories are included with default formatting\n * - `CategoryOptions`: Custom category formatting configuration\n */\n readonly category?: boolean | CategoryOptions;\n}\n\n/**\n * Configuration options for formatting LogTape categories in Pino log messages.\n * @since 1.0.0\n */\nexport interface CategoryOptions {\n /**\n * The separator used to join category parts when multiple categories exist.\n * @default \"·\"\n */\n readonly separator?: string;\n\n /**\n * Where to position the category in the log message.\n * - `\"start\"`: Category appears at the beginning of the message\n * - `\"end\"`: Category appears at the end of the message\n * @default \"start\"\n */\n readonly position?: \"start\" | \"end\";\n\n /**\n * The decorator used to format the category in the log message.\n * - `\"[]\"`: [category] format\n * - `\"()\"`: (category) format\n * - `\"<>\"`: <category> format\n * - `\"{}\"`: {category} format\n * - `\":\"`: category: format\n * - `\"-\"`: category - format\n * - `\"|\"`: category | format\n * - `\"/\"`: category / format\n * - `\"\"`: category format (no decoration)\n * @default \":\"\n */\n readonly decorator?: \"[]\" | \"()\" | \"<>\" | \"{}\" | \":\" | \"-\" | \"|\" | \"/\" | \"\";\n}\n\n/**\n * Creates a LogTape sink that forwards log records to a Pino logger.\n *\n * This adapter allows LogTape-enabled libraries to integrate seamlessly with\n * applications that use Pino for logging.\n *\n * @example\n * ```typescript\n * import { configure } from \"@logtape/logtape\";\n * import { getPinoSink } from \"@logtape/adaptor-pino\";\n * import pino from \"pino\";\n *\n * const pinoLogger = pino();\n *\n * await configure({\n * sinks: {\n * pino: getPinoSink(pinoLogger, {\n * category: {\n * position: \"start\",\n * decorator: \"[]\",\n * separator: \".\"\n * }\n * })\n * },\n * loggers: [\n * { category: \"my-library\", sinks: [\"pino\"] }\n * ]\n * });\n * ```\n *\n * @typeParam CustomLevels The custom log levels supported by the Pino logger.\n * @typeParam UseOnlyCustomLevels Whether to use only custom levels defined\n * in the Pino logger.\n * @param logger The Pino logger instance to forward logs to.\n * @param options Configuration options for the sink adapter.\n * @returns A LogTape sink function that can be used in LogTape configuration.\n * @since 1.0.0\n */\nexport function getPinoSink<\n CustomLevels extends string,\n UseOnlyCustomLevels extends boolean,\n>(\n logger: Logger<CustomLevels, UseOnlyCustomLevels>,\n options?: PinoSinkOptions,\n): Sink {\n const categoryOptions = !options?.category\n ? undefined\n : typeof options.category === \"object\"\n ? options.category\n : {};\n const category: Required<CategoryOptions> | undefined =\n categoryOptions == null ? undefined : {\n separator: categoryOptions.separator ?? \"·\",\n position: categoryOptions.position ?? \"start\",\n decorator: categoryOptions.decorator ?? \":\",\n };\n return (record: LogRecord) => {\n let message = \"\";\n const interpolationValues: unknown[] = [];\n if (category?.position === \"start\" && record.category.length > 0) {\n message += category.decorator === \"[]\"\n ? \"[%s] \"\n : category.decorator === \"()\"\n ? \"(%s) \"\n : category.decorator === \"<>\"\n ? \"<%s> \"\n : category.decorator === \"{}\"\n ? \"{%s} \"\n : category.decorator === \":\"\n ? \"%s: \"\n : category.decorator === \"-\"\n ? \"%s - \"\n : category.decorator === \"|\"\n ? \"%s | \"\n : category.decorator === \"/\"\n ? \"%s / \"\n : \"%s \";\n interpolationValues.push(\n record.category.join(category.separator),\n );\n }\n for (let i = 0; i < record.message.length; i += 2) {\n message += record.message[i];\n if (i + 1 < record.message.length) {\n message += \"%o\";\n interpolationValues.push(record.message[i + 1]);\n }\n }\n if (category?.position === \"end\" && record.category.length > 0) {\n message += category.decorator === \"[]\"\n ? \" [%s]\"\n : category.decorator === \"()\"\n ? \" (%s)\"\n : category.decorator === \"<>\"\n ? \" <%s>\"\n : category.decorator === \"{}\"\n ? \" {%s}\"\n : category.decorator === \":\"\n ? \": %s\"\n : category.decorator === \"-\"\n ? \" - %s\"\n : category.decorator === \"|\"\n ? \" | %s\"\n : category.decorator === \"/\"\n ? \" / %s\"\n : \" %s\";\n interpolationValues.push(\n record.category.join(category.separator),\n );\n }\n switch (record.level) {\n case \"trace\":\n return logger.trace(record.properties, message, interpolationValues);\n case \"debug\":\n return logger.debug(record.properties, message, interpolationValues);\n case \"info\":\n return logger.info(record.properties, message, interpolationValues);\n case \"warning\":\n return logger.warn(record.properties, message, interpolationValues);\n case \"error\":\n return logger.error(record.properties, message, interpolationValues);\n case \"fatal\":\n return logger.fatal(record.properties, message, interpolationValues);\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0FA,SAAgB,YAIdA,QACAC,SACM;CACN,MAAM,mBAAmB,SAAS,2BAEvB,QAAQ,aAAa,WAC5B,QAAQ,WACR,CAAE;CACN,MAAMC,WACJ,mBAAmB,gBAAmB;EACpC,WAAW,gBAAgB,aAAa;EACxC,UAAU,gBAAgB,YAAY;EACtC,WAAW,gBAAgB,aAAa;CACzC;AACH,QAAO,CAACC,WAAsB;EAC5B,IAAI,UAAU;EACd,MAAMC,sBAAiC,CAAE;AACzC,MAAI,UAAU,aAAa,WAAW,OAAO,SAAS,SAAS,GAAG;AAChE,cAAW,SAAS,cAAc,OAC9B,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,MACvB,SACA,SAAS,cAAc,MACvB,UACA,SAAS,cAAc,MACvB,UACA,SAAS,cAAc,MACvB,UACA;AACJ,uBAAoB,KAClB,OAAO,SAAS,KAAK,SAAS,UAAU,CACzC;EACF;AACD,OAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,QAAQ,KAAK,GAAG;AACjD,cAAW,OAAO,QAAQ;AAC1B,OAAI,IAAI,IAAI,OAAO,QAAQ,QAAQ;AACjC,eAAW;AACX,wBAAoB,KAAK,OAAO,QAAQ,IAAI,GAAG;GAChD;EACF;AACD,MAAI,UAAU,aAAa,SAAS,OAAO,SAAS,SAAS,GAAG;AAC9D,cAAW,SAAS,cAAc,OAC9B,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,MACvB,SACA,SAAS,cAAc,MACvB,UACA,SAAS,cAAc,MACvB,UACA,SAAS,cAAc,MACvB,UACA;AACJ,uBAAoB,KAClB,OAAO,SAAS,KAAK,SAAS,UAAU,CACzC;EACF;AACD,UAAQ,OAAO,OAAf;GACE,KAAK,QACH,QAAO,OAAO,MAAM,OAAO,YAAY,SAAS,oBAAoB;GACtE,KAAK,QACH,QAAO,OAAO,MAAM,OAAO,YAAY,SAAS,oBAAoB;GACtE,KAAK,OACH,QAAO,OAAO,KAAK,OAAO,YAAY,SAAS,oBAAoB;GACrE,KAAK,UACH,QAAO,OAAO,KAAK,OAAO,YAAY,SAAS,oBAAoB;GACrE,KAAK,QACH,QAAO,OAAO,MAAM,OAAO,YAAY,SAAS,oBAAoB;GACtE,KAAK,QACH,QAAO,OAAO,MAAM,OAAO,YAAY,SAAS,oBAAoB;EACvE;CACF;AACF"}
1
+ {"version":3,"file":"mod.js","names":["logger: Logger<CustomLevels, UseOnlyCustomLevels>","options: PinoSinkOptions","category: Required<CategoryOptions> | undefined","record: LogRecord","interpolationValues: unknown[]"],"sources":["../mod.ts"],"sourcesContent":["import type { Logger } from \"pino\";\nimport type { LogRecord, Sink } from \"@logtape/logtape\";\n\n/**\n * Options for configuring the Pino sink adapter.\n * @since 1.0.0\n */\nexport interface PinoSinkOptions {\n /**\n * Configuration for how LogTape categories are handled in Pino logs.\n * - `false` or `undefined`: Categories are not included in the log message\n * - `true`: Categories are included with default formatting\n * - `CategoryOptions`: Custom category formatting configuration\n */\n readonly category?: boolean | CategoryOptions;\n}\n\n/**\n * Configuration options for formatting LogTape categories in Pino log messages.\n * @since 1.0.0\n */\nexport interface CategoryOptions {\n /**\n * The separator used to join category parts when multiple categories exist.\n * @default \"·\"\n */\n readonly separator?: string;\n\n /**\n * Where to position the category in the log message.\n * - `\"start\"`: Category appears at the beginning of the message\n * - `\"end\"`: Category appears at the end of the message\n * @default \"start\"\n */\n readonly position?: \"start\" | \"end\";\n\n /**\n * The decorator used to format the category in the log message.\n * - `\"[]\"`: [category] format\n * - `\"()\"`: (category) format\n * - `\"<>\"`: <category> format\n * - `\"{}\"`: {category} format\n * - `\":\"`: category: format\n * - `\"-\"`: category - format\n * - `\"|\"`: category | format\n * - `\"/\"`: category / format\n * - `\"\"`: category format (no decoration)\n * @default \":\"\n */\n readonly decorator?: \"[]\" | \"()\" | \"<>\" | \"{}\" | \":\" | \"-\" | \"|\" | \"/\" | \"\";\n}\n\n/**\n * Creates a LogTape sink that forwards log records to a Pino logger.\n *\n * This adapter allows LogTape-enabled libraries to integrate seamlessly with\n * applications that use Pino for logging.\n *\n * @example\n * ```typescript\n * import { configure } from \"@logtape/logtape\";\n * import { getPinoSink } from \"@logtape/adaptor-pino\";\n * import pino from \"pino\";\n *\n * const pinoLogger = pino();\n *\n * await configure({\n * sinks: {\n * pino: getPinoSink(pinoLogger, {\n * category: {\n * position: \"start\",\n * decorator: \"[]\",\n * separator: \".\"\n * }\n * })\n * },\n * loggers: [\n * { category: \"my-library\", sinks: [\"pino\"] }\n * ]\n * });\n * ```\n *\n * @typeParam CustomLevels The custom log levels supported by the Pino logger.\n * @typeParam UseOnlyCustomLevels Whether to use only custom levels defined\n * in the Pino logger.\n * @param logger The Pino logger instance to forward logs to.\n * @param options Configuration options for the sink adapter.\n * @returns A LogTape sink function that can be used in LogTape configuration.\n * @since 1.0.0\n */\nexport function getPinoSink<\n CustomLevels extends string,\n UseOnlyCustomLevels extends boolean,\n>(\n logger: Logger<CustomLevels, UseOnlyCustomLevels>,\n options: PinoSinkOptions = {},\n): Sink {\n const categoryOptions = !options.category\n ? undefined\n : typeof options.category === \"object\"\n ? options.category\n : {};\n const category: Required<CategoryOptions> | undefined =\n categoryOptions == null ? undefined : {\n separator: categoryOptions.separator ?? \"·\",\n position: categoryOptions.position ?? \"start\",\n decorator: categoryOptions.decorator ?? \":\",\n };\n return (record: LogRecord) => {\n let message = \"\";\n const interpolationValues: unknown[] = [];\n if (category?.position === \"start\" && record.category.length > 0) {\n message += category.decorator === \"[]\"\n ? \"[%s] \"\n : category.decorator === \"()\"\n ? \"(%s) \"\n : category.decorator === \"<>\"\n ? \"<%s> \"\n : category.decorator === \"{}\"\n ? \"{%s} \"\n : category.decorator === \":\"\n ? \"%s: \"\n : category.decorator === \"-\"\n ? \"%s - \"\n : category.decorator === \"|\"\n ? \"%s | \"\n : category.decorator === \"/\"\n ? \"%s / \"\n : \"%s \";\n interpolationValues.push(\n record.category.join(category.separator),\n );\n }\n for (let i = 0; i < record.message.length; i += 2) {\n message += record.message[i];\n if (i + 1 < record.message.length) {\n message += \"%o\";\n interpolationValues.push(record.message[i + 1]);\n }\n }\n if (category?.position === \"end\" && record.category.length > 0) {\n message += category.decorator === \"[]\"\n ? \" [%s]\"\n : category.decorator === \"()\"\n ? \" (%s)\"\n : category.decorator === \"<>\"\n ? \" <%s>\"\n : category.decorator === \"{}\"\n ? \" {%s}\"\n : category.decorator === \":\"\n ? \": %s\"\n : category.decorator === \"-\"\n ? \" - %s\"\n : category.decorator === \"|\"\n ? \" | %s\"\n : category.decorator === \"/\"\n ? \" / %s\"\n : \" %s\";\n interpolationValues.push(\n record.category.join(category.separator),\n );\n }\n switch (record.level) {\n case \"trace\":\n return logger.trace(record.properties, message, interpolationValues);\n case \"debug\":\n return logger.debug(record.properties, message, interpolationValues);\n case \"info\":\n return logger.info(record.properties, message, interpolationValues);\n case \"warning\":\n return logger.warn(record.properties, message, interpolationValues);\n case \"error\":\n return logger.error(record.properties, message, interpolationValues);\n case \"fatal\":\n return logger.fatal(record.properties, message, interpolationValues);\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0FA,SAAgB,YAIdA,QACAC,UAA2B,CAAE,GACvB;CACN,MAAM,mBAAmB,QAAQ,2BAEtB,QAAQ,aAAa,WAC5B,QAAQ,WACR,CAAE;CACN,MAAMC,WACJ,mBAAmB,gBAAmB;EACpC,WAAW,gBAAgB,aAAa;EACxC,UAAU,gBAAgB,YAAY;EACtC,WAAW,gBAAgB,aAAa;CACzC;AACH,QAAO,CAACC,WAAsB;EAC5B,IAAI,UAAU;EACd,MAAMC,sBAAiC,CAAE;AACzC,MAAI,UAAU,aAAa,WAAW,OAAO,SAAS,SAAS,GAAG;AAChE,cAAW,SAAS,cAAc,OAC9B,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,MACvB,SACA,SAAS,cAAc,MACvB,UACA,SAAS,cAAc,MACvB,UACA,SAAS,cAAc,MACvB,UACA;AACJ,uBAAoB,KAClB,OAAO,SAAS,KAAK,SAAS,UAAU,CACzC;EACF;AACD,OAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,QAAQ,KAAK,GAAG;AACjD,cAAW,OAAO,QAAQ;AAC1B,OAAI,IAAI,IAAI,OAAO,QAAQ,QAAQ;AACjC,eAAW;AACX,wBAAoB,KAAK,OAAO,QAAQ,IAAI,GAAG;GAChD;EACF;AACD,MAAI,UAAU,aAAa,SAAS,OAAO,SAAS,SAAS,GAAG;AAC9D,cAAW,SAAS,cAAc,OAC9B,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,OACvB,UACA,SAAS,cAAc,MACvB,SACA,SAAS,cAAc,MACvB,UACA,SAAS,cAAc,MACvB,UACA,SAAS,cAAc,MACvB,UACA;AACJ,uBAAoB,KAClB,OAAO,SAAS,KAAK,SAAS,UAAU,CACzC;EACF;AACD,UAAQ,OAAO,OAAf;GACE,KAAK,QACH,QAAO,OAAO,MAAM,OAAO,YAAY,SAAS,oBAAoB;GACtE,KAAK,QACH,QAAO,OAAO,MAAM,OAAO,YAAY,SAAS,oBAAoB;GACtE,KAAK,OACH,QAAO,OAAO,KAAK,OAAO,YAAY,SAAS,oBAAoB;GACrE,KAAK,UACH,QAAO,OAAO,KAAK,OAAO,YAAY,SAAS,oBAAoB;GACrE,KAAK,QACH,QAAO,OAAO,MAAM,OAAO,YAAY,SAAS,oBAAoB;GACtE,KAAK,QACH,QAAO,OAAO,MAAM,OAAO,YAAY,SAAS,oBAAoB;EACvE;CACF;AACF"}
package/mod.ts CHANGED
@@ -93,9 +93,9 @@ export function getPinoSink<
93
93
  UseOnlyCustomLevels extends boolean,
94
94
  >(
95
95
  logger: Logger<CustomLevels, UseOnlyCustomLevels>,
96
- options?: PinoSinkOptions,
96
+ options: PinoSinkOptions = {},
97
97
  ): Sink {
98
- const categoryOptions = !options?.category
98
+ const categoryOptions = !options.category
99
99
  ? undefined
100
100
  : typeof options.category === "object"
101
101
  ? options.category
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logtape/adaptor-pino",
3
- "version": "1.0.0-dev.253+3fd9a841",
3
+ "version": "1.0.0-dev.258+b30f4857",
4
4
  "description": "Pino adapter for LogTape logging library",
5
5
  "keywords": [
6
6
  "logging",
@@ -47,7 +47,7 @@
47
47
  "sideEffects": false,
48
48
  "peerDependencies": {
49
49
  "pino": "^9.7.0",
50
- "@logtape/logtape": "1.0.0-dev.253+3fd9a841"
50
+ "@logtape/logtape": "1.0.0-dev.258+b30f4857"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@alinea/suite": "^0.6.3",