diff --git a/packages/nightingale-ansi-formatter/dist/index-browser-dev.cjs.js b/packages/nightingale-ansi-formatter/dist/index-browser-dev.cjs.js index 1086d4aa1..c9ef4ce54 100644 --- a/packages/nightingale-ansi-formatter/dist/index-browser-dev.cjs.js +++ b/packages/nightingale-ansi-formatter/dist/index-browser-dev.cjs.js @@ -45,14 +45,14 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce(function (string, styleName) { - var style = ansiStyles[styleName]; + return styles.reduce(function (styledString, styleName) { + var codePair = ansiStyles[styleName]; - if (!style) { + if (!codePair) { throw new Error(`Unknown style: ${styleName}`); } - return style.open + string + style.close; + return codePair.open + styledString + codePair.close; }, string); } /** diff --git a/packages/nightingale-ansi-formatter/dist/index-browser-dev.cjs.js.map b/packages/nightingale-ansi-formatter/dist/index-browser-dev.cjs.js.map index 4063aabf9..fb5c0ed4a 100644 --- a/packages/nightingale-ansi-formatter/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale-ansi-formatter/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles };\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string: string, styleName: string) => {\n const style: CodePair | undefined = ansiStyles[styleName];\n\n if (!style) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return style.open + string + style.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styleName","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;;;;;;;;;AAaA,IAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,aAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,aAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,aAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,aAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,aAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,aAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,aAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,aAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,aAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,aAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,aAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,aAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,aAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,aAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,aAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,aAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,aAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,aAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,aAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACF,MAAD,EAAiBG,SAAjB,EAAuC;AAC1D,QAAML,KAA2B,GAAG5B,UAAU,CAACiC,SAAD,CAA9C;;AAEA,QAAI,CAACL,KAAL,EAAY;AACV,YAAM,IAAIM,KAAJ,CAAW,kBAAiBD,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOL,KAAK,CAACN,IAAN,GAAaQ,MAAb,GAAsBF,KAAK,CAACD,KAAnC;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASK,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles } from 'nightingale-types';\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((styledString: string, styleName: string) => {\n const codePair: CodePair | undefined = ansiStyles[styleName];\n\n if (!codePair) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return codePair.open + styledString + codePair.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styledString","styleName","codePair","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;;;;;;;;;AAaA,IAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,aAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,aAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,aAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,aAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,aAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,aAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,aAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,aAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,aAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,aAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,aAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,aAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,aAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,aAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,aAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,aAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,aAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,aAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,aAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACC,YAAD,EAAuBC,SAAvB,EAA6C;AAChE,QAAMC,QAA8B,GAAGnC,UAAU,CAACkC,SAAD,CAAjD;;AAEA,QAAI,CAACC,QAAL,EAAe;AACb,YAAM,IAAIC,KAAJ,CAAW,kBAAiBF,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOC,QAAQ,CAACb,IAAT,GAAgBW,YAAhB,GAA+BE,QAAQ,CAACR,KAA/C;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASO,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASV,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-ansi-formatter/dist/index-browser-dev.es.js b/packages/nightingale-ansi-formatter/dist/index-browser-dev.es.js index 067aaf2da..45b8d752c 100644 --- a/packages/nightingale-ansi-formatter/dist/index-browser-dev.es.js +++ b/packages/nightingale-ansi-formatter/dist/index-browser-dev.es.js @@ -37,14 +37,14 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce(function (string, styleName) { - var style = ansiStyles[styleName]; + return styles.reduce(function (styledString, styleName) { + var codePair = ansiStyles[styleName]; - if (!style) { + if (!codePair) { throw new Error(`Unknown style: ${styleName}`); } - return style.open + string + style.close; + return codePair.open + styledString + codePair.close; }, string); } /** diff --git a/packages/nightingale-ansi-formatter/dist/index-browser-dev.es.js.map b/packages/nightingale-ansi-formatter/dist/index-browser-dev.es.js.map index 737c00981..6965ee593 100644 --- a/packages/nightingale-ansi-formatter/dist/index-browser-dev.es.js.map +++ b/packages/nightingale-ansi-formatter/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles };\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string: string, styleName: string) => {\n const style: CodePair | undefined = ansiStyles[styleName];\n\n if (!style) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return style.open + string + style.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styleName","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;AAaA,IAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,IAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,IAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,IAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,IAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,IAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,IAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,IAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,IAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,IAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,IAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,IAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,IAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,IAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,IAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,IAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,IAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,IAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,IAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,IAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACF,MAAD,EAAiBG,SAAjB,EAAuC;AAC1D,QAAML,KAA2B,GAAG5B,UAAU,CAACiC,SAAD,CAA9C;;AAEA,QAAI,CAACL,KAAL,EAAY;AACV,YAAM,IAAIM,KAAJ,CAAW,kBAAiBD,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOL,KAAK,CAACN,IAAN,GAAaQ,MAAb,GAAsBF,KAAK,CAACD,KAAnC;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASK,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles } from 'nightingale-types';\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((styledString: string, styleName: string) => {\n const codePair: CodePair | undefined = ansiStyles[styleName];\n\n if (!codePair) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return codePair.open + styledString + codePair.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styledString","styleName","codePair","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;AAaA,IAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,IAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,IAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,IAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,IAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,IAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,IAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,IAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,IAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,IAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,IAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,IAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,IAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,IAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,IAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,IAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,IAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,IAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,IAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,IAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACC,YAAD,EAAuBC,SAAvB,EAA6C;AAChE,QAAMC,QAA8B,GAAGnC,UAAU,CAACkC,SAAD,CAAjD;;AAEA,QAAI,CAACC,QAAL,EAAe;AACb,YAAM,IAAIC,KAAJ,CAAW,kBAAiBF,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOC,QAAQ,CAACb,IAAT,GAAgBW,YAAhB,GAA+BE,QAAQ,CAACR,KAA/C;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASO,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASV,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-ansi-formatter/dist/index-browser.cjs.js b/packages/nightingale-ansi-formatter/dist/index-browser.cjs.js index 1663968b2..64b8fef52 100644 --- a/packages/nightingale-ansi-formatter/dist/index-browser.cjs.js +++ b/packages/nightingale-ansi-formatter/dist/index-browser.cjs.js @@ -45,14 +45,14 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce(function (string, styleName) { - var style = ansiStyles[styleName]; + return styles.reduce(function (styledString, styleName) { + var codePair = ansiStyles[styleName]; - if (!style) { + if (!codePair) { throw new Error(`Unknown style: ${styleName}`); } - return style.open + string + style.close; + return codePair.open + styledString + codePair.close; }, string); } /** diff --git a/packages/nightingale-ansi-formatter/dist/index-browser.cjs.js.map b/packages/nightingale-ansi-formatter/dist/index-browser.cjs.js.map index af7c49cab..385e14656 100644 --- a/packages/nightingale-ansi-formatter/dist/index-browser.cjs.js.map +++ b/packages/nightingale-ansi-formatter/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles };\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string: string, styleName: string) => {\n const style: CodePair | undefined = ansiStyles[styleName];\n\n if (!style) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return style.open + string + style.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styleName","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;;;;;;;;;AAaA,IAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,aAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,aAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,aAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,aAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,aAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,aAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,aAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,aAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,aAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,aAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,aAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,aAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,aAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,aAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,aAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,aAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,aAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,aAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,aAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACF,MAAD,EAAiBG,SAAjB,EAAuC;AAC1D,QAAML,KAA2B,GAAG5B,UAAU,CAACiC,SAAD,CAA9C;;AAEA,QAAI,CAACL,KAAL,EAAY;AACV,YAAM,IAAIM,KAAJ,CAAW,kBAAiBD,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOL,KAAK,CAACN,IAAN,GAAaQ,MAAb,GAAsBF,KAAK,CAACD,KAAnC;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASK,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles } from 'nightingale-types';\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((styledString: string, styleName: string) => {\n const codePair: CodePair | undefined = ansiStyles[styleName];\n\n if (!codePair) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return codePair.open + styledString + codePair.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styledString","styleName","codePair","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;;;;;;;;;AAaA,IAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,aAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,aAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,aAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,aAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,aAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,aAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,aAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,aAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,aAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,aAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,aAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,aAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,aAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,aAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,aAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,aAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,aAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,aAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,aAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACC,YAAD,EAAuBC,SAAvB,EAA6C;AAChE,QAAMC,QAA8B,GAAGnC,UAAU,CAACkC,SAAD,CAAjD;;AAEA,QAAI,CAACC,QAAL,EAAe;AACb,YAAM,IAAIC,KAAJ,CAAW,kBAAiBF,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOC,QAAQ,CAACb,IAAT,GAAgBW,YAAhB,GAA+BE,QAAQ,CAACR,KAA/C;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASO,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASV,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-ansi-formatter/dist/index-browser.es.js b/packages/nightingale-ansi-formatter/dist/index-browser.es.js index 32d0fe3fa..dccd26470 100644 --- a/packages/nightingale-ansi-formatter/dist/index-browser.es.js +++ b/packages/nightingale-ansi-formatter/dist/index-browser.es.js @@ -37,14 +37,14 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce(function (string, styleName) { - var style = ansiStyles[styleName]; + return styles.reduce(function (styledString, styleName) { + var codePair = ansiStyles[styleName]; - if (!style) { + if (!codePair) { throw new Error(`Unknown style: ${styleName}`); } - return style.open + string + style.close; + return codePair.open + styledString + codePair.close; }, string); } /** diff --git a/packages/nightingale-ansi-formatter/dist/index-browser.es.js.map b/packages/nightingale-ansi-formatter/dist/index-browser.es.js.map index 0538b5890..e5228a7e0 100644 --- a/packages/nightingale-ansi-formatter/dist/index-browser.es.js.map +++ b/packages/nightingale-ansi-formatter/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles };\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string: string, styleName: string) => {\n const style: CodePair | undefined = ansiStyles[styleName];\n\n if (!style) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return style.open + string + style.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styleName","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;AAaA,IAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,IAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,IAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,IAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,IAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,IAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,IAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,IAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,IAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,IAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,IAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,IAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,IAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,IAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,IAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,IAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,IAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,IAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,IAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,IAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACF,MAAD,EAAiBG,SAAjB,EAAuC;AAC1D,QAAML,KAA2B,GAAG5B,UAAU,CAACiC,SAAD,CAA9C;;AAEA,QAAI,CAACL,KAAL,EAAY;AACV,YAAM,IAAIM,KAAJ,CAAW,kBAAiBD,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOL,KAAK,CAACN,IAAN,GAAaQ,MAAb,GAAsBF,KAAK,CAACD,KAAnC;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASK,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles } from 'nightingale-types';\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((styledString: string, styleName: string) => {\n const codePair: CodePair | undefined = ansiStyles[styleName];\n\n if (!codePair) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return codePair.open + styledString + codePair.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styledString","styleName","codePair","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;AAaA,IAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,IAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,IAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,IAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,IAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,IAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,IAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,IAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,IAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,IAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,IAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,IAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,IAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,IAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,IAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,IAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,IAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,IAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,IAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,IAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACC,YAAD,EAAuBC,SAAvB,EAA6C;AAChE,QAAMC,QAA8B,GAAGnC,UAAU,CAACkC,SAAD,CAAjD;;AAEA,QAAI,CAACC,QAAL,EAAe;AACb,YAAM,IAAIC,KAAJ,CAAW,kBAAiBF,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOC,QAAQ,CAACb,IAAT,GAAgBW,YAAhB,GAA+BE,QAAQ,CAACR,KAA/C;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASO,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASV,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-ansi-formatter/dist/index-node12-dev.cjs.js b/packages/nightingale-ansi-formatter/dist/index-node12-dev.cjs.js index 725d1ddbc..116dce9eb 100644 --- a/packages/nightingale-ansi-formatter/dist/index-node12-dev.cjs.js +++ b/packages/nightingale-ansi-formatter/dist/index-node12-dev.cjs.js @@ -45,14 +45,14 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { - const style = ansiStyles[styleName]; + return styles.reduce((styledString, styleName) => { + const codePair = ansiStyles[styleName]; - if (!style) { + if (!codePair) { throw new Error(`Unknown style: ${styleName}`); } - return style.open + string + style.close; + return codePair.open + styledString + codePair.close; }, string); } /** diff --git a/packages/nightingale-ansi-formatter/dist/index-node12-dev.cjs.js.map b/packages/nightingale-ansi-formatter/dist/index-node12-dev.cjs.js.map index 5d3cd6924..7600099d8 100644 --- a/packages/nightingale-ansi-formatter/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale-ansi-formatter/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles };\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string: string, styleName: string) => {\n const style: CodePair | undefined = ansiStyles[styleName];\n\n if (!style) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return style.open + string + style.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styleName","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;;;;;;;;;AAaA,MAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,aAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,aAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,aAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,aAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,aAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,aAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,aAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,aAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,aAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,aAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,aAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,aAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,aAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,aAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,aAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,aAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,aAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,aAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,aAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAAiBG,SAAjB,KAAuC;AAC1D,UAAML,KAA2B,GAAG5B,UAAU,CAACiC,SAAD,CAA9C;;AAEA,QAAI,CAACL,KAAL,EAAY;AACV,YAAM,IAAIM,KAAJ,CAAW,kBAAiBD,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOL,KAAK,CAACN,IAAN,GAAaQ,MAAb,GAAsBF,KAAK,CAACD,KAAnC;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASK,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles } from 'nightingale-types';\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((styledString: string, styleName: string) => {\n const codePair: CodePair | undefined = ansiStyles[styleName];\n\n if (!codePair) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return codePair.open + styledString + codePair.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styledString","styleName","codePair","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;;;;;;;;;AAaA,MAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,aAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,aAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,aAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,aAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,aAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,aAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,aAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,aAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,aAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,aAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,aAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,aAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,aAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,aAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,aAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,aAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,aAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,aAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,aAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,YAAD,EAAuBC,SAAvB,KAA6C;AAChE,UAAMC,QAA8B,GAAGnC,UAAU,CAACkC,SAAD,CAAjD;;AAEA,QAAI,CAACC,QAAL,EAAe;AACb,YAAM,IAAIC,KAAJ,CAAW,kBAAiBF,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOC,QAAQ,CAACb,IAAT,GAAgBW,YAAhB,GAA+BE,QAAQ,CAACR,KAA/C;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASO,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASV,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-ansi-formatter/dist/index-node12-dev.mjs b/packages/nightingale-ansi-formatter/dist/index-node12-dev.mjs index 541202440..e8339acb8 100644 --- a/packages/nightingale-ansi-formatter/dist/index-node12-dev.mjs +++ b/packages/nightingale-ansi-formatter/dist/index-node12-dev.mjs @@ -37,14 +37,14 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { - const style = ansiStyles[styleName]; + return styles.reduce((styledString, styleName) => { + const codePair = ansiStyles[styleName]; - if (!style) { + if (!codePair) { throw new Error(`Unknown style: ${styleName}`); } - return style.open + string + style.close; + return codePair.open + styledString + codePair.close; }, string); } /** diff --git a/packages/nightingale-ansi-formatter/dist/index-node12-dev.mjs.map b/packages/nightingale-ansi-formatter/dist/index-node12-dev.mjs.map index 5bb60b9cb..b06347410 100644 --- a/packages/nightingale-ansi-formatter/dist/index-node12-dev.mjs.map +++ b/packages/nightingale-ansi-formatter/dist/index-node12-dev.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles };\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string: string, styleName: string) => {\n const style: CodePair | undefined = ansiStyles[styleName];\n\n if (!style) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return style.open + string + style.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styleName","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;AAaA,MAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,IAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,IAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,IAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,IAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,IAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,IAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,IAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,IAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,IAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,IAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,IAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,IAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,IAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,IAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,IAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,IAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,IAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,IAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,IAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAAiBG,SAAjB,KAAuC;AAC1D,UAAML,KAA2B,GAAG5B,UAAU,CAACiC,SAAD,CAA9C;;AAEA,QAAI,CAACL,KAAL,EAAY;AACV,YAAM,IAAIM,KAAJ,CAAW,kBAAiBD,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOL,KAAK,CAACN,IAAN,GAAaQ,MAAb,GAAsBF,KAAK,CAACD,KAAnC;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASK,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles } from 'nightingale-types';\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((styledString: string, styleName: string) => {\n const codePair: CodePair | undefined = ansiStyles[styleName];\n\n if (!codePair) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return codePair.open + styledString + codePair.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styledString","styleName","codePair","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;AAaA,MAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,IAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,IAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,IAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,IAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,IAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,IAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,IAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,IAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,IAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,IAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,IAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,IAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,IAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,IAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,IAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,IAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,IAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,IAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,IAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,YAAD,EAAuBC,SAAvB,KAA6C;AAChE,UAAMC,QAA8B,GAAGnC,UAAU,CAACkC,SAAD,CAAjD;;AAEA,QAAI,CAACC,QAAL,EAAe;AACb,YAAM,IAAIC,KAAJ,CAAW,kBAAiBF,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOC,QAAQ,CAACb,IAAT,GAAgBW,YAAhB,GAA+BE,QAAQ,CAACR,KAA/C;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASO,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASV,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-ansi-formatter/dist/index-node12.cjs.js b/packages/nightingale-ansi-formatter/dist/index-node12.cjs.js index ce2a54ffa..3898eedfa 100644 --- a/packages/nightingale-ansi-formatter/dist/index-node12.cjs.js +++ b/packages/nightingale-ansi-formatter/dist/index-node12.cjs.js @@ -45,14 +45,14 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { - const style = ansiStyles[styleName]; + return styles.reduce((styledString, styleName) => { + const codePair = ansiStyles[styleName]; - if (!style) { + if (!codePair) { throw new Error(`Unknown style: ${styleName}`); } - return style.open + string + style.close; + return codePair.open + styledString + codePair.close; }, string); } /** diff --git a/packages/nightingale-ansi-formatter/dist/index-node12.cjs.js.map b/packages/nightingale-ansi-formatter/dist/index-node12.cjs.js.map index 73e76de7f..f98a12a4e 100644 --- a/packages/nightingale-ansi-formatter/dist/index-node12.cjs.js.map +++ b/packages/nightingale-ansi-formatter/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles };\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string: string, styleName: string) => {\n const style: CodePair | undefined = ansiStyles[styleName];\n\n if (!style) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return style.open + string + style.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styleName","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;;;;;;;;;AAaA,MAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,aAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,aAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,aAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,aAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,aAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,aAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,aAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,aAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,aAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,aAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,aAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,aAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,aAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,aAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,aAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,aAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,aAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,aAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,aAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAAiBG,SAAjB,KAAuC;AAC1D,UAAML,KAA2B,GAAG5B,UAAU,CAACiC,SAAD,CAA9C;;AAEA,QAAI,CAACL,KAAL,EAAY;AACV,YAAM,IAAIM,KAAJ,CAAW,kBAAiBD,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOL,KAAK,CAACN,IAAN,GAAaQ,MAAb,GAAsBF,KAAK,CAACD,KAAnC;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASK,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles } from 'nightingale-types';\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((styledString: string, styleName: string) => {\n const codePair: CodePair | undefined = ansiStyles[styleName];\n\n if (!codePair) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return codePair.open + styledString + codePair.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styledString","styleName","codePair","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;;;;;;;;;AAaA,MAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,aAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,aAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,aAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,aAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,aAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,aAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,aAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,aAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,aAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,aAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,aAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,aAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,aAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,aAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,aAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,aAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,aAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,aAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,aAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,aAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,oCAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,aAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,YAAD,EAAuBC,SAAvB,KAA6C;AAChE,UAAMC,QAA8B,GAAGnC,UAAU,CAACkC,SAAD,CAAjD;;AAEA,QAAI,CAACC,QAAL,EAAe;AACb,YAAM,IAAIC,KAAJ,CAAW,kBAAiBF,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOC,QAAQ,CAACb,IAAT,GAAgBW,YAAhB,GAA+BE,QAAQ,CAACR,KAA/C;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASO,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASV,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-ansi-formatter/dist/index-node12.mjs b/packages/nightingale-ansi-formatter/dist/index-node12.mjs index d7f5a1f72..77f9cdca1 100644 --- a/packages/nightingale-ansi-formatter/dist/index-node12.mjs +++ b/packages/nightingale-ansi-formatter/dist/index-node12.mjs @@ -37,14 +37,14 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { - const style = ansiStyles[styleName]; + return styles.reduce((styledString, styleName) => { + const codePair = ansiStyles[styleName]; - if (!style) { + if (!codePair) { throw new Error(`Unknown style: ${styleName}`); } - return style.open + string + style.close; + return codePair.open + styledString + codePair.close; }, string); } /** diff --git a/packages/nightingale-ansi-formatter/dist/index-node12.mjs.map b/packages/nightingale-ansi-formatter/dist/index-node12.mjs.map index 6084f6734..73499d865 100644 --- a/packages/nightingale-ansi-formatter/dist/index-node12.mjs.map +++ b/packages/nightingale-ansi-formatter/dist/index-node12.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles };\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string: string, styleName: string) => {\n const style: CodePair | undefined = ansiStyles[styleName];\n\n if (!style) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return style.open + string + style.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styleName","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;AAaA,MAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,IAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,IAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,IAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,IAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,IAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,IAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,IAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,IAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,IAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,IAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,IAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,IAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,IAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,IAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,IAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,IAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,IAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,IAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,IAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAAiBG,SAAjB,KAAuC;AAC1D,UAAML,KAA2B,GAAG5B,UAAU,CAACiC,SAAD,CAA9C;;AAEA,QAAI,CAACL,KAAL,EAAY;AACV,YAAM,IAAIM,KAAJ,CAAW,kBAAiBD,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOL,KAAK,CAACN,IAAN,GAAaQ,MAAb,GAAsBF,KAAK,CAACD,KAAnC;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASK,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["import ansi from 'ansi-styles';\nimport { styleToHexColor, formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport type { Styles } from 'nightingale-types';\n\ninterface CodePair {\n open: string;\n close: string;\n}\n\ntype AnsiStyles = Record;\n\nconst ansiStyles: AnsiStyles = {\n black: ansi.black,\n red: ansi.red,\n green: ansi.green,\n yellow: ansi.yellow,\n blue: ansi.blue,\n magenta: ansi.magenta,\n cyan: ansi.cyan,\n white: ansi.white,\n gray: ansi.gray,\n\n bgBlack: ansi.bgBlack,\n bgRed: ansi.bgRed,\n bgGreen: ansi.bgGreen,\n bgYellow: ansi.bgYellow,\n bgBlue: ansi.bgBlue,\n bgMagenta: ansi.bgMagenta,\n bgCyan: ansi.bgCyan,\n bgWhite: ansi.bgWhite,\n\n bold: ansi.bold,\n underline: ansi.underline,\n\n // http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html\n orange: {\n open: ansi.color.ansi256.hex(styleToHexColor.orange),\n close: ansi.color.close,\n },\n 'gray-light': {\n open: ansi.color.ansi256.hex(styleToHexColor['gray-light']),\n close: ansi.color.close,\n },\n};\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((styledString: string, styleName: string) => {\n const codePair: CodePair | undefined = ansiStyles[styleName];\n\n if (!codePair) {\n throw new Error(`Unknown style: ${styleName}`);\n }\n\n return codePair.open + styledString + codePair.close;\n }, string);\n}\n\n/**\n * @param {Object} record\n * @returns {string}\n */\nexport default function ansiFormat(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["ansiStyles","black","ansi","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bold","underline","orange","open","color","ansi256","hex","styleToHexColor","close","style","styles","string","length","reduce","styledString","styleName","codePair","Error","ansiFormat","record","formatRecordToString"],"mappings":";;;AAaA,MAAMA,UAAsB,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,IAAI,CAACD,KADiB;AAE7BE,EAAAA,GAAG,EAAED,IAAI,CAACC,GAFmB;AAG7BC,EAAAA,KAAK,EAAEF,IAAI,CAACE,KAHiB;AAI7BC,EAAAA,MAAM,EAAEH,IAAI,CAACG,MAJgB;AAK7BC,EAAAA,IAAI,EAAEJ,IAAI,CAACI,IALkB;AAM7BC,EAAAA,OAAO,EAAEL,IAAI,CAACK,OANe;AAO7BC,EAAAA,IAAI,EAAEN,IAAI,CAACM,IAPkB;AAQ7BC,EAAAA,KAAK,EAAEP,IAAI,CAACO,KARiB;AAS7BC,EAAAA,IAAI,EAAER,IAAI,CAACQ,IATkB;AAW7BC,EAAAA,OAAO,EAAET,IAAI,CAACS,OAXe;AAY7BC,EAAAA,KAAK,EAAEV,IAAI,CAACU,KAZiB;AAa7BC,EAAAA,OAAO,EAAEX,IAAI,CAACW,OAbe;AAc7BC,EAAAA,QAAQ,EAAEZ,IAAI,CAACY,QAdc;AAe7BC,EAAAA,MAAM,EAAEb,IAAI,CAACa,MAfgB;AAgB7BC,EAAAA,SAAS,EAAEd,IAAI,CAACc,SAhBa;AAiB7BC,EAAAA,MAAM,EAAEf,IAAI,CAACe,MAjBgB;AAkB7BC,EAAAA,OAAO,EAAEhB,IAAI,CAACgB,OAlBe;AAoB7BC,EAAAA,IAAI,EAAEjB,IAAI,CAACiB,IApBkB;AAqB7BC,EAAAA,SAAS,EAAElB,IAAI,CAACkB,SArBa;AAuB7B;AACAC,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAACL,MAAvC,CADA;AAENM,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFZ,GAxBqB;AA4B7B,gBAAc;AACZL,IAAAA,IAAI,EAAEpB,IAAI,CAACqB,KAAL,CAAWC,OAAX,CAAmBC,GAAnB,CAAuBC,eAAe,CAAC,YAAD,CAAtC,CADM;AAEZC,IAAAA,KAAK,EAAEzB,IAAI,CAACqB,KAAL,CAAWI;AAFN;AA5Be,CAA/B;AAkCO,SAASC,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,YAAD,EAAuBC,SAAvB,KAA6C;AAChE,UAAMC,QAA8B,GAAGnC,UAAU,CAACkC,SAAD,CAAjD;;AAEA,QAAI,CAACC,QAAL,EAAe;AACb,YAAM,IAAIC,KAAJ,CAAW,kBAAiBF,SAAU,EAAtC,CAAN;AACD;;AAED,WAAOC,QAAQ,CAACb,IAAT,GAAgBW,YAAhB,GAA+BE,QAAQ,CAACR,KAA/C;AACD,GARM,EAQJG,MARI,CAAP;AASD;AAED;AACA;AACA;AACA;;AACe,SAASO,UAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASV,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-ansi-formatter/dist/index.d.ts b/packages/nightingale-ansi-formatter/dist/index.d.ts index 644243703..face43e94 100644 --- a/packages/nightingale-ansi-formatter/dist/index.d.ts +++ b/packages/nightingale-ansi-formatter/dist/index.d.ts @@ -1,5 +1,5 @@ import type { Styles, LogRecord, Metadata } from 'nightingale-types'; -export type { Styles }; +export type { Styles } from 'nightingale-types'; export declare function style(styles: Styles, string: string): string; /** * @param {Object} record diff --git a/packages/nightingale-ansi-formatter/dist/index.d.ts.map b/packages/nightingale-ansi-formatter/dist/index.d.ts.map index 8a297971d..48c8346fe 100644 --- a/packages/nightingale-ansi-formatter/dist/index.d.ts.map +++ b/packages/nightingale-ansi-formatter/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErE,YAAY,EAAE,MAAM,EAAE,CAAC;AA2CvB,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAe5D;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,QAAQ,EACnD,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GACnB,MAAM,CAER"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AA2ChD,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAe5D;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,QAAQ,EACnD,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GACnB,MAAM,CAER"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-browser-dev.cjs.js.map b/packages/nightingale-app-console/dist/index-browser-dev.cjs.js.map index 92ada6012..8ed7789e1 100644 --- a/packages/nightingale-app-console/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale-app-console/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","DEBUG","libMinLevel","INFO","configure","pattern","handlers","stop"],"mappings":";;;;;;;IAaaA,cAEoB,GACJC;IAIhBC,MAAM,GAAG,IAAIC,kBAAJ,CAAW,KAAX;IACTC,SAAS,GAAGF;AAOzB,IAAMG,WAAW,GAOXC,iBAAK,CAACC,KAPZ;AASA,IAAMC,WAAW,GAKXF,iBAAK,CAACG,IALZ;AAOAC,qBAAS,CACPL,WAAW,KAAKG,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEQ,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","DEBUG","libMinLevel","INFO","configure","pattern","handlers","stop"],"mappings":";;;;;;;IAOaA,cAEoB,GACJC;IAEhBC,MAAM,GAAG,IAAIC,kBAAJ,CAAW,KAAX;IACTC,SAAS,GAAGF;AAOzB,IAAMG,WAAW,GAOXC,iBAAK,CAACC,KAPZ;AASA,IAAMC,WAAW,GAKXF,iBAAK,CAACG,IALZ;AAOAC,qBAAS,CACPL,WAAW,KAAKG,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEQ,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-browser-dev.es.js.map b/packages/nightingale-app-console/dist/index-browser-dev.es.js.map index 478ea54c5..2529d9b29 100644 --- a/packages/nightingale-app-console/dist/index-browser-dev.es.js.map +++ b/packages/nightingale-app-console/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","DEBUG","libMinLevel","INFO","configure","pattern","handlers","stop"],"mappings":";;;;IAaaA,cAEoB,GACJC;IAIhBC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;IACTC,SAAS,GAAGF;AAOzB,IAAMG,WAAW,GAOXC,KAAK,CAACC,KAPZ;AASA,IAAMC,WAAW,GAKXF,KAAK,CAACG,IALZ;AAOAC,SAAS,CACPL,WAAW,KAAKG,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEQ,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","DEBUG","libMinLevel","INFO","configure","pattern","handlers","stop"],"mappings":";;;;IAOaA,cAEoB,GACJC;IAEhBC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;IACTC,SAAS,GAAGF;AAOzB,IAAMG,WAAW,GAOXC,KAAK,CAACC,KAPZ;AASA,IAAMC,WAAW,GAKXF,KAAK,CAACG,IALZ;AAOAC,SAAS,CACPL,WAAW,KAAKG,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEQ,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-browser.cjs.js.map b/packages/nightingale-app-console/dist/index-browser.cjs.js.map index 5afdeea1b..3a40009f8 100644 --- a/packages/nightingale-app-console/dist/index-browser.cjs.js.map +++ b/packages/nightingale-app-console/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","INFO","libMinLevel","configure","pattern","handlers","stop"],"mappings":";;;;;;;IAaaA,cAEoB,GACJC;IAIhBC,MAAM,GAAG,IAAIC,kBAAJ,CAAW,KAAX;IACTC,SAAS,GAAGF;AAOzB,IAAMG,WAAW,GAMXC,iBAAK,CAACC,IANZ;AASA,IAAMC,WAAW,GAKXF,iBAAK,CAACC,IALZ;AAOAE,qBAAS,CACPJ,WAAW,KAAKG,WAAhB,GACI,CACE;AACEE,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEO,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEG,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","INFO","libMinLevel","configure","pattern","handlers","stop"],"mappings":";;;;;;;IAOaA,cAEoB,GACJC;IAEhBC,MAAM,GAAG,IAAIC,kBAAJ,CAAW,KAAX;IACTC,SAAS,GAAGF;AAOzB,IAAMG,WAAW,GAMXC,iBAAK,CAACC,IANZ;AASA,IAAMC,WAAW,GAKXF,iBAAK,CAACC,IALZ;AAOAE,qBAAS,CACPJ,WAAW,KAAKG,WAAhB,GACI,CACE;AACEE,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEO,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEG,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-browser.es.js.map b/packages/nightingale-app-console/dist/index-browser.es.js.map index 3c6b83eb1..fc2b535c9 100644 --- a/packages/nightingale-app-console/dist/index-browser.es.js.map +++ b/packages/nightingale-app-console/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","INFO","libMinLevel","configure","pattern","handlers","stop"],"mappings":";;;;IAaaA,cAEoB,GACJC;IAIhBC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;IACTC,SAAS,GAAGF;AAOzB,IAAMG,WAAW,GAMXC,KAAK,CAACC,IANZ;AASA,IAAMC,WAAW,GAKXF,KAAK,CAACC,IALZ;AAOAE,SAAS,CACPJ,WAAW,KAAKG,WAAhB,GACI,CACE;AACEE,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEO,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEG,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","INFO","libMinLevel","configure","pattern","handlers","stop"],"mappings":";;;;IAOaA,cAEoB,GACJC;IAEhBC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;IACTC,SAAS,GAAGF;AAOzB,IAAMG,WAAW,GAMXC,KAAK,CAACC,IANZ;AASA,IAAMC,WAAW,GAKXF,KAAK,CAACC,IALZ;AAOAE,SAAS,CACPJ,WAAW,KAAKG,WAAhB,GACI,CACE;AACEE,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEO,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEG,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-browsermodern-dev.es.js.map b/packages/nightingale-app-console/dist/index-browsermodern-dev.es.js.map index 19ab8688f..b023e2ce8 100644 --- a/packages/nightingale-app-console/dist/index-browsermodern-dev.es.js.map +++ b/packages/nightingale-app-console/dist/index-browsermodern-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","DEBUG","libMinLevel","INFO","configure","pattern","handlers","stop"],"mappings":";;;;MAaaA,cAEoB,GACJC;MAIhBC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAOzB,MAAMG,WAAW,GAOXC,KAAK,CAACC,KAPZ;AASA,MAAMC,WAAW,GAKXF,KAAK,CAACG,IALZ;AAOAC,SAAS,CACPL,WAAW,KAAKG,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEQ,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","DEBUG","libMinLevel","INFO","configure","pattern","handlers","stop"],"mappings":";;;;MAOaA,cAEoB,GACJC;MAEhBC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAOzB,MAAMG,WAAW,GAOXC,KAAK,CAACC,KAPZ;AASA,MAAMC,WAAW,GAKXF,KAAK,CAACG,IALZ;AAOAC,SAAS,CACPL,WAAW,KAAKG,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEQ,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIZ,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-browsermodern.es.js.map b/packages/nightingale-app-console/dist/index-browsermodern.es.js.map index df23d939e..7b7a16e24 100644 --- a/packages/nightingale-app-console/dist/index-browsermodern.es.js.map +++ b/packages/nightingale-app-console/dist/index-browsermodern.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","INFO","libMinLevel","configure","pattern","handlers","stop"],"mappings":";;;;MAaaA,cAEoB,GACJC;MAIhBC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAOzB,MAAMG,WAAW,GAMXC,KAAK,CAACC,IANZ;AASA,MAAMC,WAAW,GAKXF,KAAK,CAACC,IALZ;AAOAE,SAAS,CACPJ,WAAW,KAAKG,WAAhB,GACI,CACE;AACEE,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEO,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEG,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","BrowserConsoleHandler","logger","Logger","appLogger","appMinLevel","Level","INFO","libMinLevel","configure","pattern","handlers","stop"],"mappings":";;;;MAOaA,cAEoB,GACJC;MAEhBC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAOzB,MAAMG,WAAW,GAMXC,KAAK,CAACC,IANZ;AASA,MAAMC,WAAW,GAKXF,KAAK,CAACC,IALZ;AAOAE,SAAS,CACPJ,WAAW,KAAKG,WAAhB,GACI,CACE;AACEE,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBK,WAAnB,CAAD,CAFZ;AAGEO,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEG,EAAAA,QAAQ,EAAE,CAAC,IAAIX,cAAJ,CAAmBQ,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-node12-dev.cjs.js.map b/packages/nightingale-app-console/dist/index-node12-dev.cjs.js.map index b5c31c116..8d893e9c0 100644 --- a/packages/nightingale-app-console/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale-app-console/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","TerminalConsoleHandler","logger","Logger","appLogger","Error","stackTraceLimit","Infinity","listenUnhandledErrors","appMinLevel","process","env","NIGHTINGALE_APP_MIN_LEVEL","undefined","Number","Level","DEBUG","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","INFO","configure","pattern","handlers","stop"],"mappings":";;;;;;;MAaaA,cAEoB,GACoBC;MAIxCC,MAAM,GAAG,IAAIC,kBAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAGvBG,KAAK,CAACC,eAAN,GAAwBC,QAAxB;AACAC,iCAAqB,CAACN,MAAD,CAArB;AAGF,MAAMO,WAAW,GAEfC,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0CC,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0C,EAF1C,GAGIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,yBAAb,CAHV,GAMIG,iBAAK,CAACC,KAPZ;AASA,MAAMC,WAAW,GAEfP,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0CL,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0C,EAF1C,GAGIJ,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYO,yBAAb,CAHV,GAIIH,iBAAK,CAACI,IALZ;AAOAC,qBAAS,CACPX,WAAW,KAAKQ,WAAhB,GACI,CACE;AACEI,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBS,WAAnB,CAAD,CAFZ;AAGEc,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEK,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","TerminalConsoleHandler","logger","Logger","appLogger","Error","stackTraceLimit","Infinity","listenUnhandledErrors","appMinLevel","process","env","NIGHTINGALE_APP_MIN_LEVEL","undefined","Number","Level","DEBUG","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","INFO","configure","pattern","handlers","stop"],"mappings":";;;;;;;MAOaA,cAEoB,GACoBC;MAExCC,MAAM,GAAG,IAAIC,kBAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAGvBG,KAAK,CAACC,eAAN,GAAwBC,QAAxB;AACAC,iCAAqB,CAACN,MAAD,CAArB;AAGF,MAAMO,WAAW,GAEfC,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0CC,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0C,EAF1C,GAGIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,yBAAb,CAHV,GAMIG,iBAAK,CAACC,KAPZ;AASA,MAAMC,WAAW,GAEfP,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0CL,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0C,EAF1C,GAGIJ,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYO,yBAAb,CAHV,GAIIH,iBAAK,CAACI,IALZ;AAOAC,qBAAS,CACPX,WAAW,KAAKQ,WAAhB,GACI,CACE;AACEI,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBS,WAAnB,CAAD,CAFZ;AAGEc,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEK,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-node12-dev.mjs.map b/packages/nightingale-app-console/dist/index-node12-dev.mjs.map index 1eb6218f3..bd67981d4 100644 --- a/packages/nightingale-app-console/dist/index-node12-dev.mjs.map +++ b/packages/nightingale-app-console/dist/index-node12-dev.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","TerminalConsoleHandler","logger","Logger","appLogger","Error","stackTraceLimit","Infinity","listenUnhandledErrors","appMinLevel","process","env","NIGHTINGALE_APP_MIN_LEVEL","undefined","Number","Level","DEBUG","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","INFO","configure","pattern","handlers","stop"],"mappings":";;;;MAaaA,cAEoB,GACoBC;MAIxCC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAGvBG,KAAK,CAACC,eAAN,GAAwBC,QAAxB;AACAC,qBAAqB,CAACN,MAAD,CAArB;AAGF,MAAMO,WAAW,GAEfC,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0CC,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0C,EAF1C,GAGIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,yBAAb,CAHV,GAMIG,KAAK,CAACC,KAPZ;AASA,MAAMC,WAAW,GAEfP,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0CL,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0C,EAF1C,GAGIJ,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYO,yBAAb,CAHV,GAIIH,KAAK,CAACI,IALZ;AAOAC,SAAS,CACPX,WAAW,KAAKQ,WAAhB,GACI,CACE;AACEI,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBS,WAAnB,CAAD,CAFZ;AAGEc,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEK,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","TerminalConsoleHandler","logger","Logger","appLogger","Error","stackTraceLimit","Infinity","listenUnhandledErrors","appMinLevel","process","env","NIGHTINGALE_APP_MIN_LEVEL","undefined","Number","Level","DEBUG","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","INFO","configure","pattern","handlers","stop"],"mappings":";;;;MAOaA,cAEoB,GACoBC;MAExCC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAGvBG,KAAK,CAACC,eAAN,GAAwBC,QAAxB;AACAC,qBAAqB,CAACN,MAAD,CAArB;AAGF,MAAMO,WAAW,GAEfC,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0CC,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0C,EAF1C,GAGIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,yBAAb,CAHV,GAMIG,KAAK,CAACC,KAPZ;AASA,MAAMC,WAAW,GAEfP,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0CL,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0C,EAF1C,GAGIJ,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYO,yBAAb,CAHV,GAIIH,KAAK,CAACI,IALZ;AAOAC,SAAS,CACPX,WAAW,KAAKQ,WAAhB,GACI,CACE;AACEI,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBS,WAAnB,CAAD,CAFZ;AAGEc,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEK,EAAAA,QAAQ,EAAE,CAAC,IAAItB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-node12.cjs.js.map b/packages/nightingale-app-console/dist/index-node12.cjs.js.map index 1082c9469..9afcbe74d 100644 --- a/packages/nightingale-app-console/dist/index-node12.cjs.js.map +++ b/packages/nightingale-app-console/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","TerminalConsoleHandler","logger","Logger","appLogger","Error","stackTraceLimit","Infinity","listenUnhandledErrors","appMinLevel","process","env","NIGHTINGALE_APP_MIN_LEVEL","undefined","Number","Level","INFO","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","configure","pattern","handlers","stop"],"mappings":";;;;;;;MAaaA,cAEoB,GACoBC;MAIxCC,MAAM,GAAG,IAAIC,kBAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAGvBG,KAAK,CAACC,eAAN,GAAwBC,QAAxB;AACAC,iCAAqB,CAACN,MAAD,CAArB;AAGF,MAAMO,WAAW,GAEfC,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0CC,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0C,EAF1C,GAGIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,yBAAb,CAHV,GAKIG,iBAAK,CAACC,IANZ;AASA,MAAMC,WAAW,GAEfP,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0CL,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0C,EAF1C,GAGIJ,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYO,yBAAb,CAHV,GAIIH,iBAAK,CAACC,IALZ;AAOAG,qBAAS,CACPV,WAAW,KAAKQ,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBS,WAAnB,CAAD,CAFZ;AAGEa,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","TerminalConsoleHandler","logger","Logger","appLogger","Error","stackTraceLimit","Infinity","listenUnhandledErrors","appMinLevel","process","env","NIGHTINGALE_APP_MIN_LEVEL","undefined","Number","Level","INFO","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","configure","pattern","handlers","stop"],"mappings":";;;;;;;MAOaA,cAEoB,GACoBC;MAExCC,MAAM,GAAG,IAAIC,kBAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAGvBG,KAAK,CAACC,eAAN,GAAwBC,QAAxB;AACAC,iCAAqB,CAACN,MAAD,CAArB;AAGF,MAAMO,WAAW,GAEfC,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0CC,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0C,EAF1C,GAGIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,yBAAb,CAHV,GAKIG,iBAAK,CAACC,IANZ;AASA,MAAMC,WAAW,GAEfP,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0CL,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0C,EAF1C,GAGIJ,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYO,yBAAb,CAHV,GAIIH,iBAAK,CAACC,IALZ;AAOAG,qBAAS,CACPV,WAAW,KAAKQ,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBS,WAAnB,CAAD,CAFZ;AAGEa,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index-node12.mjs.map b/packages/nightingale-app-console/dist/index-node12.mjs.map index e3425e304..d0d4570b0 100644 --- a/packages/nightingale-app-console/dist/index-node12.mjs.map +++ b/packages/nightingale-app-console/dist/index-node12.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport {\n Logger,\n configure,\n Level,\n levels,\n listenUnhandledErrors,\n} from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport { Level, levels };\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","TerminalConsoleHandler","logger","Logger","appLogger","Error","stackTraceLimit","Infinity","listenUnhandledErrors","appMinLevel","process","env","NIGHTINGALE_APP_MIN_LEVEL","undefined","Number","Level","INFO","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","configure","pattern","handlers","stop"],"mappings":";;;;MAaaA,cAEoB,GACoBC;MAIxCC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAGvBG,KAAK,CAACC,eAAN,GAAwBC,QAAxB;AACAC,qBAAqB,CAACN,MAAD,CAArB;AAGF,MAAMO,WAAW,GAEfC,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0CC,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0C,EAF1C,GAGIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,yBAAb,CAHV,GAKIG,KAAK,CAACC,IANZ;AASA,MAAMC,WAAW,GAEfP,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0CL,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0C,EAF1C,GAGIJ,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYO,yBAAb,CAHV,GAIIH,KAAK,CAACC,IALZ;AAOAG,SAAS,CACPV,WAAW,KAAKQ,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBS,WAAnB,CAAD,CAFZ;AAGEa,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["import { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport { Logger, configure, Level, listenUnhandledErrors } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level } from 'nightingale';\n\nexport const ConsoleHandler:\n | typeof BrowserConsoleHandler\n | typeof TerminalConsoleHandler =\n POB_TARGET === 'browser' ? BrowserConsoleHandler : TerminalConsoleHandler;\n\nexport const logger = new Logger('app');\nexport const appLogger = logger;\n\nif (POB_TARGET !== 'browser') {\n Error.stackTraceLimit = Infinity;\n listenUnhandledErrors(logger);\n}\n\nconst appMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_APP_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_APP_MIN_LEVEL)\n : PRODUCTION\n ? Level.INFO\n : Level.DEBUG;\n\nconst libMinLevel =\n POB_TARGET !== 'browser' &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nconfigure(\n appMinLevel !== libMinLevel\n ? [\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(appMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ]\n : [\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n ],\n);\n"],"names":["ConsoleHandler","TerminalConsoleHandler","logger","Logger","appLogger","Error","stackTraceLimit","Infinity","listenUnhandledErrors","appMinLevel","process","env","NIGHTINGALE_APP_MIN_LEVEL","undefined","Number","Level","INFO","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","configure","pattern","handlers","stop"],"mappings":";;;;MAOaA,cAEoB,GACoBC;MAExCC,MAAM,GAAG,IAAIC,MAAJ,CAAW,KAAX;MACTC,SAAS,GAAGF;AAGvBG,KAAK,CAACC,eAAN,GAAwBC,QAAxB;AACAC,qBAAqB,CAACN,MAAD,CAArB;AAGF,MAAMO,WAAW,GAEfC,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0CC,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYC,yBAAZ,KAA0C,EAF1C,GAGIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,yBAAb,CAHV,GAKIG,KAAK,CAACC,IANZ;AASA,MAAMC,WAAW,GAEfP,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0CL,SAD1C,IAEAH,OAAO,CAACC,GAAR,CAAYO,yBAAZ,KAA0C,EAF1C,GAGIJ,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYO,yBAAb,CAHV,GAIIH,KAAK,CAACC,IALZ;AAOAG,SAAS,CACPV,WAAW,KAAKQ,WAAhB,GACI,CACE;AACEG,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBS,WAAnB,CAAD,CAFZ;AAGEa,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACED,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CANF,CADJ,GAWI,CACE;AACEI,EAAAA,QAAQ,EAAE,CAAC,IAAIrB,cAAJ,CAAmBiB,WAAnB,CAAD;AADZ,CADF,CAZG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index.d.ts b/packages/nightingale-app-console/dist/index.d.ts index c9b46b7cf..26132929b 100644 --- a/packages/nightingale-app-console/dist/index.d.ts +++ b/packages/nightingale-app-console/dist/index.d.ts @@ -1,9 +1,8 @@ -import { Logger, Level, levels } from 'nightingale'; +import { Logger } from 'nightingale'; import { BrowserConsoleHandler } from 'nightingale-browser-console'; import { ConsoleHandler as TerminalConsoleHandler } from 'nightingale-console'; -export { configure, addConfig } from 'nightingale'; +export { configure, addConfig, levels, Level } from 'nightingale'; export declare const ConsoleHandler: typeof BrowserConsoleHandler | typeof TerminalConsoleHandler; -export { Level, levels }; export declare const logger: Logger; export declare const appLogger: Logger; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/nightingale-app-console/dist/index.d.ts.map b/packages/nightingale-app-console/dist/index.d.ts.map index 7de204c8c..22e6332d5 100644 --- a/packages/nightingale-app-console/dist/index.d.ts.map +++ b/packages/nightingale-app-console/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EAEN,KAAK,EACL,MAAM,EAEP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,cAAc,EACvB,OAAO,qBAAqB,GAC5B,OAAO,sBACgE,CAAC;AAE5E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAEzB,eAAO,MAAM,MAAM,QAAoB,CAAC;AACxC,eAAO,MAAM,SAAS,QAAS,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA2C,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAElE,eAAO,MAAM,cAAc,EACvB,OAAO,qBAAqB,GAC5B,OAAO,sBACgE,CAAC;AAE5E,eAAO,MAAM,MAAM,QAAoB,CAAC;AACxC,eAAO,MAAM,SAAS,QAAS,CAAC"} \ No newline at end of file diff --git a/packages/nightingale-app-react-native/dist/index-browser-dev.cjs.js.map b/packages/nightingale-app-react-native/dist/index-browser-dev.cjs.js.map index 9a83df147..8acc38efb 100644 --- a/packages/nightingale-app-react-native/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale-app-react-native/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport { Level, ReactNativeConsoleHandler };\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;;;IAWaA,SAAS,GAAG,IAAIC,kBAAJ,CAAW,KAAX;IAEZC,oCAEmB;AAE9BC,oBAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,+CAAxB,GAAgDC;AAElDC,qBAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,iBAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,iBAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig, Level } from 'nightingale';\nexport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;;;IAUaA,SAAS,GAAG,IAAIC,kBAAJ,CAAW,KAAX;IAEZC,oCAEmB;AAE9BC,oBAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,+CAAxB,GAAgDC;AAElDC,qBAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,iBAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,iBAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-react-native/dist/index-browser-dev.es.js.map b/packages/nightingale-app-react-native/dist/index-browser-dev.es.js.map index ffd51cdb9..44bd16db5 100644 --- a/packages/nightingale-app-react-native/dist/index-browser-dev.es.js.map +++ b/packages/nightingale-app-react-native/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport { Level, ReactNativeConsoleHandler };\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;IAWaA,SAAS,GAAG,IAAIC,MAAJ,CAAW,KAAX;IAEZC,oCAEmB;AAE9BC,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,qBAAxB,GAAgDC;AAElDC,SAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig, Level } from 'nightingale';\nexport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;IAUaA,SAAS,GAAG,IAAIC,MAAJ,CAAW,KAAX;IAEZC,oCAEmB;AAE9BC,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,qBAAxB,GAAgDC;AAElDC,SAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-react-native/dist/index-browser.cjs.js.map b/packages/nightingale-app-react-native/dist/index-browser.cjs.js.map index 1a9ff5cfd..da96d5ade 100644 --- a/packages/nightingale-app-react-native/dist/index-browser.cjs.js.map +++ b/packages/nightingale-app-react-native/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport { Level, ReactNativeConsoleHandler };\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;;;IAWaA,SAAS,GAAG,IAAIC,kBAAJ,CAAW,KAAX;IAEZC,oCAEmB;AAE9BC,oBAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,+CAAxB,GAAgDC;AAElDC,qBAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,iBAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,iBAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig, Level } from 'nightingale';\nexport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;;;IAUaA,SAAS,GAAG,IAAIC,kBAAJ,CAAW,KAAX;IAEZC,oCAEmB;AAE9BC,oBAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,+CAAxB,GAAgDC;AAElDC,qBAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,iBAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,iBAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-react-native/dist/index-browser.es.js.map b/packages/nightingale-app-react-native/dist/index-browser.es.js.map index 76d1da181..7c266e304 100644 --- a/packages/nightingale-app-react-native/dist/index-browser.es.js.map +++ b/packages/nightingale-app-react-native/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport { Level, ReactNativeConsoleHandler };\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;IAWaA,SAAS,GAAG,IAAIC,MAAJ,CAAW,KAAX;IAEZC,oCAEmB;AAE9BC,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,qBAAxB,GAAgDC;AAElDC,SAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig, Level } from 'nightingale';\nexport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;IAUaA,SAAS,GAAG,IAAIC,MAAJ,CAAW,KAAX;IAEZC,oCAEmB;AAE9BC,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,qBAAxB,GAAgDC;AAElDC,SAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-react-native/dist/index-browsermodern-dev.es.js.map b/packages/nightingale-app-react-native/dist/index-browsermodern-dev.es.js.map index 7ad247c2f..b039f85c0 100644 --- a/packages/nightingale-app-react-native/dist/index-browsermodern-dev.es.js.map +++ b/packages/nightingale-app-react-native/dist/index-browsermodern-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport { Level, ReactNativeConsoleHandler };\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;MAWaA,SAAS,GAAG,IAAIC,MAAJ,CAAW,KAAX;MAEZC,oCAEmB;AAE9BC,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,qBAAxB,GAAgDC;AAElDC,SAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig, Level } from 'nightingale';\nexport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;MAUaA,SAAS,GAAG,IAAIC,MAAJ,CAAW,KAAX;MAEZC,oCAEmB;AAE9BC,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,qBAAxB,GAAgDC;AAElDC,SAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-react-native/dist/index-browsermodern.es.js.map b/packages/nightingale-app-react-native/dist/index-browsermodern.es.js.map index 683585bf9..e10ceaf80 100644 --- a/packages/nightingale-app-react-native/dist/index-browsermodern.es.js.map +++ b/packages/nightingale-app-react-native/dist/index-browsermodern.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig } from 'nightingale';\n\nexport { Level, ReactNativeConsoleHandler };\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;MAWaA,SAAS,GAAG,IAAIC,MAAJ,CAAW,KAAX;MAEZC,oCAEmB;AAE9BC,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,qBAAxB,GAAgDC;AAElDC,SAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import { Logger, configure, Level } from 'nightingale';\nimport { BrowserConsoleHandler } from 'nightingale-browser-console';\nimport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n// @ts-expect-error including @types/react-native causes conflicts\n// eslint-disable-next-line import/no-unresolved\nimport { Platform } from 'react-native';\n\nexport { configure, addConfig, Level } from 'nightingale';\nexport { ReactNativeConsoleHandler } from 'nightingale-react-native-console';\n\nexport const appLogger = new Logger('app');\n\nexport const ReactNativeConsoleHandlerForPlatform:\n | typeof ReactNativeConsoleHandler\n | typeof BrowserConsoleHandler =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Platform.OS === 'web' ? BrowserConsoleHandler : ReactNativeConsoleHandler;\n\nconfigure(\n process.env.NODE_ENV === 'production'\n ? []\n : [\n {\n pattern: /^app(:|$)/,\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.DEBUG)],\n stop: true,\n },\n {\n handlers: [new ReactNativeConsoleHandlerForPlatform(Level.INFO)],\n },\n ],\n);\n"],"names":["appLogger","Logger","ReactNativeConsoleHandlerForPlatform","Platform","OS","BrowserConsoleHandler","ReactNativeConsoleHandler","configure","process","env","NODE_ENV","pattern","handlers","Level","DEBUG","stop","INFO"],"mappings":";;;;;;;MAUaA,SAAS,GAAG,IAAIC,MAAJ,CAAW,KAAX;MAEZC,oCAEmB;AAE9BC,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwBC,qBAAxB,GAAgDC;AAElDC,SAAS,CACPC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI,EADJ,GAEI,CACE;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACC,KAA/C,CAAD,CAFZ;AAGEC,EAAAA,IAAI,EAAE;AAHR,CADF,EAME;AACEH,EAAAA,QAAQ,EAAE,CAAC,IAAIV,oCAAJ,CAAyCW,KAAK,CAACG,IAA/C,CAAD;AADZ,CANF,CAHG,CAAT;;;;"} \ No newline at end of file diff --git a/packages/nightingale-app-react-native/dist/index.d.ts b/packages/nightingale-app-react-native/dist/index.d.ts index 74b0d320b..4d0faeb0b 100644 --- a/packages/nightingale-app-react-native/dist/index.d.ts +++ b/packages/nightingale-app-react-native/dist/index.d.ts @@ -1,8 +1,8 @@ -import { Logger, Level } from 'nightingale'; +import { Logger } from 'nightingale'; import { BrowserConsoleHandler } from 'nightingale-browser-console'; import { ReactNativeConsoleHandler } from 'nightingale-react-native-console'; -export { configure, addConfig } from 'nightingale'; -export { Level, ReactNativeConsoleHandler }; +export { configure, addConfig, Level } from 'nightingale'; +export { ReactNativeConsoleHandler } from 'nightingale-react-native-console'; export declare const appLogger: Logger; export declare const ReactNativeConsoleHandlerForPlatform: typeof ReactNativeConsoleHandler | typeof BrowserConsoleHandler; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/nightingale-app-react-native/dist/index.d.ts.map b/packages/nightingale-app-react-native/dist/index.d.ts.map index 2b2814db7..684a77882 100644 --- a/packages/nightingale-app-react-native/dist/index.d.ts.map +++ b/packages/nightingale-app-react-native/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,KAAK,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAK7E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;AAE5C,eAAO,MAAM,SAAS,QAAoB,CAAC;AAE3C,eAAO,MAAM,oCAAoC,EAC7C,OAAO,yBAAyB,GAChC,OAAO,qBAEgE,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAK7E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,eAAO,MAAM,SAAS,QAAoB,CAAC;AAE3C,eAAO,MAAM,oCAAoC,EAC7C,OAAO,yBAAyB,GAChC,OAAO,qBAEgE,CAAC"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-browser-dev.cjs.js b/packages/nightingale-debug/dist/index-browser-dev.cjs.js index e31d6904b..53ea7d3a2 100644 --- a/packages/nightingale-debug/dist/index-browser-dev.cjs.js +++ b/packages/nightingale-debug/dist/index-browser-dev.cjs.js @@ -98,8 +98,8 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(function (debugValue) { - return debugValue(key); + if (debugValues.some(function (dv) { + return dv(key); })) { return skips.some(function (skip) { return skip(key); diff --git a/packages/nightingale-debug/dist/index-browser-dev.cjs.js.map b/packages/nightingale-debug/dist/index-browser-dev.cjs.js.map index 95688ec94..5970a65d6 100644 --- a/packages/nightingale-debug/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale-debug/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-browser-dev.es.js b/packages/nightingale-debug/dist/index-browser-dev.es.js index 6d6b66946..5b4582c76 100644 --- a/packages/nightingale-debug/dist/index-browser-dev.es.js +++ b/packages/nightingale-debug/dist/index-browser-dev.es.js @@ -94,8 +94,8 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(function (debugValue) { - return debugValue(key); + if (debugValues.some(function (dv) { + return dv(key); })) { return skips.some(function (skip) { return skip(key); diff --git a/packages/nightingale-debug/dist/index-browser-dev.es.js.map b/packages/nightingale-debug/dist/index-browser-dev.es.js.map index 26725ef75..864cd087a 100644 --- a/packages/nightingale-debug/dist/index-browser-dev.es.js.map +++ b/packages/nightingale-debug/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-browser.cjs.js b/packages/nightingale-debug/dist/index-browser.cjs.js index d987c6c21..1cb9758d2 100644 --- a/packages/nightingale-debug/dist/index-browser.cjs.js +++ b/packages/nightingale-debug/dist/index-browser.cjs.js @@ -98,8 +98,8 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(function (debugValue) { - return debugValue(key); + if (debugValues.some(function (dv) { + return dv(key); })) { return skips.some(function (skip) { return skip(key); diff --git a/packages/nightingale-debug/dist/index-browser.cjs.js.map b/packages/nightingale-debug/dist/index-browser.cjs.js.map index a21b4cda4..cb99303d1 100644 --- a/packages/nightingale-debug/dist/index-browser.cjs.js.map +++ b/packages/nightingale-debug/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-browser.es.js b/packages/nightingale-debug/dist/index-browser.es.js index 1afcf6d01..fb92681ef 100644 --- a/packages/nightingale-debug/dist/index-browser.es.js +++ b/packages/nightingale-debug/dist/index-browser.es.js @@ -94,8 +94,8 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(function (debugValue) { - return debugValue(key); + if (debugValues.some(function (dv) { + return dv(key); })) { return skips.some(function (skip) { return skip(key); diff --git a/packages/nightingale-debug/dist/index-browser.es.js.map b/packages/nightingale-debug/dist/index-browser.es.js.map index 68b910573..f01e1d8a3 100644 --- a/packages/nightingale-debug/dist/index-browser.es.js.map +++ b/packages/nightingale-debug/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-browsermodern-dev.es.js b/packages/nightingale-debug/dist/index-browsermodern-dev.es.js index 1c7da7fc2..198c066e9 100644 --- a/packages/nightingale-debug/dist/index-browsermodern-dev.es.js +++ b/packages/nightingale-debug/dist/index-browsermodern-dev.es.js @@ -78,7 +78,7 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(debugValue => debugValue(key))) { + if (debugValues.some(dv => dv(key))) { return skips.some(skip => skip(key)) ? minLevel : Level.ALL; } diff --git a/packages/nightingale-debug/dist/index-browsermodern-dev.es.js.map b/packages/nightingale-debug/dist/index-browsermodern-dev.es.js.map index 3dd7ff5f1..5b9e6f38a 100644 --- a/packages/nightingale-debug/dist/index-browsermodern-dev.es.js.map +++ b/packages/nightingale-debug/dist/index-browsermodern-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-browsermodern.es.js b/packages/nightingale-debug/dist/index-browsermodern.es.js index 9b9525feb..d4ed6da12 100644 --- a/packages/nightingale-debug/dist/index-browsermodern.es.js +++ b/packages/nightingale-debug/dist/index-browsermodern.es.js @@ -78,7 +78,7 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(debugValue => debugValue(key))) { + if (debugValues.some(dv => dv(key))) { return skips.some(skip => skip(key)) ? minLevel : Level.ALL; } diff --git a/packages/nightingale-debug/dist/index-browsermodern.es.js.map b/packages/nightingale-debug/dist/index-browsermodern.es.js.map index bd2b61afa..df15a28fd 100644 --- a/packages/nightingale-debug/dist/index-browsermodern.es.js.map +++ b/packages/nightingale-debug/dist/index-browsermodern.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-node12-dev.cjs.js b/packages/nightingale-debug/dist/index-node12-dev.cjs.js index d4e8a1c2d..1d14808ff 100644 --- a/packages/nightingale-debug/dist/index-node12-dev.cjs.js +++ b/packages/nightingale-debug/dist/index-node12-dev.cjs.js @@ -82,7 +82,7 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(debugValue => debugValue(key))) { + if (debugValues.some(dv => dv(key))) { return skips.some(skip => skip(key)) ? minLevel : nightingaleLevels.Level.ALL; } diff --git a/packages/nightingale-debug/dist/index-node12-dev.cjs.js.map b/packages/nightingale-debug/dist/index-node12-dev.cjs.js.map index 6383d3f2b..1dc3e3a84 100644 --- a/packages/nightingale-debug/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale-debug/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-node12-dev.mjs b/packages/nightingale-debug/dist/index-node12-dev.mjs index 3be3c3552..f7b84233d 100644 --- a/packages/nightingale-debug/dist/index-node12-dev.mjs +++ b/packages/nightingale-debug/dist/index-node12-dev.mjs @@ -78,7 +78,7 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(debugValue => debugValue(key))) { + if (debugValues.some(dv => dv(key))) { return skips.some(skip => skip(key)) ? minLevel : Level.ALL; } diff --git a/packages/nightingale-debug/dist/index-node12-dev.mjs.map b/packages/nightingale-debug/dist/index-node12-dev.mjs.map index 713f5cc7a..29745acf5 100644 --- a/packages/nightingale-debug/dist/index-node12-dev.mjs.map +++ b/packages/nightingale-debug/dist/index-node12-dev.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":";;AAAA;AAGA,MAAMA,kBAAkB,GAAG,mBAA3B;;AAKA,MAAMC,4BAA4B,GAC/BC,MAAD,IACCC,MAAD,IACED,MAAM,CAACE,IAAP,CAAYD,MAAZ,CAHJ;;AAKA,MAAME,kCAAkC,GAAIC,KAAD,IAAiC;AAC1E,MAAI,CAACA,KAAK,CAACC,QAAN,CAAe,GAAf,CAAL,EAA0B,MAAM,IAAIC,KAAJ,CAAU,4BAAV,CAAN;AAC1B,SAAOP,4BAA4B,CAAC,IAAIQ,MAAJ,CAAWH,KAAK,CAACI,KAAN,CAAY,CAAZ,EAAe,CAAC,CAAhB,CAAX,CAAD,CAAnC;AACD,CAHD;;AAKA,MAAMC,2BAA2B,GAAIL,KAAD,IAAiC;AACnE,MAAIA,KAAK,CAACC,QAAN,CAAe,IAAf,CAAJ,EAA0B;AACxBD,IAAAA,KAAK,GAAGA,KAAK,CAACI,KAAN,CAAY,CAAZ,EAAe,CAAC,CAAhB,CAAR;AACA,WAAQP,MAAD,IAAoBA,MAAM,CAACS,UAAP,CAAkBN,KAAlB,CAA3B;AACD;;AAED,SAAQH,MAAD,IAAoBA,MAAM,KAAKG,KAAtC;AACD,CAPD;;AAWO,SAASO,oBAAT,CACLC,UADK,EAEW;AAChB,MAAIC,UAAU,GAAG,KAAjB;AACA,QAAMC,WAA2B,GAAG,EAApC;AACA,QAAMC,KAAqB,GAAG,EAA9B;;AAEA,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcL,UAAd,CAAL,EAAgC;AAC9B,QAAIA,UAAU,YAAYL,MAA1B,EAAkC;AAChCO,MAAAA,WAAW,CAACI,IAAZ,CAAiBnB,4BAA4B,CAACa,UAAD,CAA7C;AACAA,MAAAA,UAAU,GAAGO,SAAb;AACD,KAHD,MAGO,IAAIP,UAAJ,EAAgB;AACrBA,MAAAA,UAAU,GAAGA,UAAU,CAACQ,IAAX,EAAb;;AAEA,UAAIR,UAAU,CAACF,UAAX,CAAsB,GAAtB,CAAJ,EAAgC;AAC9BI,QAAAA,WAAW,CAACI,IAAZ,CAAiBf,kCAAkC,CAACS,UAAD,CAAnD;AACAA,QAAAA,UAAU,GAAGO,SAAb;AACD,OAHD,MAGO;AACLP,QAAAA,UAAU,GAAGA,UAAU,CAACS,KAAX,CAAiB,QAAjB,CAAb;AACD;AACF;AACF;;AAED,MAAIT,UAAJ,EAAgB;AACbA,IAAAA,UAAD,CAAyBU,OAAzB,CAAkClB,KAAD,IAAW;AAC1C,UAAIN,kBAAkB,CAACI,IAAnB,CAAwBE,KAAxB,CAAJ,EAAoC;AAClC,cAAM,IAAIE,KAAJ,CACH,yBAAwBF,KAAM,4BAD3B,CAAN;AAGD;;AAED,UAAI,CAACA,KAAL,EAAY;;AAEZ,UAAIA,KAAK,KAAK,GAAd,EAAmB;AACjBS,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;;AAED,UAAIT,KAAK,CAACM,UAAN,CAAiB,GAAjB,CAAJ,EAA2B;AACzBK,QAAAA,KAAK,CAACG,IAAN,CAAWT,2BAA2B,CAACL,KAAK,CAACI,KAAN,CAAY,CAAZ,CAAD,CAAtC;AACD,OAFD,MAEO,IAAI,CAACK,UAAL,EAAiB;AACtBC,QAAAA,WAAW,CAACI,IAAZ,CAAiBT,2BAA2B,CAACL,KAAD,CAA5C;AACD;AACF,KAnBD;AAoBD;;AAED,MAAIS,UAAJ,EAAgB;AACd,QAAIE,KAAK,CAACQ,MAAN,KAAiB,CAArB,EAAwB;AACtB,aAAO,MAAMC,KAAK,CAACC,GAAnB;AACD,KAFD,MAEO;AACL,aAAO,CAACC,QAAD,EAAkBC,GAAlB,KACLZ,KAAK,CAACa,IAAN,CAAYC,IAAD,IAAUA,IAAI,CAACF,GAAD,CAAzB,IAAkCD,QAAlC,GAA6CF,KAAK,CAACC,GADrD;AAED;AACF;;AAED,MAAIX,WAAW,CAACS,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B,WAAQG,QAAD,IAAqBA,QAA5B;AACD;;AAED,SAAO,CAACA,QAAD,EAAkBC,GAAlB,KAAkC;AACvC,QAAID,QAAQ,KAAKF,KAAK,CAACC,GAAnB,IAA0B,CAACE,GAA/B,EAAoC;AAClC,aAAOD,QAAP;AACD;;AAED,QAAIZ,WAAW,CAACc,IAAZ,CAAkBE,EAAD,IAAQA,EAAE,CAACH,GAAD,CAA3B,CAAJ,EAAuC;AACrC,aAAOZ,KAAK,CAACa,IAAN,CAAYC,IAAD,IAAUA,IAAI,CAACF,GAAD,CAAzB,IAAkCD,QAAlC,GAA6CF,KAAK,CAACC,GAA1D;AACD;;AAED,WAAOC,QAAP;AACD,GAVD;AAWD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-node12.cjs.js b/packages/nightingale-debug/dist/index-node12.cjs.js index 82289a8bc..ae77b7168 100644 --- a/packages/nightingale-debug/dist/index-node12.cjs.js +++ b/packages/nightingale-debug/dist/index-node12.cjs.js @@ -82,7 +82,7 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(debugValue => debugValue(key))) { + if (debugValues.some(dv => dv(key))) { return skips.some(skip => skip(key)) ? minLevel : nightingaleLevels.Level.ALL; } diff --git a/packages/nightingale-debug/dist/index-node12.cjs.js.map b/packages/nightingale-debug/dist/index-node12.cjs.js.map index 86d9f11ea..ce580443c 100644 --- a/packages/nightingale-debug/dist/index-node12.cjs.js.map +++ b/packages/nightingale-debug/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-debug/dist/index-node12.mjs b/packages/nightingale-debug/dist/index-node12.mjs index 5bd85562a..0f1d5630e 100644 --- a/packages/nightingale-debug/dist/index-node12.mjs +++ b/packages/nightingale-debug/dist/index-node12.mjs @@ -78,7 +78,7 @@ function createFindDebugLevel(debugValue) { return minLevel; } - if (debugValues.some(debugValue => debugValue(key))) { + if (debugValues.some(dv => dv(key))) { return skips.some(skip => skip(key)) ? minLevel : Level.ALL; } diff --git a/packages/nightingale-debug/dist/index-node12.mjs.map b/packages/nightingale-debug/dist/index-node12.mjs.map index 1c20f848c..8ebe5418c 100644 --- a/packages/nightingale-debug/dist/index-node12.mjs.map +++ b/packages/nightingale-debug/dist/index-node12.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((debugValue) => debugValue(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable complexity */\nimport { Level } from 'nightingale-levels';\n\nconst specialRegexpChars = /[$()+.?[\\\\\\]^{|}]/;\n\ntype TestFunction = (string: string) => boolean;\nexport type DebugValueType = string | RegExp | string[];\n\nconst createTestFunctionFromRegexp =\n (regexp: RegExp): TestFunction =>\n (string: string) =>\n regexp.test(string);\n\nconst createTestFunctionFromRegexpString = (value: string): TestFunction => {\n if (!value.endsWith('/')) throw new Error('Invalid RegExp DEBUG value');\n return createTestFunctionFromRegexp(new RegExp(value.slice(1, -1)));\n};\n\nconst createTestFunctionFromValue = (value: string): TestFunction => {\n if (value.endsWith(':*')) {\n value = value.slice(0, -2);\n return (string: string) => string.startsWith(value);\n }\n\n return (string: string) => string === value;\n};\n\nexport type FindDebugLevel = (minLevel: Level, key: string) => Level;\n\nexport function createFindDebugLevel(\n debugValue?: DebugValueType,\n): FindDebugLevel {\n let isWildcard = false;\n const debugValues: TestFunction[] = [];\n const skips: TestFunction[] = [];\n\n if (!Array.isArray(debugValue)) {\n if (debugValue instanceof RegExp) {\n debugValues.push(createTestFunctionFromRegexp(debugValue));\n debugValue = undefined;\n } else if (debugValue) {\n debugValue = debugValue.trim();\n\n if (debugValue.startsWith('/')) {\n debugValues.push(createTestFunctionFromRegexpString(debugValue));\n debugValue = undefined;\n } else {\n debugValue = debugValue.split(/[\\s,]+/);\n }\n }\n }\n\n if (debugValue) {\n (debugValue as string[]).forEach((value) => {\n if (specialRegexpChars.test(value)) {\n throw new Error(\n `Invalid debug value: \"${value}\" (contains special chars)`,\n );\n }\n\n if (!value) return;\n\n if (value === '*') {\n isWildcard = true;\n return;\n }\n\n if (value.startsWith('-')) {\n skips.push(createTestFunctionFromValue(value.slice(1)));\n } else if (!isWildcard) {\n debugValues.push(createTestFunctionFromValue(value));\n }\n });\n }\n\n if (isWildcard) {\n if (skips.length === 0) {\n return () => Level.ALL;\n } else {\n return (minLevel: Level, key: string) =>\n skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n }\n\n if (debugValues.length === 0) {\n return (minLevel: Level) => minLevel;\n }\n\n return (minLevel: Level, key: string) => {\n if (minLevel === Level.ALL || !key) {\n return minLevel;\n }\n\n if (debugValues.some((dv) => dv(key))) {\n return skips.some((skip) => skip(key)) ? minLevel : Level.ALL;\n }\n\n return minLevel;\n };\n}\n\n/** @deprecated use named export instead */\nexport default createFindDebugLevel;\n"],"names":["specialRegexpChars","createTestFunctionFromRegexp","regexp","string","test","createTestFunctionFromRegexpString","value","endsWith","Error","RegExp","slice","createTestFunctionFromValue","startsWith","createFindDebugLevel","debugValue","isWildcard","debugValues","skips","Array","isArray","push","undefined","trim","split","forEach","length","Level","ALL","minLevel","key","some","skip","dv"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/formatObject.d.ts.map b/packages/nightingale-formatter/dist/formatObject.d.ts.map index e265f76a9..38ad4f5c7 100644 --- a/packages/nightingale-formatter/dist/formatObject.d.ts.map +++ b/packages/nightingale-formatter/dist/formatObject.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"formatObject.d.ts","sourceRoot":"","sources":["../src/formatObject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEhE,oBAAY,YAAY,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AA4Z9E,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,GAAE,OAAmB,EAC5B,YAAY,CAAC,EAAE,YAAY,EAC3B,EAAE,OAAc,EAAE,QAAa,EAAE,GAAE,mBAAwB,GAC1D,MAAM,CAkBR"} \ No newline at end of file +{"version":3,"file":"formatObject.d.ts","sourceRoot":"","sources":["../src/formatObject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEhE,oBAAY,YAAY,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAya9E,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,GAAE,OAAmB,EAC5B,YAAY,CAAC,EAAE,YAAY,EAC3B,EAAE,OAAc,EAAE,QAAa,EAAE,GAAE,mBAAwB,GAC1D,MAAM,CAkBR"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-browser-dev.cjs.js b/packages/nightingale-formatter/dist/index-browser-dev.cjs.js index 8e7e7236a..57c276ad1 100644 --- a/packages/nightingale-formatter/dist/index-browser-dev.cjs.js +++ b/packages/nightingale-formatter/dist/index-browser-dev.cjs.js @@ -183,6 +183,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -191,6 +195,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -249,6 +257,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { var _name = value.constructor.name; @@ -567,12 +579,12 @@ function formatRecordToString(record, style) { parts.push(message); } - var formatRecordObject = function formatRecordObject(key, object, styles) { + var formatRecordObject = function formatRecordObject(key, object, objectStyles) { if (!object) { return; } - var stringObject = formatObject(object, style, styles); + var stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-browser-dev.cjs.js.map b/packages/nightingale-formatter/dist/index-browser-dev.cjs.js.map index 14648d3e3..d017629bd 100644 --- a/packages/nightingale-formatter/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale-formatter/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-browser-dev.es.js b/packages/nightingale-formatter/dist/index-browser-dev.es.js index 387e8ca5d..400c5ed2c 100644 --- a/packages/nightingale-formatter/dist/index-browser-dev.es.js +++ b/packages/nightingale-formatter/dist/index-browser-dev.es.js @@ -175,6 +175,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -183,6 +187,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -241,6 +249,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { var _name = value.constructor.name; @@ -559,12 +571,12 @@ function formatRecordToString(record, style) { parts.push(message); } - var formatRecordObject = function formatRecordObject(key, object, styles) { + var formatRecordObject = function formatRecordObject(key, object, objectStyles) { if (!object) { return; } - var stringObject = formatObject(object, style, styles); + var stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-browser-dev.es.js.map b/packages/nightingale-formatter/dist/index-browser-dev.es.js.map index 1fd359861..8440529c4 100644 --- a/packages/nightingale-formatter/dist/index-browser-dev.es.js.map +++ b/packages/nightingale-formatter/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-browser.cjs.js b/packages/nightingale-formatter/dist/index-browser.cjs.js index 08b0a6eab..6a5f2d97a 100644 --- a/packages/nightingale-formatter/dist/index-browser.cjs.js +++ b/packages/nightingale-formatter/dist/index-browser.cjs.js @@ -183,6 +183,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -191,6 +195,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -249,6 +257,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { var _name = value.constructor.name; @@ -567,12 +579,12 @@ function formatRecordToString(record, style) { parts.push(message); } - var formatRecordObject = function formatRecordObject(key, object, styles) { + var formatRecordObject = function formatRecordObject(key, object, objectStyles) { if (!object) { return; } - var stringObject = formatObject(object, style, styles); + var stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-browser.cjs.js.map b/packages/nightingale-formatter/dist/index-browser.cjs.js.map index 247663a51..5ea26d9b2 100644 --- a/packages/nightingale-formatter/dist/index-browser.cjs.js.map +++ b/packages/nightingale-formatter/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-browser.es.js b/packages/nightingale-formatter/dist/index-browser.es.js index 9adf35870..e9da28f52 100644 --- a/packages/nightingale-formatter/dist/index-browser.es.js +++ b/packages/nightingale-formatter/dist/index-browser.es.js @@ -175,6 +175,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -183,6 +187,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -241,6 +249,10 @@ function internalFormatValue(value, styleFn, styles, _ref) { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { var _name = value.constructor.name; @@ -559,12 +571,12 @@ function formatRecordToString(record, style) { parts.push(message); } - var formatRecordObject = function formatRecordObject(key, object, styles) { + var formatRecordObject = function formatRecordObject(key, object, objectStyles) { if (!object) { return; } - var stringObject = formatObject(object, style, styles); + var stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-browser.es.js.map b/packages/nightingale-formatter/dist/index-browser.es.js.map index 8c7952a0a..6cb871741 100644 --- a/packages/nightingale-formatter/dist/index-browser.es.js.map +++ b/packages/nightingale-formatter/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-browsermodern-dev.es.js b/packages/nightingale-formatter/dist/index-browsermodern-dev.es.js index d8a24f806..c92275f65 100644 --- a/packages/nightingale-formatter/dist/index-browsermodern-dev.es.js +++ b/packages/nightingale-formatter/dist/index-browsermodern-dev.es.js @@ -171,6 +171,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -179,6 +183,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -237,6 +245,10 @@ function internalFormatValue(value, styleFn, styles, { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { const name = value.constructor.name; @@ -534,12 +546,12 @@ function formatRecordToString(record, style) { parts.push(message); } - const formatRecordObject = (key, object, styles) => { + const formatRecordObject = (key, object, objectStyles) => { if (!object) { return; } - const stringObject = formatObject(object, style, styles); + const stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-browsermodern-dev.es.js.map b/packages/nightingale-formatter/dist/index-browsermodern-dev.es.js.map index 6ec230ddc..2ba9abdf9 100644 --- a/packages/nightingale-formatter/dist/index-browsermodern-dev.es.js.map +++ b/packages/nightingale-formatter/dist/index-browsermodern-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-browsermodern.es.js b/packages/nightingale-formatter/dist/index-browsermodern.es.js index 885da20d5..4bbffd929 100644 --- a/packages/nightingale-formatter/dist/index-browsermodern.es.js +++ b/packages/nightingale-formatter/dist/index-browsermodern.es.js @@ -171,6 +171,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -179,6 +183,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -237,6 +245,10 @@ function internalFormatValue(value, styleFn, styles, { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { const name = value.constructor.name; @@ -534,12 +546,12 @@ function formatRecordToString(record, style) { parts.push(message); } - const formatRecordObject = (key, object, styles) => { + const formatRecordObject = (key, object, objectStyles) => { if (!object) { return; } - const stringObject = formatObject(object, style, styles); + const stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-browsermodern.es.js.map b/packages/nightingale-formatter/dist/index-browsermodern.es.js.map index 923ddb708..91c78c429 100644 --- a/packages/nightingale-formatter/dist/index-browsermodern.es.js.map +++ b/packages/nightingale-formatter/dist/index-browsermodern.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern.es.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browsermodern.es.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-node12-dev.cjs.js b/packages/nightingale-formatter/dist/index-node12-dev.cjs.js index a4cbdf905..c5201ee8a 100644 --- a/packages/nightingale-formatter/dist/index-node12-dev.cjs.js +++ b/packages/nightingale-formatter/dist/index-node12-dev.cjs.js @@ -175,6 +175,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -183,6 +187,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -241,6 +249,10 @@ function internalFormatValue(value, styleFn, styles, { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { const name = value.constructor.name; @@ -538,12 +550,12 @@ function formatRecordToString(record, style) { parts.push(message); } - const formatRecordObject = (key, object, styles) => { + const formatRecordObject = (key, object, objectStyles) => { if (!object) { return; } - const stringObject = formatObject(object, style, styles); + const stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-node12-dev.cjs.js.map b/packages/nightingale-formatter/dist/index-node12-dev.cjs.js.map index e826a3f9b..98eab2a9f 100644 --- a/packages/nightingale-formatter/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale-formatter/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-node12-dev.mjs b/packages/nightingale-formatter/dist/index-node12-dev.mjs index 03dd4d716..b96363b27 100644 --- a/packages/nightingale-formatter/dist/index-node12-dev.mjs +++ b/packages/nightingale-formatter/dist/index-node12-dev.mjs @@ -171,6 +171,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -179,6 +183,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -237,6 +245,10 @@ function internalFormatValue(value, styleFn, styles, { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { const name = value.constructor.name; @@ -534,12 +546,12 @@ function formatRecordToString(record, style) { parts.push(message); } - const formatRecordObject = (key, object, styles) => { + const formatRecordObject = (key, object, objectStyles) => { if (!object) { return; } - const stringObject = formatObject(object, style, styles); + const stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-node12-dev.mjs.map b/packages/nightingale-formatter/dist/index-node12-dev.mjs.map index 966843b0a..41b149465 100644 --- a/packages/nightingale-formatter/dist/index-node12-dev.mjs.map +++ b/packages/nightingale-formatter/dist/index-node12-dev.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.mjs","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.mjs","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-node12.cjs.js b/packages/nightingale-formatter/dist/index-node12.cjs.js index 423c55927..c8abcd921 100644 --- a/packages/nightingale-formatter/dist/index-node12.cjs.js +++ b/packages/nightingale-formatter/dist/index-node12.cjs.js @@ -175,6 +175,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -183,6 +187,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -241,6 +249,10 @@ function internalFormatValue(value, styleFn, styles, { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { const name = value.constructor.name; @@ -538,12 +550,12 @@ function formatRecordToString(record, style) { parts.push(message); } - const formatRecordObject = (key, object, styles) => { + const formatRecordObject = (key, object, objectStyles) => { if (!object) { return; } - const stringObject = formatObject(object, style, styles); + const stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-node12.cjs.js.map b/packages/nightingale-formatter/dist/index-node12.cjs.js.map index acd02de75..fd81d7df8 100644 --- a/packages/nightingale-formatter/dist/index-node12.cjs.js.map +++ b/packages/nightingale-formatter/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-formatter/dist/index-node12.mjs b/packages/nightingale-formatter/dist/index-node12.mjs index 0e49fe9ac..02368de8a 100644 --- a/packages/nightingale-formatter/dist/index-node12.mjs +++ b/packages/nightingale-formatter/dist/index-node12.mjs @@ -171,6 +171,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['cyan']; } else { switch (typeofValue) { + case 'undefined': + styles = ['cyan']; + break; + case 'boolean': styles = ['green']; break; @@ -179,6 +183,10 @@ function internalFormatValue(value, styleFn, styles, { styles = ['yellow']; break; + case 'bigint': + styles = ['red']; + break; + case 'string': styles = ['orange']; break; @@ -237,6 +245,10 @@ function internalFormatValue(value, styleFn, styles, { objects }); } + } else if (typeofValue === 'bigint') { + stringValue = value.toString(); + } else if (typeofValue === 'symbol') { + stringValue = value.toString(); } else if (value instanceof Set) { const name = value.constructor.name; @@ -534,12 +546,12 @@ function formatRecordToString(record, style) { parts.push(message); } - const formatRecordObject = (key, object, styles) => { + const formatRecordObject = (key, object, objectStyles) => { if (!object) { return; } - const stringObject = formatObject(object, style, styles); + const stringObject = formatObject(object, style, objectStyles); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/dist/index-node12.mjs.map b/packages/nightingale-formatter/dist/index-node12.mjs.map index 9e55e0286..bbdf29bd7 100644 --- a/packages/nightingale-formatter/dist/index-node12.mjs.map +++ b/packages/nightingale-formatter/dist/index-node12.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.mjs","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n styles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, styles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":";;MAIaA,aAA4B,GAAG;AAC1C,GAACC,KAAK,CAACC,KAAP,GAAe,CAAC,MAAD,CAD2B;AAE1C,GAACD,KAAK,CAACE,KAAP,GAAe,CAAC,MAAD,CAF2B;AAG1C;AACA,GAACF,KAAK,CAACG,IAAP,GAAc,CAAC,QAAD,CAJ4B;AAK1C,GAACH,KAAK,CAACI,KAAP,GAAe,CAAC,KAAD,EAAQ,MAAR,CAL2B;AAM1C,GAACJ,KAAK,CAACK,QAAP,GAAkB,CAAC,KAAD,EAAQ,MAAR,CANwB;AAO1C,GAACL,KAAK,CAACM,KAAP,GAAe,CAAC,OAAD,EAAU,OAAV,CAP2B;AAQ1C,GAACN,KAAK,CAACO,SAAP,GAAmB,CAAC,OAAD,EAAU,OAAV;AARuB;;MCA/BC,aAA4B,GAAG;AAC1C,GAACR,KAAK,CAACC,KAAP,GAAe,GAD2B;AAE1C,GAACD,KAAK,CAACE,KAAP,GAAe,GAF2B;AAG1C,GAACF,KAAK,CAACS,IAAP,GAAc,GAH4B;AAI1C,GAACT,KAAK,CAACG,IAAP,GAAc,GAJ4B;AAK1C,GAACH,KAAK,CAACI,KAAP,GAAe,GAL2B;AAM1C,GAACJ,KAAK,CAACK,QAAP,GAAkB,GANwB;AAO1C,GAACL,KAAK,CAACM,KAAP,GAAe,GAP2B;AAQ1C,GAACN,KAAK,CAACO,SAAP,GAAmB;AARuB;;MCF/BG,eAAgC,GAAG;AAC9CC,EAAAA,MAAM,EAAE,QADsC;AAE9CC,EAAAA,SAAS,EAAE,QAFmC;AAG9C,gBAAc;AAHgC;;MCOnCC,0BAA4C,GAAG;AAC1D;AACAC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,IAAI,EAAE,mBAAR;AAA6BC,IAAAA,KAAK,EAAE;AAApC,GAFoD;AAG1DC,EAAAA,MAAM,EAAE;AAAEF,IAAAA,IAAI,EAAE,oBAAR;AAA8BC,IAAAA,KAAK,EAAE;AAArC,GAHkD;AAI1DE,EAAAA,SAAS,EAAE;AACTH,IAAAA,IAAI,EAAE,4BADG;AAETC,IAAAA,KAAK,EAAE;AAFE,GAJ+C;AAQ1DG,EAAAA,OAAO,EAAE;AACPJ,IAAAA,IAAI,EAAE,6CADC;AAEPC,IAAAA,KAAK,EAAE;AAFA,GARiD;AAY1DI,EAAAA,aAAa,EAAE;AACbL,IAAAA,IAAI,EAAE,+BADO;AAEbC,IAAAA,KAAK,EAAE;AAFM,GAZ2C;AAiB1DK,EAAAA,KAAK,EAAE;AAAEN,IAAAA,IAAI,EAAE,cAAR;AAAwBC,IAAAA,KAAK,EAAE;AAA/B,GAjBmD;AAkB1DM,EAAAA,GAAG,EAAE;AAAEP,IAAAA,IAAI,EAAE,gBAAR;AAA0BC,IAAAA,KAAK,EAAE;AAAjC,GAlBqD;AAmB1DO,EAAAA,KAAK,EAAE;AAAER,IAAAA,IAAI,EAAE,gBAAR;AAA0BC,IAAAA,KAAK,EAAE;AAAjC,GAnBmD;AAoB1DQ,EAAAA,MAAM,EAAE;AAAET,IAAAA,IAAI,EAAE,gBAAR;AAA0BC,IAAAA,KAAK,EAAE;AAAjC,GApBkD;AAqB1DS,EAAAA,IAAI,EAAE;AAAEV,IAAAA,IAAI,EAAE,gBAAR;AAA0BC,IAAAA,KAAK,EAAE;AAAjC,GArBoD;AAsB1DU,EAAAA,OAAO,EAAE;AAAEX,IAAAA,IAAI,EAAE,gBAAR;AAA0BC,IAAAA,KAAK,EAAE;AAAjC,GAtBiD;AAuB1DW,EAAAA,IAAI,EAAE;AAAEZ,IAAAA,IAAI,EAAE,gBAAR;AAA0BC,IAAAA,KAAK,EAAE;AAAjC,GAvBoD;AAwB1DY,EAAAA,KAAK,EAAE;AAAEb,IAAAA,IAAI,EAAE,cAAR;AAAwBC,IAAAA,KAAK,EAAE;AAA/B,GAxBmD;AAyB1Da,EAAAA,IAAI,EAAE;AAAEd,IAAAA,IAAI,EAAE,aAAR;AAAuBC,IAAAA,KAAK,EAAE;AAA9B,GAzBoD;AA2B1Dc,EAAAA,OAAO,EAAE;AAAEf,IAAAA,IAAI,EAAE,mBAAR;AAA6BC,IAAAA,KAAK,EAAE;AAApC,GA3BiD;AA4B1De,EAAAA,KAAK,EAAE;AAAEhB,IAAAA,IAAI,EAAE,qBAAR;AAA+BC,IAAAA,KAAK,EAAE;AAAtC,GA5BmD;AA6B1DgB,EAAAA,OAAO,EAAE;AAAEjB,IAAAA,IAAI,EAAE,qBAAR;AAA+BC,IAAAA,KAAK,EAAE;AAAtC,GA7BiD;AA8B1DiB,EAAAA,QAAQ,EAAE;AAAElB,IAAAA,IAAI,EAAE,qBAAR;AAA+BC,IAAAA,KAAK,EAAE;AAAtC,GA9BgD;AA+B1DkB,EAAAA,MAAM,EAAE;AAAEnB,IAAAA,IAAI,EAAE,qBAAR;AAA+BC,IAAAA,KAAK,EAAE;AAAtC,GA/BkD;AAgC1DmB,EAAAA,SAAS,EAAE;AAAEpB,IAAAA,IAAI,EAAE,qBAAR;AAA+BC,IAAAA,KAAK,EAAE;AAAtC,GAhC+C;AAiC1DoB,EAAAA,MAAM,EAAE;AAAErB,IAAAA,IAAI,EAAE,qBAAR;AAA+BC,IAAAA,KAAK,EAAE;AAAtC,GAjCkD;AAkC1DqB,EAAAA,OAAO,EAAE;AAAEtB,IAAAA,IAAI,EAAE,mBAAR;AAA6BC,IAAAA,KAAK,EAAE;AAApC,GAlCiD;AAoC1DL,EAAAA,MAAM,EAAE;AACNI,IAAAA,IAAI,EAAG,WAAUL,eAAe,CAACC,MAAO,EADlC;AAENK,IAAAA,KAAK,EAAE;AAFD,GApCkD;AAwC1DJ,EAAAA,SAAS,EAAE;AACTG,IAAAA,IAAI,EAAG,WAAUL,eAAe,CAACE,SAAU,EADlC;AAETI,IAAAA,KAAK,EAAE;AAFE,GAxC+C;AA4C1D,gBAAc;AACZD,IAAAA,IAAI,EAAG,WAAUL,eAAe,CAACE,SAAU,EAD/B;AAEZI,IAAAA,KAAK,EAAE;AAFK;AA5C4C;MAkD/CsB,yBAA2C,GAAG,EACzD,GAAGzB,0BADsD;AAEzDQ,EAAAA,KAAK,EAAER,0BAA0B,CAACe,KAFuB;AAGzDE,EAAAA,OAAO,EAAEjB,0BAA0B,CAACwB,OAHqB;AAIzDT,EAAAA,KAAK,EAAEf,0BAA0B,CAACQ,KAJuB;AAKzDgB,EAAAA,OAAO,EAAExB,0BAA0B,CAACiB,OALqB;AAMzDD,EAAAA,IAAI,EAAE;AAAEd,IAAAA,IAAI,EAAE,kBAAR;AAA4BC,IAAAA,KAAK,EAAE;AAAnC;AANmD;;AC3D3D;AAYA,MAAMuB,SAAkB,GAAG,CAACC,MAAD,EAAiBC,KAAjB,KAA2CA,KAAtE;;AAuCA,SAASC,YAAT,CAAsBC,GAAtB,EAA4C;AAC1C,MAAI;AACF,WAAOC,IAAI,CAACC,SAAL,CAAeF,GAAf,EAAoBG,OAApB,CAA4B,MAA5B,EAAoC,IAApC,CAAP;AACD,GAFD,CAEE,MAAM;AACN,WAAO,YAAP;AACD;AACF;;AAED,MAAMC,qBAAqB,GAAIN,KAAD,KAAoC;AAChEO,EAAAA,WAAW,EAAEP,KADmD;AAEhEQ,EAAAA,cAAc,EAAER;AAFgD,CAApC,CAA9B;;AAKA,SAASS,mBAAT,CACET,KADF,EAEEU,OAFF,EAGEX,MAHF,EAIE;AAAEY,EAAAA,OAAF;AAAWC,EAAAA,KAAX;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA;AAA5B,CAJF,EAKkB;AAChB,QAAMC,WAAW,GAAG,OAAOf,KAA3B;;AAEA,MAAI,CAACD,MAAL,EAAa;AACX,QAAIC,KAAK,IAAI,IAAb,EAAmB;AACjBD,MAAAA,MAAM,GAAG,CAAC,MAAD,CAAT;AACD,KAFD,MAEO;AACL,cAAQgB,WAAR;AACE,aAAK,SAAL;AACEhB,UAAAA,MAAM,GAAG,CAAC,OAAD,CAAT;AACA;;AACF,aAAK,QAAL;AACEA,UAAAA,MAAM,GAAG,CAAC,QAAD,CAAT;AACA;;AACF,aAAK,QAAL;AACEA,UAAAA,MAAM,GAAG,CAAC,QAAD,CAAT;AACA;;AACF,aAAK,QAAL;AACEA,UAAAA,MAAM,GAAG,CAAC,SAAD,CAAT;AACA;AAZJ;AAcD;AACF;;AAED,MAAIQ,WAAJ;;AACA,MAAIP,KAAK,KAAK,IAAd,EAAoB;AAClBO,IAAAA,WAAW,GAAG,MAAd;AACD,GAFD,MAEO,IAAIP,KAAK,KAAKgB,SAAd,EAAyB;AAC9BT,IAAAA,WAAW,GAAG,WAAd;AACD,GAFM,MAEA,IAAIQ,WAAW,KAAK,SAApB,EAA+B;AACpC;AACAR,IAAAA,WAAW,GAAIP,KAAD,CAAeiB,QAAf,EAAd;AACD,GAHM,MAGA,IAAKjB,KAAD,CAAyBkB,WAAzB,KAAyCC,MAA7C,EAAqD;AAC1D,QAAIP,KAAK,IAAIC,QAAb,EAAuB;AACrBN,MAAAA,WAAW,GAAG,aAAd;AACD,KAFD,MAEO;AACL,aAAOa,oBAAoB,CACzBpB,KADyB,EAEzBU,OAFyB,EAGzBM,SAHyB,EAIzB;AACEL,QAAAA,OADF;AAEEC,QAAAA,KAAK,EAAEA,KAAK,GAAG,CAFjB;AAGEC,QAAAA,QAHF;AAIEC,QAAAA;AAJF,OAJyB,CAA3B;AAWD;AACF,GAhBM,MAgBA,IAAIO,KAAK,CAACC,OAAN,CAActB,KAAd,CAAJ,EAA0B;AAC/B,QAAIY,KAAK,IAAIC,QAAb,EAAuB;AACrBN,MAAAA,WAAW,GAAG,YAAd;AACD,KAFD,MAEO;AACL,aAAOgB,mBAAmB,CAACvB,KAAD,EAAQU,OAAR,EAAiB;AACzCC,QAAAA,OADyC;AAEzCC,QAAAA,KAAK,EAAEA,KAAK,GAAG,CAF0B;AAGzCC,QAAAA,QAHyC;AAIzCC,QAAAA;AAJyC,OAAjB,CAA1B;AAMD;AACF,GAXM,MAWA,IAAId,KAAK,YAAYwB,KAArB,EAA4B;AACjC,UAAMC,KAAK,GAAGzB,KAAK,CAACyB,KAApB;AACAlB,IAAAA,WAAW,GAAGkB,KAAK,SAAL,IAAAA,KAAK,WAAL,IAAAA,KAAK,CAAEC,UAAP,CAAkB1B,KAAK,CAAC2B,OAAxB,IACVF,KADU,GAET,GAAEzB,KAAK,CAAC2B,OAAQ,KAAIF,KAAK,IAAI,EAAG,EAFrC;AAGD,GALM,MAKA,IAAIzB,KAAK,YAAY4B,GAArB,EAA0B;AAC/B,UAAMC,IAAI,GAAG7B,KAAK,CAACkB,WAAN,CAAkBW,IAA/B;;AACA,QAAIjB,KAAK,IAAIC,QAAb,EAAuB;AACrBN,MAAAA,WAAW,GAAI,IAAGsB,IAAK,MAAvB;AACD,KAFD,MAEO;AACL,aAAOC,iBAAiB,CAACD,IAAD,EAAO7B,KAAP,EAAcU,OAAd,EAAuB;AAC7CC,QAAAA,OAD6C;AAE7CC,QAAAA,KAAK,EAAEA,KAAK,GAAG,CAF8B;AAG7CC,QAAAA,QAH6C;AAI7CC,QAAAA;AAJ6C,OAAvB,CAAxB;AAMD;AACF,GAZM,MAYA,IAAId,KAAK,YAAY+B,GAArB,EAA0B;AAC/B,UAAMF,IAAI,GAAG7B,KAAK,CAACkB,WAAN,CAAkBW,IAA/B;;AACA,QAAIjB,KAAK,IAAIC,QAAb,EAAuB;AACrBN,MAAAA,WAAW,GAAI,IAAGsB,IAAK,MAAvB;AACD,KAFD,MAEO;AACL,aAAOG,iBAAiB,CAACH,IAAD,EAAO7B,KAAP,EAAcU,OAAd,EAAuB;AAC7CC,QAAAA,OAD6C;AAE7CC,QAAAA,KAAK,EAAEA,KAAK,GAAG,CAF8B;AAG7CC,QAAAA,QAH6C;AAI7CC,QAAAA;AAJ6C,OAAvB,CAAxB;AAMD;AACF,GAZM,MAYA,IAAId,KAAK,YAAYiC,OAArB,EAA8B;AACnC1B,IAAAA,WAAW,GAAG,cAAd;AACD,GAFM,MAEA,IAAIP,KAAK,YAAYkC,OAArB,EAA8B;AACnC3B,IAAAA,WAAW,GAAG,cAAd;AACD,GAFM,MAEA;AACLA,IAAAA,WAAW,GAAGN,YAAY,CAACD,KAAD,CAA1B;AACD;;AAED,QAAMQ,cAAc,GAAGE,OAAO,CAACX,MAAD,EAASQ,WAAT,CAA9B;AAEA,SAAO;AACLA,IAAAA,WADK;AAELC,IAAAA;AAFK,GAAP;AAID;;AAED,MAAM2B,SAAS,GAAG,GAAlB;;AAEA,MAAMC,iBAAoC,GAAG,CAC3CC,GAD2C,EAE3C3B,OAF2C,KAI1B;AACjB,SAAO;AACL4B,IAAAA,SAAS,EAAG,GAAED,GAAI,IADb;AAELE,IAAAA,YAAY,EAAG,GAAE7B,OAAO,CAAC,CAAC,YAAD,EAAe,MAAf,CAAD,EAA0B,GAAE2B,GAAI,GAAhC,CAAoC;AAFvD,GAAP;AAID,CATD;;AAWA,MAAMG,aAAmC,GAAG,MAIzB;AACjB,SAAO;AAAEF,IAAAA,SAAS,EAAE,EAAb;AAAiBC,IAAAA,YAAY,EAAE;AAA/B,GAAP;AACD,CAND;;AAQA,MAAME,oBAAwC,GAAG,CAC/CJ,GAD+C,EAE/C3B,OAF+C,EAG/CgC,oBAH+C,KAI9B;AACjB,QAAM;AAAEnC,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAAkCC,mBAAmB,CACzD4B,GADyD,EAEzDvC,SAFyD,EAGzDkB,SAHyD,EAIzD0B,oBAJyD,CAA3D;AAMA,SAAO;AACLJ,IAAAA,SAAS,EAAG,GAAE/B,WAAY,MADrB;AAELgC,IAAAA,YAAY,EAAG,GAAE7B,OAAO,CAAC,CAAC,YAAD,EAAe,MAAf,CAAD,EAA0B,GAAEF,cAAe,GAA3C,CAA+C;AAFlE,GAAP;AAID,CAfD;;AAiBA,MAAMmC,sBAAsB,GAAG,CAC7BC,MAD6B,EAE7BlC,OAF6B,EAG7BmC,YAH6B,EAI7B;AAAElC,EAAAA,OAAF;AAAWC,EAAAA,KAAX;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA;AAA5B,CAJ6B,EAK7B;AACEgC,EAAAA,MADF;AAEEC,EAAAA,MAFF;AAGEC,EAAAA,iBAAiB,GAAG,GAHtB;AAIEC,EAAAA;AAJF,CAL6B,KAWV;AACnB,MAAIC,SAAS,GAAG,KAAhB;;AACA,QAAMC,kBAAkB,GAAG,MAAczC,OAAO,CAAC,CAAC,MAAD,CAAD,EAAWyB,SAAX,CAAhD;;AAEA,QAAMiB,cAAc,GAAGR,MAAM,CAACS,MAAP,GAAgB,CAAvC;AACA,QAAMC,eAAiC,GAAGV,MAAM,CAACW,GAAP,CACxC,CAAC;AAAElB,IAAAA,GAAF;AAAOrC,IAAAA;AAAP,GAAD,EAAiBwD,KAAjB,KAAmC;AAEjC,UAAMd,oBAAoB,GAAG;AAC3B/B,MAAAA,OAD2B;AAE3BC,MAAAA,KAAK,EAHWA,KAAK,GAAG,CACG;AAG3BC,MAAAA,QAH2B;AAI3BC,MAAAA;AAJ2B,KAA7B,CAFiC;;AAUjC,UAAM;AAAEwB,MAAAA,SAAF;AAAaC,MAAAA;AAAb,QAA8BU,SAAS,CAC3CZ,GAD2C,EAE3C3B,OAF2C,EAG3CgC,oBAH2C,CAA7C;AAMA,QAAI;AAAEnC,MAAAA,WAAF;AAAeC,MAAAA;AAAf,QAAkCC,mBAAmB,CACvDT,KADuD,EAEvDU,OAFuD,EAGvD2B,GAAG,IAAIQ,YAAP,GACIA,YAAY,CAACR,GAAD,CADhB,GAEIrB,SALmD,EAMvD0B,oBANuD,CAAzD;;AASA,QACEnC,WAAW,KACVA,WAAW,CAAC8C,MAAZ,GAAqB,EAArB,IAA2B9C,WAAW,CAACkD,QAAZ,CAAqB,IAArB,CADjB,CADb,EAGE;AACAP,MAAAA,SAAS,GAAG,IAAZ;AACA3C,MAAAA,WAAW,GAAGA,WAAW,CAACF,OAAZ,CAAoB,KAApB,EAA4B,KAAIM,OAAQ,EAAxC,CAAd;AACAH,MAAAA,cAAc,GAAGA,cAAc,CAACH,OAAf,CAAuB,KAAvB,EAA+B,KAAIM,OAAQ,EAA3C,CAAjB;AACD;;AAED,WAAO;AACLJ,MAAAA,WAAW,EACT+B,SAAS,GAAG/B,WAAZ,IAA2BiD,KAAK,KAAKJ,cAAV,GAA2B,EAA3B,GAAgCjB,SAA3D,CAFG;AAGL3B,MAAAA,cAAc,EACZ+B,YAAY,GACZ/B,cADA,IAECgD,KAAK,KAAKJ,cAAV,GAA2B,EAA3B,GAAgCD,kBAAkB,EAFnD,CAJG;;AAAA,KAAP;AASD,GA5CuC,CAA1C;AA+CA,SAAO;AACL5C,IAAAA,WAAW,EACTuC,MAAM,GACNQ,eAAe,CACZC,GADH,CAEIL,SAAS,GACJQ,CAAD,IAAQ,KAAI/C,OAAQ,GAAE+C,CAAC,CAACnD,WAAY,EAD/B,GAEJoD,EAAD,IAAQA,EAAE,CAACpD,WAJnB,EAMGqD,IANH,CAMQV,SAAS,GAAG,IAAH,GAAU,GAN3B,CADA,GAQAH,MAVG;AAWLvC,IAAAA,cAAc,EAAG,GAAEsC,MAAO,GACxBI,SAAS,GAAG,EAAH,GAAQF,iBAClB,GAAEM,eAAe,CACfC,GADA,CAECL,SAAS,GACJQ,CAAD,IAAQ,KAAI/C,OAAQ,GAAE+C,CAAC,CAAClD,cAAe,EADlC,GAEJkD,CAAD,IAAOA,CAAC,CAAClD,cAJd,EAMAoD,IANA,CAMKV,SAAS,GAAG,EAAH,GAAQ,GANtB,CAM2B,GAC5BA,SAAS,GAAG,KAAH,GAAWF,iBACrB,GAAED,MAAO;AArBL,GAAP;AAuBD,CAtFD;;AAwFA,SAAS3B,oBAAT,CACEyC,MADF,EAEEnD,OAFF,EAGEmC,YAHF,EAIE;AAAElC,EAAAA,OAAF;AAAWC,EAAAA,KAAX;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA;AAA5B,CAJF,EAKkB;AAChB,MAAIA,OAAO,CAACgD,GAAR,CAAYD,MAAZ,CAAJ,EAAyB;AACvB,WAAOvD,qBAAqB,CAAC,mBAAD,CAA5B;AACD;;AAED,QAAMyD,IAAc,GAAG5C,MAAM,CAAC4C,IAAP,CAAYF,MAAZ,CAAvB;;AACA,MAAIE,IAAI,CAACV,MAAL,KAAgB,CAApB,EAAuB;AACrB,WAAO/C,qBAAqB,CAAC,IAAD,CAA5B;AACD;;AAEDQ,EAAAA,OAAO,CAACkD,GAAR,CAAYH,MAAZ;AAEA,QAAMI,MAAM,GAAGtB,sBAAsB,CACnCoB,IAAI,CAACR,GAAL,CAAUlB,GAAD,KAAU;AAAEA,IAAAA,GAAF;AAAOrC,IAAAA,KAAK,EAAE6D,MAAM,CAACxB,GAAD;AAApB,GAAV,CAAT,CADmC,EAEnC3B,OAFmC,EAGnCmC,YAHmC,EAInC;AAAElC,IAAAA,OAAF;AAAWC,IAAAA,KAAX;AAAkBC,IAAAA,QAAlB;AAA4BC,IAAAA;AAA5B,GAJmC,EAKnC;AAAEgC,IAAAA,MAAM,EAAE,GAAV;AAAeC,IAAAA,MAAM,EAAE,GAAvB;AAA4BE,IAAAA,SAAS,EAAEb;AAAvC,GALmC,CAArC;AAQAtB,EAAAA,OAAO,CAACoD,MAAR,CAAeL,MAAf;AAEA,SAAOI,MAAP;AACD;;AAED,SAASnC,iBAAT,CACED,IADF,EAEE0B,GAFF,EAGE7C,OAHF,EAIE;AAAEC,EAAAA,OAAF;AAAWC,EAAAA,KAAX;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA;AAA5B,CAJF,EAKkB;AAChB,MAAIA,OAAO,CAACgD,GAAR,CAAYP,GAAZ,CAAJ,EAAsB;AACpB,WAAOjD,qBAAqB,CAAE,aAAYuB,IAAK,GAAnB,CAA5B;AACD;;AAED,QAAMkC,IAAI,GAAG,CAAC,GAAGR,GAAG,CAACQ,IAAJ,EAAJ,CAAb;;AACA,MAAIA,IAAI,CAACV,MAAL,KAAgB,CAApB,EAAuB;AACrB,WAAO/C,qBAAqB,CAAE,GAAEuB,IAAK,KAAT,CAA5B;AACD;;AAEDf,EAAAA,OAAO,CAACkD,GAAR,CAAYT,GAAZ;AAEA,QAAMU,MAAM,GAAGtB,sBAAsB,CACnCoB,IAAI,CAACR,GAAL,CAAUlB,GAAD,KAAU;AAAEA,IAAAA,GAAF;AAAOrC,IAAAA,KAAK,EAAEuD,GAAG,CAACY,GAAJ,CAAQ9B,GAAR;AAAd,GAAV,CAAT,CADmC,EAEnC3B,OAFmC,EAGnCM,SAHmC,EAInC;AAAEL,IAAAA,OAAF;AAAWC,IAAAA,KAAX;AAAkBC,IAAAA,QAAlB;AAA4BC,IAAAA;AAA5B,GAJmC,EAKnC;AAAEgC,IAAAA,MAAM,EAAG,GAAEjB,IAAK,IAAlB;AAAuBkB,IAAAA,MAAM,EAAE,GAA/B;AAAoCE,IAAAA,SAAS,EAAER;AAA/C,GALmC,CAArC;AAQA3B,EAAAA,OAAO,CAACoD,MAAR,CAAeX,GAAf;AAEA,SAAOU,MAAP;AACD;;AAED,SAAS1C,mBAAT,CACE6C,KADF,EAEE1D,OAFF,EAGE;AAAEC,EAAAA,OAAF;AAAWC,EAAAA,KAAX;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA;AAA5B,CAHF,EAIkB;AAChB,MAAIA,OAAO,CAACgD,GAAR,CAAYM,KAAZ,CAAJ,EAAwB;AACtB,WAAO9D,qBAAqB,CAAC,kBAAD,CAA5B;AACD;;AAED,MAAI8D,KAAK,CAACf,MAAN,KAAiB,CAArB,EAAwB;AACtB,WAAO/C,qBAAqB,CAAC,IAAD,CAA5B;AACD;;AAEDQ,EAAAA,OAAO,CAACkD,GAAR,CAAYI,KAAZ;AAEA,QAAMH,MAAM,GAAGtB,sBAAsB,CACnCyB,KAAK,CAACb,GAAN,CAAWvD,KAAD,KAAY;AAAEqC,IAAAA,GAAG,EAAErB,SAAP;AAAkBhB,IAAAA;AAAlB,GAAZ,CAAV,CADmC,EAEnCU,OAFmC,EAGnCM,SAHmC,EAInC;AAAEL,IAAAA,OAAF;AAAWC,IAAAA,KAAX;AAAkBC,IAAAA,QAAlB;AAA4BC,IAAAA;AAA5B,GAJmC,EAKnC;AACEgC,IAAAA,MAAM,EAAE,GADV;AAEEC,IAAAA,MAAM,EAAE,GAFV;AAGEC,IAAAA,iBAAiB,EAAE,EAHrB;AAIEC,IAAAA,SAAS,EAAET;AAJb,GALmC,CAArC;AAaA1B,EAAAA,OAAO,CAACoD,MAAR,CAAeE,KAAf;AAEA,SAAOH,MAAP;AACD;;AAED,SAASjC,iBAAT,CACEH,IADF,EAEEwC,GAFF,EAGE3D,OAHF,EAIE;AAAEC,EAAAA,OAAF;AAAWC,EAAAA,KAAX;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA;AAA5B,CAJF,EAKkB;AAChB,MAAIA,OAAO,CAACgD,GAAR,CAAYO,GAAZ,CAAJ,EAAsB;AACpB,WAAO/D,qBAAqB,CAAE,aAAYuB,IAAK,GAAnB,CAA5B;AACD;;AAED,QAAMe,MAAM,GAAG,CAAC,GAAGyB,GAAG,CAACzB,MAAJ,EAAJ,CAAf;;AACA,MAAIA,MAAM,CAACS,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO/C,qBAAqB,CAAE,GAAEuB,IAAK,KAAT,CAA5B;AACD;;AAEDf,EAAAA,OAAO,CAACkD,GAAR,CAAYK,GAAZ;AAEA,QAAMJ,MAAM,GAAGtB,sBAAsB,CACnCC,MAAM,CAACW,GAAP,CAAYvD,KAAD,KAAY;AAAEqC,IAAAA,GAAG,EAAErB,SAAP;AAAkBhB,IAAAA;AAAlB,GAAZ,CAAX,CADmC,EAEnCU,OAFmC,EAGnCM,SAHmC,EAInC;AAAEL,IAAAA,OAAF;AAAWC,IAAAA,KAAX;AAAkBC,IAAAA,QAAlB;AAA4BC,IAAAA;AAA5B,GAJmC,EAKnC;AAAEgC,IAAAA,MAAM,EAAG,GAAEjB,IAAK,IAAlB;AAAuBkB,IAAAA,MAAM,EAAE,GAA/B;AAAoCE,IAAAA,SAAS,EAAET;AAA/C,GALmC,CAArC;AAQA1B,EAAAA,OAAO,CAACoD,MAAR,CAAeG,GAAf;AAEA,SAAOJ,MAAP;AACD;;AAEM,SAASK,YAAT,CACLT,MADK,EAELnD,OAAgB,GAAGZ,SAFd,EAGL+C,YAHK,EAIL;AAAElC,EAAAA,OAAO,GAAG,IAAZ;AAAkBE,EAAAA,QAAQ,GAAG;AAA7B,IAAyD,EAJpD,EAKG;AACR,QAAM;AAAEL,IAAAA,cAAc,EAAEyD;AAAlB,MAA6B7C,oBAAoB,CACrDyC,MADqD,EAErDnD,OAFqD,EAGrDmC,YAHqD,EAIrD;AACElC,IAAAA,OADF;AAEEE,IAAAA,QAFF;AAGED,IAAAA,KAAK,EAAE,CAHT;AAIEE,IAAAA,OAAO,EAAE,IAAIiB,GAAJ;AAJX,GAJqD,CAAvD;;AAYA,MAAIkC,MAAM,KAAK,IAAf,EAAqB;AACnB,WAAO,EAAP;AACD;;AAED,SAAOA,MAAP;AACD;;ACvbM,SAASM,oBAAT,CACLC,MADK,EAELC,KAFK,EAGG;AACR,QAAMC,KAAe,GAAG,EAAxB;;AAEA,MAAIF,MAAM,CAACG,WAAX,EAAwB;AACtBD,IAAAA,KAAK,CAACE,IAAN,CAAWH,KAAK,CAAC,CAAC,YAAD,CAAD,EAAiBD,MAAM,CAACG,WAAxB,CAAhB;AACD,GAFD,MAEO,IAAIH,MAAM,CAACnC,GAAX,EAAgB;AACrBqC,IAAAA,KAAK,CAACE,IAAN,CAAWH,KAAK,CAAC,CAAC,YAAD,CAAD,EAAiBD,MAAM,CAACnC,GAAxB,CAAhB;AACD;;AAED,MAAImC,MAAM,CAACK,QAAX,EAAqB;AACnBH,IAAAA,KAAK,CAACE,IAAN,CACEH,KAAK,CAAC,CAAC,MAAD,EAAS,MAAT,CAAD,EAAmBD,MAAM,CAACK,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAnB,CADP;AAGA;AACD;;AAED,MAAIpD,OAAe,GAAG6C,MAAM,CAACQ,MAAP,IAAiBjH,aAAa,CAACyG,MAAM,CAACS,KAAR,CAApD;AACA,QAAMlF,MAAM,GAAGyE,MAAM,CAACzE,MAAP,IAAiBzC,aAAa,CAACkH,MAAM,CAACS,KAAR,CAA7C;;AAEA,MAAIT,MAAM,CAAC7C,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,MAAAA,OAAO,IAAK,IAAG6C,MAAM,CAAC7C,OAAQ,EAA9B;AACD,KAFD,MAEO;AACLA,MAAAA,OAAO,GAAG6C,MAAM,CAAC7C,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAI5B,MAAJ,EAAY;AACV4B,MAAAA,OAAO,GAAG8C,KAAK,CAAC1E,MAAD,EAAS4B,OAAT,CAAf;AACD;;AACD+C,IAAAA,KAAK,CAACE,IAAN,CAAWjD,OAAX;AACD;;AAED,QAAMuD,kBAAkB,GAAG,CACzB7C,GADyB,EAEzBwB,MAFyB,EAGzB9D,MAHyB,KAIhB;AACT,QAAI,CAAC8D,MAAL,EAAa;AACX;AACD;;AAED,UAAMsB,YAAY,GAAGb,YAAY,CAACT,MAAD,EAASY,KAAT,EAAgB1E,MAAhB,CAAjC;;AAEA,QAAI,CAACoF,YAAL,EAAmB;AACjB;AACD;;AAEDT,IAAAA,KAAK,CAACE,IAAN,CAAWO,YAAX;AACD,GAhBD;;AAkBAD,EAAAA,kBAAkB,CAAC,UAAD,EAAaV,MAAM,CAACY,QAApB,EAA8BZ,MAAM,CAACa,cAArC,CAAlB;AACAH,EAAAA,kBAAkB,CAAC,OAAD,EAAUV,MAAM,CAACc,KAAjB,EAAwBtE,SAAxB,CAAlB;AACAkE,EAAAA,kBAAkB,CAAC,SAAD,EAAYV,MAAM,CAACe,OAAnB,EAA4BvE,SAA5B,CAAlB;AAEA,SAAO0D,KAAK,CAACd,IAAN,CAAW,GAAX,CAAP;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.mjs","sources":["../src/levelToStyles.ts","../src/levelToSymbol.ts","../src/styleToHexColor.ts","../src/styleToHtmlStyle.ts","../src/formatObject.ts","../src/formatRecordToString.ts"],"sourcesContent":["import { Level } from 'nightingale-levels';\n\nexport type LevelToStyles = Readonly>;\n\nexport const levelToStyles: LevelToStyles = {\n [Level.TRACE]: ['gray'],\n [Level.DEBUG]: ['gray'],\n // [Level.INFO]: ['gray'],\n [Level.WARN]: ['yellow'],\n [Level.ERROR]: ['red', 'bold'],\n [Level.CRITICAL]: ['red', 'bold'],\n [Level.FATAL]: ['bgRed', 'white'],\n [Level.EMERGENCY]: ['bgRed', 'white'],\n};\n","import { Level } from 'nightingale-levels';\n\nexport type LevelToSymbol = Readonly>;\n\nexport const levelToSymbol: LevelToSymbol = {\n [Level.TRACE]: '•',\n [Level.DEBUG]: '•',\n [Level.INFO]: '→',\n [Level.WARN]: '⚠',\n [Level.ERROR]: '✖',\n [Level.CRITICAL]: '!',\n [Level.FATAL]: '‼',\n [Level.EMERGENCY]: '‼',\n};\n","export type StyleToHexColor = Readonly>;\n\nexport const styleToHexColor: StyleToHexColor = {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n","import { styleToHexColor } from './styleToHexColor';\n\nexport interface HtmlStyle {\n readonly open: string;\n readonly close: string;\n}\n\nexport type StyleToHtmlStyle = Readonly>;\n\nexport const styleToHtmlStyleThemeLight: StyleToHtmlStyle = {\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: {\n open: 'text-decoration: underline',\n close: 'text-decoration: none',\n },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: {\n open: 'text-decoration: line-through',\n close: 'text-decoration: none',\n },\n\n black: { open: 'color: black', close: 'color: currentcolor' },\n red: { open: 'color: #ff0020', close: 'color: currentcolor' },\n green: { open: 'color: #00b317', close: 'color: currentcolor' },\n yellow: { open: 'color: #ffcc00', close: 'color: currentcolor' },\n blue: { open: 'color: #00a0ff', close: 'color: currentcolor' },\n magenta: { open: 'color: #ff00a0', close: 'color: currentcolor' },\n cyan: { open: 'color: #00cfd8', close: 'color: currentcolor' },\n white: { open: 'color: white', close: 'color: currentcolor' },\n gray: { open: 'color: gray', close: 'color: currentcolor' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: {\n open: `color: #${styleToHexColor.orange}`,\n close: 'color: currentcolor',\n },\n grayLight: {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n 'gray-light': {\n open: `color: #${styleToHexColor.grayLight}`,\n close: 'color: currentcolor',\n },\n};\n\nexport const styleToHtmlStyleThemeDark: StyleToHtmlStyle = {\n ...styleToHtmlStyleThemeLight,\n black: styleToHtmlStyleThemeLight.white,\n bgBlack: styleToHtmlStyleThemeLight.bgWhite,\n white: styleToHtmlStyleThemeLight.black,\n bgWhite: styleToHtmlStyleThemeLight.bgBlack,\n gray: { open: 'color: lightgray', close: 'color: currentcolor' },\n};\n","/* eslint-disable max-lines, @typescript-eslint/no-use-before-define */\nimport type { Styles } from 'nightingale-types';\n\nexport interface FormatObjectOptions {\n padding?: string;\n maxDepth?: number;\n}\n\nexport type StyleFn = (styles: Styles, value: string) => string;\n\nexport type ObjectStyles = Record;\n\nconst noStyleFn: StyleFn = (styles: Styles, value: string): string => value;\n\ninterface InternalFormatParams {\n padding: string;\n depth: number;\n maxDepth: number;\n objects: Set;\n}\n\ninterface FormattedKey {\n stringKey: string;\n formattedKey: string;\n}\n\ntype FormatKey = (\n key: Key,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n) => FormattedKey;\n\ninterface Value {\n key: Key;\n value: unknown;\n}\n\ninterface FormattedValue {\n stringValue: string;\n formattedValue: string;\n}\n\ntype Values = Value[];\n\ninterface InternalFormatIteratorParams {\n prefix: string;\n suffix: string;\n formatKey: FormatKey;\n prefixSuffixSpace?: string;\n}\n\nfunction tryStringify(arg: unknown): string {\n try {\n return JSON.stringify(arg).replace(/\\\\n/g, '\\n');\n } catch {\n return '[Circular]';\n }\n}\n\nconst sameRawFormattedValue = (value: string): FormattedValue => ({\n stringValue: value,\n formattedValue: value,\n});\n\nfunction internalFormatValue(\n value: unknown,\n styleFn: StyleFn,\n styles: Styles,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'undefined':\n styles = ['cyan'];\n break;\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'bigint':\n styles = ['red'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'symbol':\n styles = ['magenta'];\n break;\n case 'object':\n case 'function':\n break;\n }\n }\n }\n\n let stringValue: string;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n stringValue = (value as any).toString() as string;\n } else if ((value as () => unknown).constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{Object...}';\n } else {\n return internalFormatObject(\n value as Record,\n styleFn,\n undefined,\n {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[Array...]';\n } else {\n return internalFormatArray(value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof Error) {\n const stack = value.stack;\n stringValue = stack?.startsWith(value.message)\n ? stack\n : `${value.message}\\n${stack || ''}`;\n } else if (value instanceof Map) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatMap(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (typeofValue === 'bigint') {\n stringValue = (value as bigint).toString();\n } else if (typeofValue === 'symbol') {\n stringValue = (value as symbol).toString();\n } else if (value instanceof Set) {\n const name = value.constructor.name;\n if (depth >= maxDepth) {\n stringValue = `{${name}...}`;\n } else {\n return internalFormatSet(name, value, styleFn, {\n padding,\n depth: depth + 1,\n maxDepth,\n objects,\n });\n }\n } else if (value instanceof WeakMap) {\n stringValue = '{WeakMap...}';\n } else if (value instanceof WeakSet) {\n stringValue = '{WeakSet...}';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatKey: FormatKey = (\n key: string,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return {\n stringKey: `${key}: `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${key}:`)} `,\n };\n};\n\nconst internalNoKey: FormatKey = (\n key: string | undefined,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n return { stringKey: '', formattedKey: '' };\n};\n\nconst internalFormatMapKey: FormatKey = (\n key: unknown,\n styleFn: StyleFn,\n internalFormatParams: InternalFormatParams,\n): FormattedKey => {\n const { stringValue, formattedValue } = internalFormatValue(\n key,\n noStyleFn,\n undefined,\n internalFormatParams,\n );\n return {\n stringKey: `${stringValue} => `,\n formattedKey: `${styleFn(['gray-light', 'bold'], `${formattedValue}:`)} `,\n };\n};\n\nconst internalFormatIterator = (\n values: Values,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n {\n prefix,\n suffix,\n prefixSuffixSpace = ' ',\n formatKey,\n }: InternalFormatIteratorParams,\n): FormattedValue => {\n let breakLine = false;\n const formattedSeparator = (): string => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n const formattedValues: FormattedValue[] = values.map(\n ({ key, value }, index: number) => {\n const nextDepth = depth + 1;\n const internalFormatParams = {\n padding,\n depth: nextDepth,\n maxDepth,\n objects,\n };\n\n // key must be formatted before value (browser-formatter needs order)\n const { stringKey, formattedKey } = formatKey(\n key,\n styleFn,\n internalFormatParams,\n );\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles\n ? objectStyles[key as unknown as string]\n : undefined,\n internalFormatParams,\n );\n\n if (\n stringValue &&\n (stringValue.length > 80 || stringValue.includes('\\n'))\n ) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue:\n stringKey + stringValue + (index === valuesMaxIndex ? '' : separator),\n formattedValue:\n formattedKey +\n formattedValue +\n (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n },\n );\n\n return {\n stringValue:\n prefix +\n formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.stringValue}`\n : (fv) => fv.stringValue,\n )\n .join(breakLine ? '\\n' : ' ') +\n suffix,\n formattedValue: `${prefix}${\n breakLine ? '' : prefixSuffixSpace\n }${formattedValues\n .map(\n breakLine\n ? (v) => `\\n${padding}${v.formattedValue}`\n : (v) => v.formattedValue,\n )\n .join(breakLine ? '' : ' ')}${\n breakLine ? ',\\n' : prefixSuffixSpace\n }${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object: Record,\n styleFn: StyleFn,\n objectStyles: ObjectStyles | undefined,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(object)) {\n return sameRawFormattedValue('{Circular Object}');\n }\n\n const keys: string[] = Object.keys(object);\n if (keys.length === 0) {\n return sameRawFormattedValue('{}');\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}', formatKey: internalFormatKey },\n );\n\n objects.delete(object);\n\n return result;\n}\n\nfunction internalFormatMap(\n name: string,\n map: Map,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(map)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const keys = [...map.keys()];\n if (keys.length === 0) {\n return sameRawFormattedValue(`${name} {}`);\n }\n\n objects.add(map);\n\n const result = internalFormatIterator(\n keys.map((key) => ({ key, value: map.get(key) })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} {`, suffix: '}', formatKey: internalFormatMapKey },\n );\n\n objects.delete(map);\n\n return result;\n}\n\nfunction internalFormatArray(\n array: unknown[],\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(array)) {\n return sameRawFormattedValue('{Circular Array}');\n }\n\n if (array.length === 0) {\n return sameRawFormattedValue('[]');\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n {\n prefix: '[',\n suffix: ']',\n prefixSuffixSpace: '',\n formatKey: internalNoKey,\n },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nfunction internalFormatSet(\n name: string,\n set: Set,\n styleFn: StyleFn,\n { padding, depth, maxDepth, objects }: InternalFormatParams,\n): FormattedValue {\n if (objects.has(set)) {\n return sameRawFormattedValue(`{Circular ${name}}`);\n }\n\n const values = [...set.values()];\n if (values.length === 0) {\n return sameRawFormattedValue(`${name} []`);\n }\n\n objects.add(set);\n\n const result = internalFormatIterator(\n values.map((value) => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: `${name} [`, suffix: ']', formatKey: internalNoKey },\n );\n\n objects.delete(set);\n\n return result;\n}\n\nexport function formatObject(\n object: Record,\n styleFn: StyleFn = noStyleFn,\n objectStyles?: ObjectStyles,\n { padding = ' ', maxDepth = 10 }: FormatObjectOptions = {},\n): string {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n {\n padding,\n maxDepth,\n depth: 0,\n objects: new Set(),\n },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n","import type { LogRecord, Metadata } from 'nightingale-types';\nimport type { StyleFn, ObjectStyles } from './formatObject';\nimport { formatObject } from './formatObject';\nimport { levelToStyles } from './levelToStyles';\nimport { levelToSymbol } from './levelToSymbol';\n\nexport function formatRecordToString(\n record: LogRecord,\n style: StyleFn,\n): string {\n const parts: string[] = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(\n style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]),\n );\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message: string = record.symbol || levelToSymbol[record.level];\n const styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n const formatRecordObject = (\n key: string,\n object: Record | undefined,\n objectStyles: ObjectStyles | undefined,\n ): void => {\n if (!object) {\n return;\n }\n\n const stringObject = formatObject(object, style, objectStyles);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n };\n\n formatRecordObject('metadata', record.metadata, record.metadataStyles);\n formatRecordObject('extra', record.extra, undefined);\n formatRecordObject('context', record.context, undefined);\n\n return parts.join(' ');\n}\n"],"names":["levelToStyles","Level","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","levelToSymbol","INFO","styleToHexColor","orange","grayLight","styleToHtmlStyleThemeLight","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","styleToHtmlStyleThemeDark","noStyleFn","styles","value","tryStringify","arg","JSON","stringify","replace","sameRawFormattedValue","stringValue","formattedValue","internalFormatValue","styleFn","padding","depth","maxDepth","objects","typeofValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","startsWith","message","Map","name","internalFormatMap","Set","internalFormatSet","WeakMap","WeakSet","separator","internalFormatKey","key","stringKey","formattedKey","internalNoKey","internalFormatMapKey","internalFormatParams","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","formatKey","breakLine","formattedSeparator","valuesMaxIndex","length","formattedValues","map","index","includes","v","fv","join","object","has","keys","add","result","delete","get","array","set","formatObject","formatRecordToString","record","style","parts","displayName","push","datetime","toTimeString","split","symbol","level","formatRecordObject","stringObject","metadata","metadataStyles","extra","context"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-browser-dev.cjs.js b/packages/nightingale-json-formatter/dist/index-browser-dev.cjs.js index b4397590c..de8ad08eb 100644 --- a/packages/nightingale-json-formatter/dist/index-browser-dev.cjs.js +++ b/packages/nightingale-json-formatter/dist/index-browser-dev.cjs.js @@ -16,19 +16,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, function (key, value) { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, function (key, objectValue) { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-browser-dev.cjs.js.map b/packages/nightingale-json-formatter/dist/index-browser-dev.cjs.js.map index f69a369d0..548bad4e0 100644 --- a/packages/nightingale-json-formatter/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale-json-formatter/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":";;;;AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,MAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,UAACC,GAAD,EAAMD,KAAN,EAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":";;;;AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,MAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,UAACC,GAAD,EAAMK,WAAN,EAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-browser-dev.es.js b/packages/nightingale-json-formatter/dist/index-browser-dev.es.js index 33a2e0d71..2ed210376 100644 --- a/packages/nightingale-json-formatter/dist/index-browser-dev.es.js +++ b/packages/nightingale-json-formatter/dist/index-browser-dev.es.js @@ -12,19 +12,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, function (key, value) { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, function (key, objectValue) { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-browser-dev.es.js.map b/packages/nightingale-json-formatter/dist/index-browser-dev.es.js.map index 43df742bc..331b93828 100644 --- a/packages/nightingale-json-formatter/dist/index-browser-dev.es.js.map +++ b/packages/nightingale-json-formatter/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,MAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,UAACC,GAAD,EAAMD,KAAN,EAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,MAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,UAACC,GAAD,EAAMK,WAAN,EAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-browser.cjs.js b/packages/nightingale-json-formatter/dist/index-browser.cjs.js index 2e27ce954..6fea0b0aa 100644 --- a/packages/nightingale-json-formatter/dist/index-browser.cjs.js +++ b/packages/nightingale-json-formatter/dist/index-browser.cjs.js @@ -16,19 +16,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, function (key, value) { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, function (key, objectValue) { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-browser.cjs.js.map b/packages/nightingale-json-formatter/dist/index-browser.cjs.js.map index b99f5db74..da7335866 100644 --- a/packages/nightingale-json-formatter/dist/index-browser.cjs.js.map +++ b/packages/nightingale-json-formatter/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":";;;;AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,MAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,UAACC,GAAD,EAAMD,KAAN,EAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":";;;;AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,MAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,UAACC,GAAD,EAAMK,WAAN,EAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-browser.es.js b/packages/nightingale-json-formatter/dist/index-browser.es.js index 869e85511..c5a0ddc03 100644 --- a/packages/nightingale-json-formatter/dist/index-browser.es.js +++ b/packages/nightingale-json-formatter/dist/index-browser.es.js @@ -12,19 +12,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, function (key, value) { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, function (key, objectValue) { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-browser.es.js.map b/packages/nightingale-json-formatter/dist/index-browser.es.js.map index e1ce9fb5f..45aad763c 100644 --- a/packages/nightingale-json-formatter/dist/index-browser.es.js.map +++ b/packages/nightingale-json-formatter/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,MAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,UAACC,GAAD,EAAMD,KAAN,EAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,MAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,UAACC,GAAD,EAAMK,WAAN,EAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-browsermodern-dev.es.js b/packages/nightingale-json-formatter/dist/index-browsermodern-dev.es.js index 69d95e591..13b3bdf83 100644 --- a/packages/nightingale-json-formatter/dist/index-browsermodern-dev.es.js +++ b/packages/nightingale-json-formatter/dist/index-browsermodern-dev.es.js @@ -12,19 +12,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, (key, value) => { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, (key, objectValue) => { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-browsermodern-dev.es.js.map b/packages/nightingale-json-formatter/dist/index-browsermodern-dev.es.js.map index 4b0ecec71..ad2b04dc6 100644 --- a/packages/nightingale-json-formatter/dist/index-browsermodern-dev.es.js.map +++ b/packages/nightingale-json-formatter/dist/index-browsermodern-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMD,KAAN,KAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMK,WAAN,KAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-browsermodern.es.js b/packages/nightingale-json-formatter/dist/index-browsermodern.es.js index 1c3a3edf4..eccbf9fce 100644 --- a/packages/nightingale-json-formatter/dist/index-browsermodern.es.js +++ b/packages/nightingale-json-formatter/dist/index-browsermodern.es.js @@ -12,19 +12,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, (key, value) => { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, (key, objectValue) => { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-browsermodern.es.js.map b/packages/nightingale-json-formatter/dist/index-browsermodern.es.js.map index 37fdb99ac..ed5c605dc 100644 --- a/packages/nightingale-json-formatter/dist/index-browsermodern.es.js.map +++ b/packages/nightingale-json-formatter/dist/index-browsermodern.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMD,KAAN,KAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMK,WAAN,KAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-node12-dev.cjs.js b/packages/nightingale-json-formatter/dist/index-node12-dev.cjs.js index da58b9966..aaa7ee882 100644 --- a/packages/nightingale-json-formatter/dist/index-node12-dev.cjs.js +++ b/packages/nightingale-json-formatter/dist/index-node12-dev.cjs.js @@ -16,19 +16,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, (key, value) => { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, (key, objectValue) => { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-node12-dev.cjs.js.map b/packages/nightingale-json-formatter/dist/index-node12-dev.cjs.js.map index 7931c18a8..dfb04b739 100644 --- a/packages/nightingale-json-formatter/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale-json-formatter/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":";;;;AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMD,KAAN,KAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":";;;;AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMK,WAAN,KAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-node12-dev.mjs b/packages/nightingale-json-formatter/dist/index-node12-dev.mjs index ed7086eb1..72013349a 100644 --- a/packages/nightingale-json-formatter/dist/index-node12-dev.mjs +++ b/packages/nightingale-json-formatter/dist/index-node12-dev.mjs @@ -12,19 +12,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, (key, value) => { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, (key, objectValue) => { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-node12-dev.mjs.map b/packages/nightingale-json-formatter/dist/index-node12-dev.mjs.map index af6af7549..1d0809fb8 100644 --- a/packages/nightingale-json-formatter/dist/index-node12-dev.mjs.map +++ b/packages/nightingale-json-formatter/dist/index-node12-dev.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMD,KAAN,KAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMK,WAAN,KAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-node12.cjs.js b/packages/nightingale-json-formatter/dist/index-node12.cjs.js index c87c35d59..c33741549 100644 --- a/packages/nightingale-json-formatter/dist/index-node12.cjs.js +++ b/packages/nightingale-json-formatter/dist/index-node12.cjs.js @@ -16,19 +16,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, (key, value) => { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, (key, objectValue) => { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-node12.cjs.js.map b/packages/nightingale-json-formatter/dist/index-node12.cjs.js.map index b19d40b68..549069bfe 100644 --- a/packages/nightingale-json-formatter/dist/index-node12.cjs.js.map +++ b/packages/nightingale-json-formatter/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":";;;;AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMD,KAAN,KAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":";;;;AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMK,WAAN,KAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-json-formatter/dist/index-node12.mjs b/packages/nightingale-json-formatter/dist/index-node12.mjs index a28c4b541..d81c45e22 100644 --- a/packages/nightingale-json-formatter/dist/index-node12.mjs +++ b/packages/nightingale-json-formatter/dist/index-node12.mjs @@ -12,19 +12,19 @@ function map2object(map) { } function stringify(value, space) { - return JSON.stringify(value, (key, value) => { - if (value instanceof Map) { - return map2object(value); + return JSON.stringify(value, (key, objectValue) => { + if (objectValue instanceof Map) { + return map2object(objectValue); } - if (value instanceof Error) { + if (objectValue instanceof Error) { return { - message: value.message, - stack: value.stack + message: objectValue.message, + stack: objectValue.stack }; } - return value; + return objectValue; }, space); } diff --git a/packages/nightingale-json-formatter/dist/index-node12.mjs.map b/packages/nightingale-json-formatter/dist/index-node12.mjs.map index 23579a8ed..08a959226 100644 --- a/packages/nightingale-json-formatter/dist/index-node12.mjs.map +++ b/packages/nightingale-json-formatter/dist/index-node12.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, value) => {\n if (value instanceof Map) {\n return map2object(value);\n }\n if (value instanceof Error) {\n return {\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMD,KAAN,KAAgB;AACd,QAAIA,KAAK,YAAYM,GAArB,EAA0B;AACxB,aAAOV,UAAU,CAACI,KAAD,CAAjB;AACD;;AACD,QAAIA,KAAK,YAAYO,KAArB,EAA4B;AAC1B,aAAO;AACLC,QAAAA,OAAO,EAAER,KAAK,CAACQ,OADV;AAELC,QAAAA,KAAK,EAAET,KAAK,CAACS;AAFR,OAAP;AAID;;AAED,WAAOT,KAAP;AACD,GAdI,EAeLI,KAfK,CAAP;AAiBD;;AAEc,SAASM,MAAT,CACbC,MADa,EAEL;AACR,SAAOR,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEU,MAAM,CAACV,GADG;AAEfW,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["import type { LogRecord, Metadata } from 'nightingale-types';\n\nfunction map2object(map: Map): unknown {\n const object: Record = {};\n\n map.forEach((value, key) => {\n if (typeof key === 'object') {\n // ignore key\n return;\n }\n\n object[String(key)] = value;\n });\n\n return object;\n}\n\nfunction stringify(value: unknown, space?: string | number): string {\n return JSON.stringify(\n value,\n (key, objectValue) => {\n if (objectValue instanceof Map) {\n return map2object(objectValue);\n }\n if (objectValue instanceof Error) {\n return {\n message: objectValue.message,\n stack: objectValue.stack,\n };\n }\n\n return objectValue as unknown;\n },\n space,\n );\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return stringify({\n key: record.key,\n level: record.level,\n datetime: record.datetime,\n message: record.message,\n metadata: record.metadata,\n extra: record.extra,\n });\n}\n"],"names":["map2object","map","object","forEach","value","key","String","stringify","space","JSON","objectValue","Map","Error","message","stack","format","record","level","datetime","metadata","extra"],"mappings":"AAEA,SAASA,UAAT,CAAoBC,GAApB,EAAyD;AACvD,QAAMC,MAA+B,GAAG,EAAxC;AAEAD,EAAAA,GAAG,CAACE,OAAJ,CAAY,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC1B,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACA;AACD;;AAEDH,IAAAA,MAAM,CAACI,MAAM,CAACD,GAAD,CAAP,CAAN,GAAsBD,KAAtB;AACD,GAPD;AASA,SAAOF,MAAP;AACD;;AAED,SAASK,SAAT,CAAmBH,KAAnB,EAAmCI,KAAnC,EAAoE;AAClE,SAAOC,IAAI,CAACF,SAAL,CACLH,KADK,EAEL,CAACC,GAAD,EAAMK,WAAN,KAAsB;AACpB,QAAIA,WAAW,YAAYC,GAA3B,EAAgC;AAC9B,aAAOX,UAAU,CAACU,WAAD,CAAjB;AACD;;AACD,QAAIA,WAAW,YAAYE,KAA3B,EAAkC;AAChC,aAAO;AACLC,QAAAA,OAAO,EAAEH,WAAW,CAACG,OADhB;AAELC,QAAAA,KAAK,EAAEJ,WAAW,CAACI;AAFd,OAAP;AAID;;AAED,WAAOJ,WAAP;AACD,GAdI,EAeLF,KAfK,CAAP;AAiBD;;AAEc,SAASO,MAAT,CACbC,MADa,EAEL;AACR,SAAOT,SAAS,CAAC;AACfF,IAAAA,GAAG,EAAEW,MAAM,CAACX,GADG;AAEfY,IAAAA,KAAK,EAAED,MAAM,CAACC,KAFC;AAGfC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAHF;AAIfL,IAAAA,OAAO,EAAEG,MAAM,CAACH,OAJD;AAKfM,IAAAA,QAAQ,EAAEH,MAAM,CAACG,QALF;AAMfC,IAAAA,KAAK,EAAEJ,MAAM,CAACI;AANC,GAAD,CAAhB;AAQD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-browser-dev.cjs.js.map b/packages/nightingale-logger/dist/index-browser-dev.cjs.js.map index 27d0c33c8..6840abdc6 100644 --- a/packages/nightingale-logger/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale-logger/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","options","INFO","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","options","INFO","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-browser-dev.es.js.map b/packages/nightingale-logger/dist/index-browser-dev.es.js.map index e14ab55a6..601b42180 100644 --- a/packages/nightingale-logger/dist/index-browser-dev.es.js.map +++ b/packages/nightingale-logger/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","options","INFO","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","options","INFO","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-browser.cjs.js.map b/packages/nightingale-logger/dist/index-browser.cjs.js.map index d300a09a3..a79f01da1 100644 --- a/packages/nightingale-logger/dist/index-browser.cjs.js.map +++ b/packages/nightingale-logger/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","options","INFO","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","options","INFO","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-browser.es.js.map b/packages/nightingale-logger/dist/index-browser.es.js.map index 675248fbe..2d3a231bd 100644 --- a/packages/nightingale-logger/dist/index-browser.es.js.map +++ b/packages/nightingale-logger/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","options","INFO","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","options","INFO","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-browsermodern-dev.es.js.map b/packages/nightingale-logger/dist/index-browsermodern-dev.es.js.map index ece5d8eab..c650b8f1b 100644 --- a/packages/nightingale-logger/dist/index-browsermodern-dev.es.js.map +++ b/packages/nightingale-logger/dist/index-browsermodern-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-browsermodern.es.js.map b/packages/nightingale-logger/dist/index-browsermodern.es.js.map index 32ed964bc..bbc64183e 100644 --- a/packages/nightingale-logger/dist/index-browsermodern.es.js.map +++ b/packages/nightingale-logger/dist/index-browsermodern.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-node12-dev.cjs.js.map b/packages/nightingale-logger/dist/index-node12-dev.cjs.js.map index d888747f5..5325b492c 100644 --- a/packages/nightingale-logger/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale-logger/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-node12-dev.mjs.map b/packages/nightingale-logger/dist/index-node12-dev.mjs.map index 9d109b249..714d40530 100644 --- a/packages/nightingale-logger/dist/index-node12-dev.mjs.map +++ b/packages/nightingale-logger/dist/index-node12-dev.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-node12.cjs.js.map b/packages/nightingale-logger/dist/index-node12.cjs.js.map index e856494ff..af3e6b67b 100644 --- a/packages/nightingale-logger/dist/index-node12.cjs.js.map +++ b/packages/nightingale-logger/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index-node12.mjs.map b/packages/nightingale-logger/dist/index-node12.mjs.map index 755cea4eb..714c50f5e 100644 --- a/packages/nightingale-logger/dist/index-node12.mjs.map +++ b/packages/nightingale-logger/dist/index-node12.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } from 'nightingale-levels';\n\nexport interface Options {\n symbol?: string;\n metadataStyles?: MetadataStyles;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord(record: Readonly>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n level: number = Level.DEBUG,\n options?: Options,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles,\n callback: () => void,\n ): void;\n\n wrap unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale-logger/dist/index.d.ts b/packages/nightingale-logger/dist/index.d.ts index da2f0467a..977a49505 100644 --- a/packages/nightingale-logger/dist/index.d.ts +++ b/packages/nightingale-logger/dist/index.d.ts @@ -1,6 +1,6 @@ import { Level } from 'nightingale-levels'; import type { Metadata, MetadataStyles, Styles, Handler, Processor, LogRecord } from 'nightingale-types'; -export { Level }; +export { Level } from 'nightingale-levels'; export interface Options { symbol?: string; metadataStyles?: MetadataStyles; diff --git a/packages/nightingale-logger/dist/index.d.ts.map b/packages/nightingale-logger/dist/index.d.ts.map index de72fc5b7..9187b3817 100644 --- a/packages/nightingale-logger/dist/index.d.ts.map +++ b/packages/nightingale-logger/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,QAAQ;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,UAAU,4BAA4B;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,MAAM,CAAC;QACf,UAAU,MAAM;YACd,oBAAoB,EAAE,MAAM,EAAE,CAAC;YAC/B,8BAA8B,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;YAClE,4BAA4B,EAAE,oBAAoB,CAAC;YACnD,6BAA6B,EAAE,OAAO,CAAC;YACvC,mCAAmC,EAAE,CACnC,GAAG,EAAE,MAAM,KACR,oBAAoB,CAAC;YAC1B,0CAA0C,EAAE,CAC1C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,KACV,oBAAoB,CAAC;SAC3B;KACF;CACF;AAoCD;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,aAAa,CAAC,CAA0B;IAEhD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;OAKG;gBACS,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAW7C,eAAe;IACf,SAAS,CAAC,wBAAwB,CAChC,WAAW,EAAE,MAAM,GAClB,oBAAoB;IAIvB,eAAe;IACf,SAAS,IAAI,QAAQ,CAAC,oBAAoB,CAAC;IAI3C;;OAEG;IACH,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAIhE;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAMjD;;OAEG;IACH,gBAAgB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS;IAIjE;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIlD;;OAEG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAyBnE;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,QAAQ,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,KAAK,GAAE,KAAkB,EACzB,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GACnB,IAAI;IAoBP;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,MAAM,CAAC,CAAC,SAAS,QAAQ,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,OAAO,EAAE,MAAM,GAAG,KAAK,EACvB,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAaP;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,QAAQ,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7B,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAcP;;OAEG;IACH,UAAU,CAAC,CAAC,SAAS,QAAQ,EAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAYP;;OAEG;IACH,OAAO,CAAC,CAAC,SAAS,QAAQ,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,QAAQ,EAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAQP;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAQP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,QAAQ,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAQP;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,QAAQ,EAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAQP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAClC,KAAK,GAAE,MAAoB,GAC1B,MAAM;IAQT,QAAQ,CAAC,CAAC,SAAS,QAAQ,EACzB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,MAAM;IAIT;;;;;OAKG;IACH,OAAO,CAAC,CAAC,SAAS,QAAQ,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAClC,KAAK,GAAE,MAAoB,EAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GACnB,IAAI;IAuBP;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,QAAQ,EAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAOP;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAClE,EAAE,EAAE,EAAE,EACN,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,4BAA4B,CAAC,GAChE,IAAI;IAQP;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACjE,EAAE,EAAE,EAAE,EACN,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,4BAA4B,CAAC,GAChE,IAAI;IAQP;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAC7C,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,MAAM,IAAI,GACnB,IAAI;IAEP,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACjE,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,MAAM,IAAI,GACnB,IAAI;IAEP,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACjE,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,CAAC,EACX,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EACjC,QAAQ,EAAE,MAAM,IAAI,GACnB,IAAI;CA2BR;AAED,2CAA2C;AAC3C,eAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-browser-dev.cjs.js b/packages/nightingale-markdown-formatter/dist/index-browser-dev.cjs.js index 7d9325fe3..39e404487 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browser-dev.cjs.js +++ b/packages/nightingale-markdown-formatter/dist/index-browser-dev.cjs.js @@ -10,19 +10,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce(function (string, styleName) { + return styles.reduce(function (part, styleName) { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-browser-dev.cjs.js.map b/packages/nightingale-markdown-formatter/dist/index-browser-dev.cjs.js.map index d7a5d7ff7..0e59b46d6 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale-markdown-formatter/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;;;;;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACF,MAAD,EAASG,SAAT,EAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;;;;;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACC,IAAD,EAAOC,SAAP,EAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-browser-dev.es.js b/packages/nightingale-markdown-formatter/dist/index-browser-dev.es.js index cb01af9e6..d9474aa7b 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browser-dev.es.js +++ b/packages/nightingale-markdown-formatter/dist/index-browser-dev.es.js @@ -6,19 +6,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce(function (string, styleName) { + return styles.reduce(function (part, styleName) { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-browser-dev.es.js.map b/packages/nightingale-markdown-formatter/dist/index-browser-dev.es.js.map index 5fdd81147..d0a7404be 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browser-dev.es.js.map +++ b/packages/nightingale-markdown-formatter/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACF,MAAD,EAASG,SAAT,EAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACC,IAAD,EAAOC,SAAP,EAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-browser.cjs.js b/packages/nightingale-markdown-formatter/dist/index-browser.cjs.js index 2c4136897..620a25d05 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browser.cjs.js +++ b/packages/nightingale-markdown-formatter/dist/index-browser.cjs.js @@ -10,19 +10,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce(function (string, styleName) { + return styles.reduce(function (part, styleName) { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-browser.cjs.js.map b/packages/nightingale-markdown-formatter/dist/index-browser.cjs.js.map index bb88ff4b2..66ca8c0d5 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browser.cjs.js.map +++ b/packages/nightingale-markdown-formatter/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;;;;;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACF,MAAD,EAASG,SAAT,EAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;;;;;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACC,IAAD,EAAOC,SAAP,EAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-browser.es.js b/packages/nightingale-markdown-formatter/dist/index-browser.es.js index c5691fd68..4a1563bf6 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browser.es.js +++ b/packages/nightingale-markdown-formatter/dist/index-browser.es.js @@ -6,19 +6,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce(function (string, styleName) { + return styles.reduce(function (part, styleName) { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-browser.es.js.map b/packages/nightingale-markdown-formatter/dist/index-browser.es.js.map index 6241edd3f..b5e917f49 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browser.es.js.map +++ b/packages/nightingale-markdown-formatter/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACF,MAAD,EAASG,SAAT,EAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,UAACC,IAAD,EAAOC,SAAP,EAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-browsermodern-dev.es.js b/packages/nightingale-markdown-formatter/dist/index-browsermodern-dev.es.js index 485ab14c0..096f84272 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browsermodern-dev.es.js +++ b/packages/nightingale-markdown-formatter/dist/index-browsermodern-dev.es.js @@ -6,19 +6,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { + return styles.reduce((part, styleName) => { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-browsermodern-dev.es.js.map b/packages/nightingale-markdown-formatter/dist/index-browsermodern-dev.es.js.map index 4e4d794f2..7ec1913a5 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browsermodern-dev.es.js.map +++ b/packages/nightingale-markdown-formatter/dist/index-browsermodern-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAASG,SAAT,KAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,IAAD,EAAOC,SAAP,KAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-browsermodern.es.js b/packages/nightingale-markdown-formatter/dist/index-browsermodern.es.js index aa349d89b..f07cbcee8 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browsermodern.es.js +++ b/packages/nightingale-markdown-formatter/dist/index-browsermodern.es.js @@ -6,19 +6,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { + return styles.reduce((part, styleName) => { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-browsermodern.es.js.map b/packages/nightingale-markdown-formatter/dist/index-browsermodern.es.js.map index afc6c6ea5..3d45ae56f 100644 --- a/packages/nightingale-markdown-formatter/dist/index-browsermodern.es.js.map +++ b/packages/nightingale-markdown-formatter/dist/index-browsermodern.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAASG,SAAT,KAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,IAAD,EAAOC,SAAP,KAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-node12-dev.cjs.js b/packages/nightingale-markdown-formatter/dist/index-node12-dev.cjs.js index e37d27088..148e85499 100644 --- a/packages/nightingale-markdown-formatter/dist/index-node12-dev.cjs.js +++ b/packages/nightingale-markdown-formatter/dist/index-node12-dev.cjs.js @@ -10,19 +10,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { + return styles.reduce((part, styleName) => { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-node12-dev.cjs.js.map b/packages/nightingale-markdown-formatter/dist/index-node12-dev.cjs.js.map index 80c938160..6ccabd4d0 100644 --- a/packages/nightingale-markdown-formatter/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale-markdown-formatter/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;;;;;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAASG,SAAT,KAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;;;;;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,IAAD,EAAOC,SAAP,KAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-node12-dev.mjs b/packages/nightingale-markdown-formatter/dist/index-node12-dev.mjs index 0ec91717e..2ede35d39 100644 --- a/packages/nightingale-markdown-formatter/dist/index-node12-dev.mjs +++ b/packages/nightingale-markdown-formatter/dist/index-node12-dev.mjs @@ -6,19 +6,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { + return styles.reduce((part, styleName) => { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-node12-dev.mjs.map b/packages/nightingale-markdown-formatter/dist/index-node12-dev.mjs.map index 38d8e9b32..6c2ff60be 100644 --- a/packages/nightingale-markdown-formatter/dist/index-node12-dev.mjs.map +++ b/packages/nightingale-markdown-formatter/dist/index-node12-dev.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAASG,SAAT,KAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,IAAD,EAAOC,SAAP,KAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-node12.cjs.js b/packages/nightingale-markdown-formatter/dist/index-node12.cjs.js index 6fbd4f9d2..d2a316558 100644 --- a/packages/nightingale-markdown-formatter/dist/index-node12.cjs.js +++ b/packages/nightingale-markdown-formatter/dist/index-node12.cjs.js @@ -10,19 +10,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { + return styles.reduce((part, styleName) => { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-node12.cjs.js.map b/packages/nightingale-markdown-formatter/dist/index-node12.cjs.js.map index 83345ee2a..66e4e2333 100644 --- a/packages/nightingale-markdown-formatter/dist/index-node12.cjs.js.map +++ b/packages/nightingale-markdown-formatter/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;;;;;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAASG,SAAT,KAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;;;;;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,IAAD,EAAOC,SAAP,KAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,yCAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-markdown-formatter/dist/index-node12.mjs b/packages/nightingale-markdown-formatter/dist/index-node12.mjs index 65a71a822..7defd28b0 100644 --- a/packages/nightingale-markdown-formatter/dist/index-node12.mjs +++ b/packages/nightingale-markdown-formatter/dist/index-node12.mjs @@ -6,19 +6,19 @@ function style(styles, string) { } // eslint-disable-next-line unicorn/no-array-reduce - return styles.reduce((string, styleName) => { + return styles.reduce((part, styleName) => { switch (styleName) { case 'bold': - return `*${string}*`; + return `*${part}*`; case 'italic': - return `_${string}_`; + return `_${part}_`; case 'strikethrough': - return `~${string}~`; + return `~${part}~`; } - return string; + return part; }, string); } function format(record) { diff --git a/packages/nightingale-markdown-formatter/dist/index-node12.mjs.map b/packages/nightingale-markdown-formatter/dist/index-node12.mjs.map index 6b2c15de2..1fc12f5dd 100644 --- a/packages/nightingale-markdown-formatter/dist/index-node12.mjs.map +++ b/packages/nightingale-markdown-formatter/dist/index-node12.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((string, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${string}*`;\n case 'italic':\n return `_${string}_`;\n case 'strikethrough':\n return `~${string}~`;\n }\n\n return string;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACF,MAAD,EAASG,SAAT,KAAuB;AAC1C,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGH,MAAO,GAAlB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,MAAO,GAAlB;AANJ;;AASA,WAAOA,MAAP;AACD,GAXM,EAWJA,MAXI,CAAP;AAYD;AAEc,SAASI,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASP,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.mjs","sources":["../src/index.ts"],"sourcesContent":["import { formatRecordToString } from 'nightingale-formatter';\nimport type { Styles, LogRecord, Metadata } from 'nightingale-types';\n\nexport function style(styles: Styles, string: string): string {\n if (!styles || styles.length === 0 || !string) {\n return string;\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return styles.reduce((part, styleName) => {\n switch (styleName) {\n case 'bold':\n return `*${part}*`;\n case 'italic':\n return `_${part}_`;\n case 'strikethrough':\n return `~${part}~`;\n }\n\n return part;\n }, string);\n}\n\nexport default function format(\n record: LogRecord,\n): string {\n return formatRecordToString(record, style);\n}\n"],"names":["style","styles","string","length","reduce","part","styleName","format","record","formatRecordToString"],"mappings":";;AAGO,SAASA,KAAT,CAAeC,MAAf,EAA+BC,MAA/B,EAAuD;AAC5D,MAAI,CAACD,MAAD,IAAWA,MAAM,CAACE,MAAP,KAAkB,CAA7B,IAAkC,CAACD,MAAvC,EAA+C;AAC7C,WAAOA,MAAP;AACD,GAH2D;;;AAM5D,SAAOD,MAAM,CAACG,MAAP,CAAc,CAACC,IAAD,EAAOC,SAAP,KAAqB;AACxC,YAAQA,SAAR;AACE,WAAK,MAAL;AACE,eAAQ,IAAGD,IAAK,GAAhB;;AACF,WAAK,QAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;;AACF,WAAK,eAAL;AACE,eAAQ,IAAGA,IAAK,GAAhB;AANJ;;AASA,WAAOA,IAAP;AACD,GAXM,EAWJH,MAXI,CAAP;AAYD;AAEc,SAASK,MAAT,CACbC,MADa,EAEL;AACR,SAAOC,oBAAoB,CAACD,MAAD,EAASR,KAAT,CAA3B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-react-native-console/dist/index-browser-dev.es.js b/packages/nightingale-react-native-console/dist/index-browser-dev.es.js index efebad826..c2e9a312f 100644 --- a/packages/nightingale-react-native-console/dist/index-browser-dev.es.js +++ b/packages/nightingale-react-native-console/dist/index-browser-dev.es.js @@ -1,9 +1,15 @@ import formatterANSI from 'nightingale-ansi-formatter'; -import consoleOutput from 'nightingale-console-output'; + +function consoleOutput(param) { + var _console; + + // eslint-disable-next-line no-console + (_console = console).log.apply(_console, param); +} var createHandle = function createHandle() { return function (record) { - return consoleOutput([formatterANSI(record)], record); + consoleOutput([formatterANSI(record)]); }; }; diff --git a/packages/nightingale-react-native-console/dist/index-browser-dev.es.js.map b/packages/nightingale-react-native-console/dist/index-browser-dev.es.js.map index 6435a2923..aa4e0e640 100644 --- a/packages/nightingale-react-native-console/dist/index-browser-dev.es.js.map +++ b/packages/nightingale-react-native-console/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import formatterANSI from 'nightingale-ansi-formatter';\nimport consoleOutput from 'nightingale-console-output';\nimport type {\n Level,\n Handle,\n IsHandling,\n LogRecord,\n Metadata,\n Handler,\n} from 'nightingale-types';\n\nconst createHandle = (): Handle => {\n return (record: LogRecord): void => {\n return consoleOutput([formatterANSI(record)], record);\n };\n};\n\nexport class ReactNativeConsoleHandler implements Handler {\n minLevel: Level = 0;\n\n handle: Handle;\n\n isHandling: IsHandling;\n\n constructor(minLevel: Level) {\n this.minLevel = minLevel;\n this.isHandling = (level: Level) => level >= minLevel;\n this.handle = createHandle();\n }\n}\n"],"names":["createHandle","record","consoleOutput","formatterANSI","ReactNativeConsoleHandler","minLevel","isHandling","level","handle"],"mappings":";;;AAWA,IAAMA,YAAY,GAAG,SAAfA,YAAe,GAAc;AACjC,SAAO,UAAqBC,MAArB,EAAoD;AACzD,WAAOC,aAAa,CAAC,CAACC,aAAa,CAACF,MAAD,CAAd,CAAD,EAA0BA,MAA1B,CAApB;AACD,GAFD;AAGD,CAJD;;IAMaG,yBAAb,GAOE,mCAAYC,QAAZ,EAA6B;AAAA,OAN7BA,QAM6B,GANX,CAMW;AAC3B,OAAKA,QAAL,GAAgBA,QAAhB;;AACA,OAAKC,UAAL,GAAkB,UAACC,KAAD;AAAA,WAAkBA,KAAK,IAAIF,QAA3B;AAAA,GAAlB;;AACA,OAAKG,MAAL,GAAcR,YAAY,EAA1B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import formatterANSI from 'nightingale-ansi-formatter';\nimport type {\n Level,\n Handle,\n IsHandling,\n LogRecord,\n Metadata,\n Handler,\n} from 'nightingale-types';\n\nfunction consoleOutput(\n param: string | string[],\n record: LogRecord,\n): void {\n // eslint-disable-next-line no-console\n console.log(...param);\n}\n\nconst createHandle = (): Handle => {\n return (record: LogRecord): void => {\n consoleOutput([formatterANSI(record)], record);\n };\n};\n\nexport class ReactNativeConsoleHandler implements Handler {\n minLevel: Level = 0;\n\n handle: Handle;\n\n isHandling: IsHandling;\n\n constructor(minLevel: Level) {\n this.minLevel = minLevel;\n this.isHandling = (level: Level) => level >= minLevel;\n this.handle = createHandle();\n }\n}\n"],"names":["consoleOutput","param","console","log","createHandle","record","formatterANSI","ReactNativeConsoleHandler","minLevel","isHandling","level","handle"],"mappings":";;AAUA,SAASA,aAAT,CACEC,KADF,EAGQ;AAAA;;AACN;AACA,cAAAC,OAAO,EAACC,GAAR,iBAAeF,KAAf;AACD;;AAED,IAAMG,YAAY,GAAG,SAAfA,YAAe,GAAc;AACjC,SAAO,UAAqBC,MAArB,EAAoD;AACzDL,IAAAA,aAAa,CAAC,CAACM,aAAa,CAACD,MAAD,CAAd,CAAD,CAAb;AACD,GAFD;AAGD,CAJD;;IAMaE,yBAAb,GAOE,mCAAYC,QAAZ,EAA6B;AAAA,OAN7BA,QAM6B,GANX,CAMW;AAC3B,OAAKA,QAAL,GAAgBA,QAAhB;;AACA,OAAKC,UAAL,GAAkB,UAACC,KAAD;AAAA,WAAkBA,KAAK,IAAIF,QAA3B;AAAA,GAAlB;;AACA,OAAKG,MAAL,GAAcP,YAAY,EAA1B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-react-native-console/dist/index-browser.es.js b/packages/nightingale-react-native-console/dist/index-browser.es.js index 669cd8ac6..f3ad081dc 100644 --- a/packages/nightingale-react-native-console/dist/index-browser.es.js +++ b/packages/nightingale-react-native-console/dist/index-browser.es.js @@ -1,9 +1,15 @@ import formatterANSI from 'nightingale-ansi-formatter'; -import consoleOutput from 'nightingale-console-output'; + +function consoleOutput(param) { + var _console; + + // eslint-disable-next-line no-console + (_console = console).log.apply(_console, param); +} var createHandle = function createHandle() { return function (record) { - return consoleOutput([formatterANSI(record)], record); + consoleOutput([formatterANSI(record)]); }; }; diff --git a/packages/nightingale-react-native-console/dist/index-browser.es.js.map b/packages/nightingale-react-native-console/dist/index-browser.es.js.map index c9a5e382a..ccd46b405 100644 --- a/packages/nightingale-react-native-console/dist/index-browser.es.js.map +++ b/packages/nightingale-react-native-console/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import formatterANSI from 'nightingale-ansi-formatter';\nimport consoleOutput from 'nightingale-console-output';\nimport type {\n Level,\n Handle,\n IsHandling,\n LogRecord,\n Metadata,\n Handler,\n} from 'nightingale-types';\n\nconst createHandle = (): Handle => {\n return (record: LogRecord): void => {\n return consoleOutput([formatterANSI(record)], record);\n };\n};\n\nexport class ReactNativeConsoleHandler implements Handler {\n minLevel: Level = 0;\n\n handle: Handle;\n\n isHandling: IsHandling;\n\n constructor(minLevel: Level) {\n this.minLevel = minLevel;\n this.isHandling = (level: Level) => level >= minLevel;\n this.handle = createHandle();\n }\n}\n"],"names":["createHandle","record","consoleOutput","formatterANSI","ReactNativeConsoleHandler","minLevel","isHandling","level","handle"],"mappings":";;;AAWA,IAAMA,YAAY,GAAG,SAAfA,YAAe,GAAc;AACjC,SAAO,UAAqBC,MAArB,EAAoD;AACzD,WAAOC,aAAa,CAAC,CAACC,aAAa,CAACF,MAAD,CAAd,CAAD,EAA0BA,MAA1B,CAApB;AACD,GAFD;AAGD,CAJD;;IAMaG,yBAAb,GAOE,mCAAYC,QAAZ,EAA6B;AAAA,OAN7BA,QAM6B,GANX,CAMW;AAC3B,OAAKA,QAAL,GAAgBA,QAAhB;;AACA,OAAKC,UAAL,GAAkB,UAACC,KAAD;AAAA,WAAkBA,KAAK,IAAIF,QAA3B;AAAA,GAAlB;;AACA,OAAKG,MAAL,GAAcR,YAAY,EAA1B;AACD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import formatterANSI from 'nightingale-ansi-formatter';\nimport type {\n Level,\n Handle,\n IsHandling,\n LogRecord,\n Metadata,\n Handler,\n} from 'nightingale-types';\n\nfunction consoleOutput(\n param: string | string[],\n record: LogRecord,\n): void {\n // eslint-disable-next-line no-console\n console.log(...param);\n}\n\nconst createHandle = (): Handle => {\n return (record: LogRecord): void => {\n consoleOutput([formatterANSI(record)], record);\n };\n};\n\nexport class ReactNativeConsoleHandler implements Handler {\n minLevel: Level = 0;\n\n handle: Handle;\n\n isHandling: IsHandling;\n\n constructor(minLevel: Level) {\n this.minLevel = minLevel;\n this.isHandling = (level: Level) => level >= minLevel;\n this.handle = createHandle();\n }\n}\n"],"names":["consoleOutput","param","console","log","createHandle","record","formatterANSI","ReactNativeConsoleHandler","minLevel","isHandling","level","handle"],"mappings":";;AAUA,SAASA,aAAT,CACEC,KADF,EAGQ;AAAA;;AACN;AACA,cAAAC,OAAO,EAACC,GAAR,iBAAeF,KAAf;AACD;;AAED,IAAMG,YAAY,GAAG,SAAfA,YAAe,GAAc;AACjC,SAAO,UAAqBC,MAArB,EAAoD;AACzDL,IAAAA,aAAa,CAAC,CAACM,aAAa,CAACD,MAAD,CAAd,CAAD,CAAb;AACD,GAFD;AAGD,CAJD;;IAMaE,yBAAb,GAOE,mCAAYC,QAAZ,EAA6B;AAAA,OAN7BA,QAM6B,GANX,CAMW;AAC3B,OAAKA,QAAL,GAAgBA,QAAhB;;AACA,OAAKC,UAAL,GAAkB,UAACC,KAAD;AAAA,WAAkBA,KAAK,IAAIF,QAA3B;AAAA,GAAlB;;AACA,OAAKG,MAAL,GAAcP,YAAY,EAA1B;AACD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-react-native-console/dist/index-browsermodern-dev.es.js b/packages/nightingale-react-native-console/dist/index-browsermodern-dev.es.js index 58a6a0741..3a6401b9b 100644 --- a/packages/nightingale-react-native-console/dist/index-browsermodern-dev.es.js +++ b/packages/nightingale-react-native-console/dist/index-browsermodern-dev.es.js @@ -1,9 +1,13 @@ import formatterANSI from 'nightingale-ansi-formatter'; -import consoleOutput from 'nightingale-console-output'; + +function consoleOutput(param) { + // eslint-disable-next-line no-console + console.log(...param); +} const createHandle = () => { return record => { - return consoleOutput([formatterANSI(record)], record); + consoleOutput([formatterANSI(record)]); }; }; diff --git a/packages/nightingale-react-native-console/dist/index-browsermodern-dev.es.js.map b/packages/nightingale-react-native-console/dist/index-browsermodern-dev.es.js.map index 106598296..944512847 100644 --- a/packages/nightingale-react-native-console/dist/index-browsermodern-dev.es.js.map +++ b/packages/nightingale-react-native-console/dist/index-browsermodern-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import formatterANSI from 'nightingale-ansi-formatter';\nimport consoleOutput from 'nightingale-console-output';\nimport type {\n Level,\n Handle,\n IsHandling,\n LogRecord,\n Metadata,\n Handler,\n} from 'nightingale-types';\n\nconst createHandle = (): Handle => {\n return (record: LogRecord): void => {\n return consoleOutput([formatterANSI(record)], record);\n };\n};\n\nexport class ReactNativeConsoleHandler implements Handler {\n minLevel: Level = 0;\n\n handle: Handle;\n\n isHandling: IsHandling;\n\n constructor(minLevel: Level) {\n this.minLevel = minLevel;\n this.isHandling = (level: Level) => level >= minLevel;\n this.handle = createHandle();\n }\n}\n"],"names":["createHandle","record","consoleOutput","formatterANSI","ReactNativeConsoleHandler","constructor","minLevel","isHandling","level","handle"],"mappings":";;;AAWA,MAAMA,YAAY,GAAG,MAAc;AACjC,SAA4BC,MAArB,IAAoD;AACzD,WAAOC,aAAa,CAAC,CAACC,aAAa,CAACF,MAAD,CAAd,CAAD,EAA0BA,MAA1B,CAApB;AACD,GAFD;AAGD,CAJD;;AAMO,MAAMG,yBAAN,CAAmD;AAOxDC,EAAAA,WAAW,CAACC,QAAD,EAAkB;AAAA,SAN7BA,QAM6B,GANX,CAMW;AAC3B,SAAKA,QAAL,GAAgBA,QAAhB;;AACA,SAAKC,UAAL,GAAmBC,KAAD,IAAkBA,KAAK,IAAIF,QAA7C;;AACA,SAAKG,MAAL,GAAcT,YAAY,EAA1B;AACD;;AAXuD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/index.ts"],"sourcesContent":["import formatterANSI from 'nightingale-ansi-formatter';\nimport type {\n Level,\n Handle,\n IsHandling,\n LogRecord,\n Metadata,\n Handler,\n} from 'nightingale-types';\n\nfunction consoleOutput(\n param: string | string[],\n record: LogRecord,\n): void {\n // eslint-disable-next-line no-console\n console.log(...param);\n}\n\nconst createHandle = (): Handle => {\n return (record: LogRecord): void => {\n consoleOutput([formatterANSI(record)], record);\n };\n};\n\nexport class ReactNativeConsoleHandler implements Handler {\n minLevel: Level = 0;\n\n handle: Handle;\n\n isHandling: IsHandling;\n\n constructor(minLevel: Level) {\n this.minLevel = minLevel;\n this.isHandling = (level: Level) => level >= minLevel;\n this.handle = createHandle();\n }\n}\n"],"names":["consoleOutput","param","console","log","createHandle","record","formatterANSI","ReactNativeConsoleHandler","constructor","minLevel","isHandling","level","handle"],"mappings":";;AAUA,SAASA,aAAT,CACEC,KADF,EAGQ;AACN;AACAC,EAAAA,OAAO,CAACC,GAAR,CAAY,GAAGF,KAAf;AACD;;AAED,MAAMG,YAAY,GAAG,MAAc;AACjC,SAA4BC,MAArB,IAAoD;AACzDL,IAAAA,aAAa,CAAC,CAACM,aAAa,CAACD,MAAD,CAAd,CAAD,CAAb;AACD,GAFD;AAGD,CAJD;;AAMO,MAAME,yBAAN,CAAmD;AAOxDC,EAAAA,WAAW,CAACC,QAAD,EAAkB;AAAA,SAN7BA,QAM6B,GANX,CAMW;AAC3B,SAAKA,QAAL,GAAgBA,QAAhB;;AACA,SAAKC,UAAL,GAAmBC,KAAD,IAAkBA,KAAK,IAAIF,QAA7C;;AACA,SAAKG,MAAL,GAAcR,YAAY,EAA1B;AACD;;AAXuD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-react-native-console/dist/index-browsermodern.es.js b/packages/nightingale-react-native-console/dist/index-browsermodern.es.js index f70530bf3..8aa28c233 100644 --- a/packages/nightingale-react-native-console/dist/index-browsermodern.es.js +++ b/packages/nightingale-react-native-console/dist/index-browsermodern.es.js @@ -1,9 +1,13 @@ import formatterANSI from 'nightingale-ansi-formatter'; -import consoleOutput from 'nightingale-console-output'; + +function consoleOutput(param) { + // eslint-disable-next-line no-console + console.log(...param); +} const createHandle = () => { return record => { - return consoleOutput([formatterANSI(record)], record); + consoleOutput([formatterANSI(record)]); }; }; diff --git a/packages/nightingale-react-native-console/dist/index-browsermodern.es.js.map b/packages/nightingale-react-native-console/dist/index-browsermodern.es.js.map index 904dd0ac4..92fe3e7ab 100644 --- a/packages/nightingale-react-native-console/dist/index-browsermodern.es.js.map +++ b/packages/nightingale-react-native-console/dist/index-browsermodern.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import formatterANSI from 'nightingale-ansi-formatter';\nimport consoleOutput from 'nightingale-console-output';\nimport type {\n Level,\n Handle,\n IsHandling,\n LogRecord,\n Metadata,\n Handler,\n} from 'nightingale-types';\n\nconst createHandle = (): Handle => {\n return (record: LogRecord): void => {\n return consoleOutput([formatterANSI(record)], record);\n };\n};\n\nexport class ReactNativeConsoleHandler implements Handler {\n minLevel: Level = 0;\n\n handle: Handle;\n\n isHandling: IsHandling;\n\n constructor(minLevel: Level) {\n this.minLevel = minLevel;\n this.isHandling = (level: Level) => level >= minLevel;\n this.handle = createHandle();\n }\n}\n"],"names":["createHandle","record","consoleOutput","formatterANSI","ReactNativeConsoleHandler","constructor","minLevel","isHandling","level","handle"],"mappings":";;;AAWA,MAAMA,YAAY,GAAG,MAAc;AACjC,SAA4BC,MAArB,IAAoD;AACzD,WAAOC,aAAa,CAAC,CAACC,aAAa,CAACF,MAAD,CAAd,CAAD,EAA0BA,MAA1B,CAApB;AACD,GAFD;AAGD,CAJD;;AAMO,MAAMG,yBAAN,CAAmD;AAOxDC,EAAAA,WAAW,CAACC,QAAD,EAAkB;AAAA,SAN7BA,QAM6B,GANX,CAMW;AAC3B,SAAKA,QAAL,GAAgBA,QAAhB;;AACA,SAAKC,UAAL,GAAmBC,KAAD,IAAkBA,KAAK,IAAIF,QAA7C;;AACA,SAAKG,MAAL,GAAcT,YAAY,EAA1B;AACD;;AAXuD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import formatterANSI from 'nightingale-ansi-formatter';\nimport type {\n Level,\n Handle,\n IsHandling,\n LogRecord,\n Metadata,\n Handler,\n} from 'nightingale-types';\n\nfunction consoleOutput(\n param: string | string[],\n record: LogRecord,\n): void {\n // eslint-disable-next-line no-console\n console.log(...param);\n}\n\nconst createHandle = (): Handle => {\n return (record: LogRecord): void => {\n consoleOutput([formatterANSI(record)], record);\n };\n};\n\nexport class ReactNativeConsoleHandler implements Handler {\n minLevel: Level = 0;\n\n handle: Handle;\n\n isHandling: IsHandling;\n\n constructor(minLevel: Level) {\n this.minLevel = minLevel;\n this.isHandling = (level: Level) => level >= minLevel;\n this.handle = createHandle();\n }\n}\n"],"names":["consoleOutput","param","console","log","createHandle","record","formatterANSI","ReactNativeConsoleHandler","constructor","minLevel","isHandling","level","handle"],"mappings":";;AAUA,SAASA,aAAT,CACEC,KADF,EAGQ;AACN;AACAC,EAAAA,OAAO,CAACC,GAAR,CAAY,GAAGF,KAAf;AACD;;AAED,MAAMG,YAAY,GAAG,MAAc;AACjC,SAA4BC,MAArB,IAAoD;AACzDL,IAAAA,aAAa,CAAC,CAACM,aAAa,CAACD,MAAD,CAAd,CAAD,CAAb;AACD,GAFD;AAGD,CAJD;;AAMO,MAAME,yBAAN,CAAmD;AAOxDC,EAAAA,WAAW,CAACC,QAAD,EAAkB;AAAA,SAN7BA,QAM6B,GANX,CAMW;AAC3B,SAAKA,QAAL,GAAgBA,QAAhB;;AACA,SAAKC,UAAL,GAAmBC,KAAD,IAAkBA,KAAK,IAAIF,QAA7C;;AACA,SAAKG,MAAL,GAAcR,YAAY,EAA1B;AACD;;AAXuD;;;;"} \ No newline at end of file diff --git a/packages/nightingale-react-native-console/dist/index.d.ts.map b/packages/nightingale-react-native-console/dist/index.d.ts.map index c32d85712..086ca847f 100644 --- a/packages/nightingale-react-native-console/dist/index.d.ts.map +++ b/packages/nightingale-react-native-console/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EACL,MAAM,EACN,UAAU,EAGV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAQ3B,qBAAa,yBAA0B,YAAW,OAAO;IACvD,QAAQ,EAAE,KAAK,CAAK;IAEpB,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,KAAK;CAK5B"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,MAAM,EACN,UAAU,EAGV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAgB3B,qBAAa,yBAA0B,YAAW,OAAO;IACvD,QAAQ,EAAE,KAAK,CAAK;IAEpB,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,KAAK;CAK5B"} \ No newline at end of file diff --git a/packages/nightingale-slack/dist/index-node12-dev.cjs.js.map b/packages/nightingale-slack/dist/index-node12-dev.cjs.js.map index 09f5d8a2a..8d4f55591 100644 --- a/packages/nightingale-slack/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale-slack/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody(\n record: LogRecord,\n slackConfig: SlackConfig,\n): Record {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { createBody };\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n (record: LogRecord) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;;;;;;;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,uBAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,uBAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,uBAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,uBAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,uBAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,uBAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,uBAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,uBAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,0BAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,qBAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,YAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody(\n record: LogRecord,\n slackConfig: SlackConfig,\n): Record {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { default as createBody } from './createBody';\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n (record: LogRecord) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;;;;;;;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,uBAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,uBAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,uBAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,uBAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,uBAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,uBAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,uBAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,uBAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,0BAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,qBAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,YAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-slack/dist/index-node12-dev.mjs.map b/packages/nightingale-slack/dist/index-node12-dev.mjs.map index 58b8fe301..a88b325f5 100644 --- a/packages/nightingale-slack/dist/index-node12-dev.mjs.map +++ b/packages/nightingale-slack/dist/index-node12-dev.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.mjs","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody(\n record: LogRecord,\n slackConfig: SlackConfig,\n): Record {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { createBody };\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n (record: LogRecord) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,KAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,KAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,KAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,KAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,KAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,KAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,KAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,KAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,iBAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,YAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,IAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.mjs","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody(\n record: LogRecord,\n slackConfig: SlackConfig,\n): Record {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { default as createBody } from './createBody';\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n (record: LogRecord) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,KAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,KAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,KAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,KAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,KAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,KAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,KAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,KAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,iBAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,YAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,IAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;"} \ No newline at end of file diff --git a/packages/nightingale-slack/dist/index-node12.cjs.js.map b/packages/nightingale-slack/dist/index-node12.cjs.js.map index 18f499ccf..6476668fb 100644 --- a/packages/nightingale-slack/dist/index-node12.cjs.js.map +++ b/packages/nightingale-slack/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody(\n record: LogRecord,\n slackConfig: SlackConfig,\n): Record {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { createBody };\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n (record: LogRecord) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;;;;;;;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,uBAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,uBAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,uBAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,uBAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,uBAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,uBAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,uBAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,uBAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,0BAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,qBAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,YAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody(\n record: LogRecord,\n slackConfig: SlackConfig,\n): Record {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { default as createBody } from './createBody';\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n (record: LogRecord) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;;;;;;;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,uBAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,uBAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,uBAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,uBAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,uBAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,uBAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,uBAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,uBAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,0BAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,qBAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,YAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-slack/dist/index-node12.mjs.map b/packages/nightingale-slack/dist/index-node12.mjs.map index e92f1fe8a..0447d3c9d 100644 --- a/packages/nightingale-slack/dist/index-node12.mjs.map +++ b/packages/nightingale-slack/dist/index-node12.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.mjs","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody(\n record: LogRecord,\n slackConfig: SlackConfig,\n): Record {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { createBody };\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n (record: LogRecord) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,KAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,KAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,KAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,KAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,KAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,KAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,KAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,KAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,iBAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,YAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,IAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;"} \ No newline at end of file +{"version":3,"file":"index-node12.mjs","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody(\n record: LogRecord,\n slackConfig: SlackConfig,\n): Record {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { default as createBody } from './createBody';\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n (record: LogRecord) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,KAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,KAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,KAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,KAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,KAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,KAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,KAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,KAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,iBAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,YAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,IAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;"} \ No newline at end of file diff --git a/packages/nightingale-slack/dist/index.d.ts b/packages/nightingale-slack/dist/index.d.ts index 35b1435e6..6c194ce3e 100644 --- a/packages/nightingale-slack/dist/index.d.ts +++ b/packages/nightingale-slack/dist/index.d.ts @@ -1,7 +1,6 @@ import type { Handle, Handler, Level } from 'nightingale-types'; import type SlackConfig from './SlackConfig'; -import createBody from './createBody'; -export { createBody }; +export { default as createBody } from './createBody'; export declare class SlackHandler implements Handler { minLevel: Level; handle: Handle; diff --git a/packages/nightingale-slack/dist/index.d.ts.map b/packages/nightingale-slack/dist/index.d.ts.map index 2e9481ba9..fc46bbdfa 100644 --- a/packages/nightingale-slack/dist/index.d.ts.map +++ b/packages/nightingale-slack/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,MAAM,EAEN,OAAO,EACP,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,CAAC;AAetB,qBAAa,YAAa,YAAW,OAAO;IAC1C,QAAQ,EAAE,KAAK,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;gBAEH,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK;CAItD;AAED,2CAA2C;AAC3C,eAAe,YAAY,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,MAAM,EAEN,OAAO,EACP,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAerD,qBAAa,YAAa,YAAW,OAAO;IAC1C,QAAQ,EAAE,KAAK,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;gBAEH,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK;CAItD;AAED,2CAA2C;AAC3C,eAAe,YAAY,CAAC"} \ No newline at end of file diff --git a/packages/nightingale-types/dist/index-browser-dev.cjs.js b/packages/nightingale-types/dist/index-browser-dev.cjs.js index 5ed39d02d..ce9859d93 100644 --- a/packages/nightingale-types/dist/index-browser-dev.cjs.js +++ b/packages/nightingale-types/dist/index-browser-dev.cjs.js @@ -1,3 +1,10 @@ 'use strict'; +Object.defineProperty(exports, '__esModule', { value: true }); + +var nightingaleLevels = require('nightingale-levels'); + + + +exports.Level = nightingaleLevels.Level; //# sourceMappingURL=index-browser-dev.cjs.js.map diff --git a/packages/nightingale-types/dist/index-browser-dev.cjs.js.map b/packages/nightingale-types/dist/index-browser-dev.cjs.js.map index 95f7e74b7..f3ecf2e9f 100644 --- a/packages/nightingale-types/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale-types/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-types/dist/index-browser-dev.es.js b/packages/nightingale-types/dist/index-browser-dev.es.js index 395177def..6c4be9ce1 100644 --- a/packages/nightingale-types/dist/index-browser-dev.es.js +++ b/packages/nightingale-types/dist/index-browser-dev.es.js @@ -1,2 +1,2 @@ - +export { Level } from 'nightingale-levels'; //# sourceMappingURL=index-browser-dev.es.js.map diff --git a/packages/nightingale-types/dist/index-browser.cjs.js b/packages/nightingale-types/dist/index-browser.cjs.js index d97782b53..7b8d79a27 100644 --- a/packages/nightingale-types/dist/index-browser.cjs.js +++ b/packages/nightingale-types/dist/index-browser.cjs.js @@ -1,3 +1,10 @@ 'use strict'; +Object.defineProperty(exports, '__esModule', { value: true }); + +var nightingaleLevels = require('nightingale-levels'); + + + +exports.Level = nightingaleLevels.Level; //# sourceMappingURL=index-browser.cjs.js.map diff --git a/packages/nightingale-types/dist/index-browser.cjs.js.map b/packages/nightingale-types/dist/index-browser.cjs.js.map index 979b72595..478c23f68 100644 --- a/packages/nightingale-types/dist/index-browser.cjs.js.map +++ b/packages/nightingale-types/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-types/dist/index-browser.es.js b/packages/nightingale-types/dist/index-browser.es.js index db54c6154..66935d263 100644 --- a/packages/nightingale-types/dist/index-browser.es.js +++ b/packages/nightingale-types/dist/index-browser.es.js @@ -1,2 +1,2 @@ - +export { Level } from 'nightingale-levels'; //# sourceMappingURL=index-browser.es.js.map diff --git a/packages/nightingale-types/dist/index-browsermodern-dev.es.js b/packages/nightingale-types/dist/index-browsermodern-dev.es.js index 8ce9bf3f7..6d9e64fa0 100644 --- a/packages/nightingale-types/dist/index-browsermodern-dev.es.js +++ b/packages/nightingale-types/dist/index-browsermodern-dev.es.js @@ -1,2 +1,2 @@ - +export { Level } from 'nightingale-levels'; //# sourceMappingURL=index-browsermodern-dev.es.js.map diff --git a/packages/nightingale-types/dist/index-browsermodern.es.js b/packages/nightingale-types/dist/index-browsermodern.es.js index d5f32f25f..233082cf9 100644 --- a/packages/nightingale-types/dist/index-browsermodern.es.js +++ b/packages/nightingale-types/dist/index-browsermodern.es.js @@ -1,2 +1,2 @@ - +export { Level } from 'nightingale-levels'; //# sourceMappingURL=index-browsermodern.es.js.map diff --git a/packages/nightingale-types/dist/index-node12-dev.cjs.js b/packages/nightingale-types/dist/index-node12-dev.cjs.js index 9f848b87a..448b5f406 100644 --- a/packages/nightingale-types/dist/index-node12-dev.cjs.js +++ b/packages/nightingale-types/dist/index-node12-dev.cjs.js @@ -1,3 +1,10 @@ 'use strict'; +Object.defineProperty(exports, '__esModule', { value: true }); + +const nightingaleLevels = require('nightingale-levels'); + + + +exports.Level = nightingaleLevels.Level; //# sourceMappingURL=index-node12-dev.cjs.js.map diff --git a/packages/nightingale-types/dist/index-node12-dev.cjs.js.map b/packages/nightingale-types/dist/index-node12-dev.cjs.js.map index 611d36fbf..c214c9c66 100644 --- a/packages/nightingale-types/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale-types/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-types/dist/index-node12-dev.mjs b/packages/nightingale-types/dist/index-node12-dev.mjs index 1d05d83a3..926cb11e9 100644 --- a/packages/nightingale-types/dist/index-node12-dev.mjs +++ b/packages/nightingale-types/dist/index-node12-dev.mjs @@ -1,2 +1,2 @@ - +export { Level } from 'nightingale-levels'; //# sourceMappingURL=index-node12-dev.mjs.map diff --git a/packages/nightingale-types/dist/index-node12.cjs.js b/packages/nightingale-types/dist/index-node12.cjs.js index 395e0223b..318c2873b 100644 --- a/packages/nightingale-types/dist/index-node12.cjs.js +++ b/packages/nightingale-types/dist/index-node12.cjs.js @@ -1,3 +1,10 @@ 'use strict'; +Object.defineProperty(exports, '__esModule', { value: true }); + +const nightingaleLevels = require('nightingale-levels'); + + + +exports.Level = nightingaleLevels.Level; //# sourceMappingURL=index-node12.cjs.js.map diff --git a/packages/nightingale-types/dist/index-node12.cjs.js.map b/packages/nightingale-types/dist/index-node12.cjs.js.map index 199c23908..1a90fdf3b 100644 --- a/packages/nightingale-types/dist/index-node12.cjs.js.map +++ b/packages/nightingale-types/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} \ No newline at end of file diff --git a/packages/nightingale-types/dist/index-node12.mjs b/packages/nightingale-types/dist/index-node12.mjs index 21f238afd..c7013aa4e 100644 --- a/packages/nightingale-types/dist/index-node12.mjs +++ b/packages/nightingale-types/dist/index-node12.mjs @@ -1,2 +1,2 @@ - +export { Level } from 'nightingale-levels'; //# sourceMappingURL=index-node12.mjs.map diff --git a/packages/nightingale-types/dist/index.d.ts b/packages/nightingale-types/dist/index.d.ts index 11bad10a7..27a730268 100644 --- a/packages/nightingale-types/dist/index.d.ts +++ b/packages/nightingale-types/dist/index.d.ts @@ -1,5 +1,5 @@ import type { Level } from 'nightingale-levels'; -export type { Level }; +export { Level } from 'nightingale-levels'; export declare type Styles = string[] | undefined; export interface Metadata { context?: Record; diff --git a/packages/nightingale-types/dist/index.d.ts.map b/packages/nightingale-types/dist/index.d.ts.map index 5791b5ead..569750657 100644 --- a/packages/nightingale-types/dist/index.d.ts.map +++ b/packages/nightingale-types/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,oBAAY,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAE1C,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,oBAAY,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM;CAAE,CAAC;AAE7E,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,QAAQ;IAC3C,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CACpC;AAED,oBAAY,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;AAChE,oBAAY,MAAM,GAAG,CAAC,CAAC,SAAS,QAAQ,EACtC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAE3B,KAAK,GAAG,IAAI,CAAC;AAElB,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,oBAAY,SAAS,GAAG,CAAC,CAAC,SAAS,QAAQ,EACzC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,IAAI,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,oBAAY,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAE1C,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,oBAAY,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM;CAAE,CAAC;AAE7E,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,QAAQ;IAC3C,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CACpC;AAED,oBAAY,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;AAChE,oBAAY,MAAM,GAAG,CAAC,CAAC,SAAS,QAAQ,EACtC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAE3B,KAAK,GAAG,IAAI,CAAC;AAElB,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,oBAAY,SAAS,GAAG,CAAC,CAAC,SAAS,QAAQ,EACzC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,IAAI,CAAC"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-browser-dev.cjs.js b/packages/nightingale/dist/index-browser-dev.cjs.js index 0cbbb908e..a50dea552 100644 --- a/packages/nightingale/dist/index-browser-dev.cjs.js +++ b/packages/nightingale/dist/index-browser-dev.cjs.js @@ -2,8 +2,8 @@ Object.defineProperty(exports, '__esModule', { value: true }); -var nightingaleLevels = require('nightingale-levels'); var nightingaleLogger = require('nightingale-logger'); +var nightingaleLevels = require('nightingale-levels'); if (global.__NIGHTINGALE_GLOBAL_HANDLERS) { throw new Error('nightingale: update all to ^5.0.0'); @@ -141,23 +141,23 @@ function listenUnhandledErrors(logger) { } process.on('uncaughtException', function (error) { - return logger.error('uncaughtException', { + logger.error('uncaughtException', { error, unhandled: true }); }); process.on('unhandledRejection', function (error) { - return logger.error('unhandledRejection', { + logger.error('unhandledRejection', { error, unhandled: true }); }); } -exports.Level = nightingaleLevels.Level; -exports.levels = nightingaleLevels.Level; exports.Logger = nightingaleLogger.Logger; exports["default"] = nightingaleLogger.Logger; +exports.Level = nightingaleLevels.Level; +exports.levels = nightingaleLevels.Level; exports.addConfig = addConfig; exports.configure = configure; exports.listenUnhandledErrors = listenUnhandledErrors; diff --git a/packages/nightingale/dist/index-browser-dev.cjs.js.map b/packages/nightingale/dist/index-browser-dev.cjs.js.map index 56233f0eb..82fb8939f 100644 --- a/packages/nightingale/dist/index-browser-dev.cjs.js.map +++ b/packages/nightingale/dist/index-browser-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-browser-dev.es.js b/packages/nightingale/dist/index-browser-dev.es.js index 57e890c09..f3b6fdf71 100644 --- a/packages/nightingale/dist/index-browser-dev.es.js +++ b/packages/nightingale/dist/index-browser-dev.es.js @@ -1,6 +1,6 @@ -export { Level, Level as levels } from 'nightingale-levels'; import { Logger } from 'nightingale-logger'; export { Logger, Logger as default } from 'nightingale-logger'; +export { Level, Level as levels } from 'nightingale-levels'; if (global.__NIGHTINGALE_GLOBAL_HANDLERS) { throw new Error('nightingale: update all to ^5.0.0'); @@ -138,13 +138,13 @@ function listenUnhandledErrors(logger) { } process.on('uncaughtException', function (error) { - return logger.error('uncaughtException', { + logger.error('uncaughtException', { error, unhandled: true }); }); process.on('unhandledRejection', function (error) { - return logger.error('unhandledRejection', { + logger.error('unhandledRejection', { error, unhandled: true }); diff --git a/packages/nightingale/dist/index-browser-dev.es.js.map b/packages/nightingale/dist/index-browser-dev.es.js.map index 217364328..f4d55768a 100644 --- a/packages/nightingale/dist/index-browser-dev.es.js.map +++ b/packages/nightingale/dist/index-browser-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser-dev.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":";;;;AAIA,IAAgCA,MAAM,CAACC,6BAAvC,EAAsE;AACpE,QAAM,IAAIC,KAAJ,CAAU,mCAAV,CAAN;AACD;;AAED,IAAI,CAACF,MAAM,CAACG,oBAAZ,EAAkC;AAChCH,EAAAA,MAAM,CAACG,oBAAP,GAA8B,EAA9B;AACAH,EAAAA,MAAM,CAACI,8BAAP,GAAwC,IAAIC,GAAJ,EAAxC;AAIAL,EAAAA,MAAM,CAACM,4BAAP,GAAsC;AAAEC,IAAAA,QAAQ,EAAE,EAAZ;AAAgBC,IAAAA,UAAU,EAAE;AAA5B,GAAtC;AACD;;AAED,SAASC,UAAT,GAA4B;AAC1BT,EAAAA,MAAM,CAACI,8BAAP,CAAsCM,KAAtC;AACD;;AAED,SAASC,YAAT,CAAsBC,MAAtB,EAA8C;AAC5C,MAAIA,MAAM,CAACC,IAAX,EAAiB;AACf,QAAID,MAAM,CAACE,OAAX,EAAoB;AAClB,YAAM,IAAIZ,KAAJ,CAAU,iDAAV,CAAN;AACD;;AACD,QAAIU,MAAM,CAACG,GAAX,EAAgB;AACd,YAAM,IAAIb,KAAJ,CAAU,8CAAV,CAAN;AACD;AACF,GAPD,MAOO,IAAIU,MAAM,CAACG,GAAX,EAAgB;AACrB,QAAIH,MAAM,CAACE,OAAX,EAAoB;AAClB,YAAM,IAAIZ,KAAJ,CAAU,iDAAV,CAAN;AACD;;AACDU,IAAAA,MAAM,CAACC,IAAP,GAAc,CAACD,MAAM,CAACG,GAAR,CAAd;AACA,WAAOH,MAAM,CAACG,GAAd;AACD;;AAED,MAAIH,MAAM,CAACI,OAAX,EAAoB;AAClB,QAAIJ,MAAM,CAACL,QAAX,EAAqB;AACnB,YAAM,IAAIL,KAAJ,CAAU,sDAAV,CAAN;AACD;;AACDU,IAAAA,MAAM,CAACL,QAAP,GAAkB,CAACK,MAAM,CAACI,OAAR,CAAlB;AACA,WAAOJ,MAAM,CAACI,OAAd;AACD;;AAED,MAAIJ,MAAM,CAACK,SAAX,EAAsB;AACpB,QAAIL,MAAM,CAACJ,UAAX,EAAuB;AACrB,YAAM,IAAIN,KAAJ,CACJ,2DADI,CAAN;AAGD;;AACDU,IAAAA,MAAM,CAACJ,UAAP,GAAoB,CAACI,MAAM,CAACK,SAAR,CAApB;AACA,WAAOL,MAAM,CAACK,SAAd;AACD;;AAED,SAAOL,MAAP;AACD;;AAEM,SAASM,SAAT,CAAmBN,MAAnB,EAA2C;AAChD,MAAIZ,MAAM,CAACG,oBAAP,CAA4BgB,MAA5B,GAAqC,CAAzC,EAA4C;AAC1C;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAY,yCAAZ;AACD;;AAEDZ,EAAAA,UAAU;AACVT,EAAAA,MAAM,CAACG,oBAAP,GAA8BS,MAAM,CAACU,GAAP,CAAWX,YAAX,CAA9B;AACD;AAEM,SAASY,SAAT,CAAmBX,MAAnB,EAAmCY,OAAnC,EAA0D;AAAA,MAAvBA,OAAuB;AAAvBA,IAAAA,OAAuB,GAAb,KAAa;AAAA;;AAC/DZ,EAAAA,MAAM,GAAGD,YAAY,CAACC,MAAD,CAArB;;AACAZ,EAAAA,MAAM,CAACG,oBAAP,CAA4BqB,OAAO,GAAG,SAAH,GAAe,MAAlD,EAA0DZ,MAA1D;;AACAH,EAAAA,UAAU;AACX;;AAED,IAAMgB,cAAc,GAAG,SAAjBA,cAAiB,CAACV,GAAD;AAAA,SAAiB,UAACH,MAAD,EAAoB;AAC1D,QAAIA,MAAM,CAACC,IAAX,EAAiB,OAAOD,MAAM,CAACC,IAAP,CAAYa,QAAZ,CAAqBX,GAArB,CAAP;AACjB,QAAIH,MAAM,CAACE,OAAX,EAAoB,OAAOF,MAAM,CAACE,OAAP,CAAea,IAAf,CAAoBZ,GAApB,CAAP;AACpB,WAAO,IAAP;AACD,GAJsB;AAAA,CAAvB;;AAMAf,MAAM,CAAC4B,mCAAP,GAA6C,UAC3Cb,GAD2C,EAElB;AACzB,MAAMc,WAAW,GAAG7B,MAAM,CAACI,8BAA3B;AAEA,MAAM0B,aAAa,GAAGD,WAAW,CAACE,GAAZ,CAAgBhB,GAAhB,CAAtB;;AAEA,MAAIe,aAAJ,EAAmB;AACjB,WAAOA,aAAP;AACD;;AAED,MAAME,YAAkC,GAAG;AACzCzB,IAAAA,QAAQ,EAAE,EAD+B;AAEzCC,IAAAA,UAAU,EAAE;AAF6B,GAA3C;;AAKAR,EAAAA,MAAM,CAACG,oBAAP,CACG8B,MADH,CACUR,cAAc,CAACV,GAAD,CADxB,EAEGmB,IAFH,CAEQ,UAACtB,MAAD,EAAoB;AAAA;;AACxB,QAAIA,MAAM,CAACL,QAAX,EAAqB,yBAAAyB,YAAY,CAACzB,QAAb,EAAsB4B,IAAtB,8BAA8BvB,MAAM,CAACL,QAArC;AACrB,QAAIK,MAAM,CAACJ,UAAX,EAAuB,yBAAAwB,YAAY,CAACxB,UAAb,EAAwB2B,IAAxB,8BAAgCvB,MAAM,CAACJ,UAAvC;AACvB,WAAOI,MAAM,CAACwB,IAAd;AACD,GANH;;AAQAP,EAAAA,WAAW,CAACQ,GAAZ,CAAgBtB,GAAhB,EAAqBiB,YAArB;AACA,SAAOA,YAAP;AACD,CA1BD;;AA4BA,IAAIhC,MAAM,CAACsC,0CAAX,EAAuD;AACrDtC,EAAAA,MAAM,CAACsC,0CAAP,GAAoD,UAClDvB,GADkD,EAElDwB,KAFkD,EAGzB;AACzB,gCACEvC,MAAM,CAAC4B,mCAAP,CAA2Cb,GAA3C,CADF;AAAA,QAAQR,QAAR,yBAAQA,QAAR;AAAA,QAAkBC,UAAlB,yBAAkBA,UAAlB;;AAGA,WAAO;AACLD,MAAAA,QAAQ,EAAEA,QAAQ,CAAC0B,MAAT,CACR,UAACjB,OAAD;AAAA,eACEuB,KAAK,IAAIvB,OAAO,CAACwB,QAAjB,KACC,CAACxB,OAAO,CAACyB,UAAT,IAAuBzB,OAAO,CAACyB,UAAR,CAAmBF,KAAnB,EAA0BxB,GAA1B,CADxB,CADF;AAAA,OADQ,CADL;AAMLP,MAAAA;AANK,KAAP;AAQD,GAfD;AAgBD;;ACrHD;AACA;AACA;AACA;;AACO,SAASkC,qBAAT,CACLC,MADK,EAKC;AAAA,MAJNA,MAIM;AAJNA,IAAAA,MAIM,GAJW,IAAIC,MAAJ,CACf,mCADe,EAEf,iBAFe,CAIX;AAAA;;AACNC,EAAAA,OAAO,CAACC,EAAR,CAAW,mBAAX,EAAgC,UAACC,KAAD;AAAA,WAC9BJ,MAAM,CAACI,KAAP,CAAa,mBAAb,EAAkC;AAAEA,MAAAA,KAAF;AAASC,MAAAA,SAAS,EAAE;AAApB,KAAlC,CAD8B;AAAA,GAAhC;AAGAH,EAAAA,OAAO,CAACC,EAAR,CAAW,oBAAX,EAAiC,UAACC,KAAD;AAAA,WAC/BJ,MAAM,CAACI,KAAP,CAAa,oBAAb,EAAmC;AAAEA,MAAAA,KAAF;AAASC,MAAAA,SAAS,EAAE;AAApB,KAAnC,CAD+B;AAAA,GAAjC;AAGD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browser-dev.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-browser.cjs.js b/packages/nightingale/dist/index-browser.cjs.js index 727c83483..eeeee035b 100644 --- a/packages/nightingale/dist/index-browser.cjs.js +++ b/packages/nightingale/dist/index-browser.cjs.js @@ -2,8 +2,8 @@ Object.defineProperty(exports, '__esModule', { value: true }); -var nightingaleLevels = require('nightingale-levels'); var nightingaleLogger = require('nightingale-logger'); +var nightingaleLevels = require('nightingale-levels'); if (!global.__NIGHTINGALE_CONFIG) { global.__NIGHTINGALE_CONFIG = []; @@ -137,23 +137,23 @@ function listenUnhandledErrors(logger) { } process.on('uncaughtException', function (error) { - return logger.error('uncaughtException', { + logger.error('uncaughtException', { error, unhandled: true }); }); process.on('unhandledRejection', function (error) { - return logger.error('unhandledRejection', { + logger.error('unhandledRejection', { error, unhandled: true }); }); } -exports.Level = nightingaleLevels.Level; -exports.levels = nightingaleLevels.Level; exports.Logger = nightingaleLogger.Logger; exports["default"] = nightingaleLogger.Logger; +exports.Level = nightingaleLevels.Level; +exports.levels = nightingaleLevels.Level; exports.addConfig = addConfig; exports.configure = configure; exports.listenUnhandledErrors = listenUnhandledErrors; diff --git a/packages/nightingale/dist/index-browser.cjs.js.map b/packages/nightingale/dist/index-browser.cjs.js.map index 0668b3a82..d87aede95 100644 --- a/packages/nightingale/dist/index-browser.cjs.js.map +++ b/packages/nightingale/dist/index-browser.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-browser.es.js b/packages/nightingale/dist/index-browser.es.js index 3ecf5eb6b..183773bf4 100644 --- a/packages/nightingale/dist/index-browser.es.js +++ b/packages/nightingale/dist/index-browser.es.js @@ -1,6 +1,6 @@ -export { Level, Level as levels } from 'nightingale-levels'; import { Logger } from 'nightingale-logger'; export { Logger, Logger as default } from 'nightingale-logger'; +export { Level, Level as levels } from 'nightingale-levels'; if (!global.__NIGHTINGALE_CONFIG) { global.__NIGHTINGALE_CONFIG = []; @@ -134,13 +134,13 @@ function listenUnhandledErrors(logger) { } process.on('uncaughtException', function (error) { - return logger.error('uncaughtException', { + logger.error('uncaughtException', { error, unhandled: true }); }); process.on('unhandledRejection', function (error) { - return logger.error('unhandledRejection', { + logger.error('unhandledRejection', { error, unhandled: true }); diff --git a/packages/nightingale/dist/index-browser.es.js.map b/packages/nightingale/dist/index-browser.es.js.map index 9a165bb95..23464a704 100644 --- a/packages/nightingale/dist/index-browser.es.js.map +++ b/packages/nightingale/dist/index-browser.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browser.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browser.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":";;;;AAQA,IAAI,CAACA,MAAM,CAACC,oBAAZ,EAAkC;AAChCD,EAAAA,MAAM,CAACC,oBAAP,GAA8B,EAA9B;AACAD,EAAAA,MAAM,CAACE,8BAAP,GAAwC,IAAIC,GAAJ,EAAxC;AAIAH,EAAAA,MAAM,CAACI,4BAAP,GAAsC;AAAEC,IAAAA,QAAQ,EAAE,EAAZ;AAAgBC,IAAAA,UAAU,EAAE;AAA5B,GAAtC;AACD;;AAED,SAASC,UAAT,GAA4B;AAC1BP,EAAAA,MAAM,CAACE,8BAAP,CAAsCM,KAAtC;AACD;;AAED,SAASC,YAAT,CAAsBC,MAAtB,EAA8C;AAC5C,MAAIA,MAAM,CAACC,IAAX,EAAiB;AACf,QAAID,MAAM,CAACE,OAAX,EAAoB;AAClB,YAAM,IAAIC,KAAJ,CAAU,iDAAV,CAAN;AACD;;AACD,QAAIH,MAAM,CAACI,GAAX,EAAgB;AACd,YAAM,IAAID,KAAJ,CAAU,8CAAV,CAAN;AACD;AACF,GAPD,MAOO,IAAIH,MAAM,CAACI,GAAX,EAAgB;AACrB,QAAIJ,MAAM,CAACE,OAAX,EAAoB;AAClB,YAAM,IAAIC,KAAJ,CAAU,iDAAV,CAAN;AACD;;AACDH,IAAAA,MAAM,CAACC,IAAP,GAAc,CAACD,MAAM,CAACI,GAAR,CAAd;AACA,WAAOJ,MAAM,CAACI,GAAd;AACD;;AAED,MAAIJ,MAAM,CAACK,OAAX,EAAoB;AAClB,QAAIL,MAAM,CAACL,QAAX,EAAqB;AACnB,YAAM,IAAIQ,KAAJ,CAAU,sDAAV,CAAN;AACD;;AACDH,IAAAA,MAAM,CAACL,QAAP,GAAkB,CAACK,MAAM,CAACK,OAAR,CAAlB;AACA,WAAOL,MAAM,CAACK,OAAd;AACD;;AAED,MAAIL,MAAM,CAACM,SAAX,EAAsB;AACpB,QAAIN,MAAM,CAACJ,UAAX,EAAuB;AACrB,YAAM,IAAIO,KAAJ,CACJ,2DADI,CAAN;AAGD;;AACDH,IAAAA,MAAM,CAACJ,UAAP,GAAoB,CAACI,MAAM,CAACM,SAAR,CAApB;AACA,WAAON,MAAM,CAACM,SAAd;AACD;;AAED,SAAON,MAAP;AACD;;AAEM,SAASO,SAAT,CAAmBP,MAAnB,EAA2C;AAChD,MAAIV,MAAM,CAACC,oBAAP,CAA4BiB,MAA5B,GAAqC,CAAzC,EAA4C;AAC1C;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAY,yCAAZ;AACD;;AAEDb,EAAAA,UAAU;AACVP,EAAAA,MAAM,CAACC,oBAAP,GAA8BS,MAAM,CAACW,GAAP,CAAWZ,YAAX,CAA9B;AACD;AAEM,SAASa,SAAT,CAAmBZ,MAAnB,EAAmCa,OAAnC,EAA0D;AAAA,MAAvBA,OAAuB;AAAvBA,IAAAA,OAAuB,GAAb,KAAa;AAAA;;AAC/Db,EAAAA,MAAM,GAAGD,YAAY,CAACC,MAAD,CAArB;;AACAV,EAAAA,MAAM,CAACC,oBAAP,CAA4BsB,OAAO,GAAG,SAAH,GAAe,MAAlD,EAA0Db,MAA1D;;AACAH,EAAAA,UAAU;AACX;;AAED,IAAMiB,cAAc,GAAG,SAAjBA,cAAiB,CAACV,GAAD;AAAA,SAAiB,UAACJ,MAAD,EAAoB;AAC1D,QAAIA,MAAM,CAACC,IAAX,EAAiB,OAAOD,MAAM,CAACC,IAAP,CAAYc,QAAZ,CAAqBX,GAArB,CAAP;AACjB,QAAIJ,MAAM,CAACE,OAAX,EAAoB,OAAOF,MAAM,CAACE,OAAP,CAAec,IAAf,CAAoBZ,GAApB,CAAP;AACpB,WAAO,IAAP;AACD,GAJsB;AAAA,CAAvB;;AAMAd,MAAM,CAAC2B,mCAAP,GAA6C,UAC3Cb,GAD2C,EAElB;AACzB,MAAMc,WAAW,GAAG5B,MAAM,CAACE,8BAA3B;AAEA,MAAM2B,aAAa,GAAGD,WAAW,CAACE,GAAZ,CAAgBhB,GAAhB,CAAtB;;AAEA,MAAIe,aAAJ,EAAmB;AACjB,WAAOA,aAAP;AACD;;AAED,MAAME,YAAkC,GAAG;AACzC1B,IAAAA,QAAQ,EAAE,EAD+B;AAEzCC,IAAAA,UAAU,EAAE;AAF6B,GAA3C;;AAKAN,EAAAA,MAAM,CAACC,oBAAP,CACG+B,MADH,CACUR,cAAc,CAACV,GAAD,CADxB,EAEGmB,IAFH,CAEQ,UAACvB,MAAD,EAAoB;AAAA;;AACxB,QAAIA,MAAM,CAACL,QAAX,EAAqB,yBAAA0B,YAAY,CAAC1B,QAAb,EAAsB6B,IAAtB,8BAA8BxB,MAAM,CAACL,QAArC;AACrB,QAAIK,MAAM,CAACJ,UAAX,EAAuB,yBAAAyB,YAAY,CAACzB,UAAb,EAAwB4B,IAAxB,8BAAgCxB,MAAM,CAACJ,UAAvC;AACvB,WAAOI,MAAM,CAACyB,IAAd;AACD,GANH;;AAQAP,EAAAA,WAAW,CAACQ,GAAZ,CAAgBtB,GAAhB,EAAqBiB,YAArB;AACA,SAAOA,YAAP;AACD,CA1BD;;AA4BA,IAAI/B,MAAM,CAACqC,0CAAX,EAAuD;AACrDrC,EAAAA,MAAM,CAACqC,0CAAP,GAAoD,UAClDvB,GADkD,EAElDwB,KAFkD,EAGzB;AACzB,gCACEtC,MAAM,CAAC2B,mCAAP,CAA2Cb,GAA3C,CADF;AAAA,QAAQT,QAAR,yBAAQA,QAAR;AAAA,QAAkBC,UAAlB,yBAAkBA,UAAlB;;AAGA,WAAO;AACLD,MAAAA,QAAQ,EAAEA,QAAQ,CAAC2B,MAAT,CACR,UAACjB,OAAD;AAAA,eACEuB,KAAK,IAAIvB,OAAO,CAACwB,QAAjB,KACC,CAACxB,OAAO,CAACyB,UAAT,IAAuBzB,OAAO,CAACyB,UAAR,CAAmBF,KAAnB,EAA0BxB,GAA1B,CADxB,CADF;AAAA,OADQ,CADL;AAMLR,MAAAA;AANK,KAAP;AAQD,GAfD;AAgBD;;ACnHD;AACA;AACA;AACA;;AACO,SAASmC,qBAAT,CACLC,MADK,EAKC;AAAA,MAJNA,MAIM;AAJNA,IAAAA,MAIM,GAJW,IAAIC,MAAJ,CACf,mCADe,EAEf,iBAFe,CAIX;AAAA;;AACNC,EAAAA,OAAO,CAACC,EAAR,CAAW,mBAAX,EAAgC,UAACC,KAAD,EAAW;AACzCJ,IAAAA,MAAM,CAACI,KAAP,CAAa,mBAAb,EAAkC;AAAEA,MAAAA,KAAF;AAASC,MAAAA,SAAS,EAAE;AAApB,KAAlC;AACD,GAFD;AAGAH,EAAAA,OAAO,CAACC,EAAR,CAAW,oBAAX,EAAiC,UAACC,KAAD,EAAW;AAC1CJ,IAAAA,MAAM,CAACI,KAAP,CAAa,oBAAb,EAAmC;AAAEA,MAAAA,KAAF;AAASC,MAAAA,SAAS,EAAE;AAApB,KAAnC;AACD,GAFD;AAGD;;;;"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-browsermodern-dev.es.js b/packages/nightingale/dist/index-browsermodern-dev.es.js index 5e7db453b..f512166f7 100644 --- a/packages/nightingale/dist/index-browsermodern-dev.es.js +++ b/packages/nightingale/dist/index-browsermodern-dev.es.js @@ -1,6 +1,6 @@ -export { Level, Level as levels } from 'nightingale-levels'; import { Logger } from 'nightingale-logger'; export { Logger, Logger as default } from 'nightingale-logger'; +export { Level, Level as levels } from 'nightingale-levels'; if (global.__NIGHTINGALE_GLOBAL_HANDLERS) { throw new Error('nightingale: update all to ^5.0.0'); @@ -124,14 +124,18 @@ if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) { */ function listenUnhandledErrors(logger = new Logger('nightingale:listenUnhandledErrors', 'UnhandledErrors')) { - process.on('uncaughtException', error => logger.error('uncaughtException', { - error, - unhandled: true - })); - process.on('unhandledRejection', error => logger.error('unhandledRejection', { - error, - unhandled: true - })); + process.on('uncaughtException', error => { + logger.error('uncaughtException', { + error, + unhandled: true + }); + }); + process.on('unhandledRejection', error => { + logger.error('unhandledRejection', { + error, + unhandled: true + }); + }); } export { addConfig, configure, listenUnhandledErrors }; diff --git a/packages/nightingale/dist/index-browsermodern-dev.es.js.map b/packages/nightingale/dist/index-browsermodern-dev.es.js.map index 1051afccb..3d8e7d57a 100644 --- a/packages/nightingale/dist/index-browsermodern-dev.es.js.map +++ b/packages/nightingale/dist/index-browsermodern-dev.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":";;;;AAIA,IAAgCA,MAAM,CAACC,6BAAvC,EAAsE;AACpE,QAAM,IAAIC,KAAJ,CAAU,mCAAV,CAAN;AACD;;AAED,IAAI,CAACF,MAAM,CAACG,oBAAZ,EAAkC;AAChCH,EAAAA,MAAM,CAACG,oBAAP,GAA8B,EAA9B;AACAH,EAAAA,MAAM,CAACI,8BAAP,GAAwC,IAAIC,GAAJ,EAAxC;AAIAL,EAAAA,MAAM,CAACM,4BAAP,GAAsC;AAAEC,IAAAA,QAAQ,EAAE,EAAZ;AAAgBC,IAAAA,UAAU,EAAE;AAA5B,GAAtC;AACD;;AAED,SAASC,UAAT,GAA4B;AAC1BT,EAAAA,MAAM,CAACI,8BAAP,CAAsCM,KAAtC;AACD;;AAED,SAASC,YAAT,CAAsBC,MAAtB,EAA8C;AAC5C,MAAIA,MAAM,CAACC,IAAX,EAAiB;AACf,QAAID,MAAM,CAACE,OAAX,EAAoB;AAClB,YAAM,IAAIZ,KAAJ,CAAU,iDAAV,CAAN;AACD;;AACD,QAAIU,MAAM,CAACG,GAAX,EAAgB;AACd,YAAM,IAAIb,KAAJ,CAAU,8CAAV,CAAN;AACD;AACF,GAPD,MAOO,IAAIU,MAAM,CAACG,GAAX,EAAgB;AACrB,QAAIH,MAAM,CAACE,OAAX,EAAoB;AAClB,YAAM,IAAIZ,KAAJ,CAAU,iDAAV,CAAN;AACD;;AACDU,IAAAA,MAAM,CAACC,IAAP,GAAc,CAACD,MAAM,CAACG,GAAR,CAAd;AACA,WAAOH,MAAM,CAACG,GAAd;AACD;;AAED,MAAIH,MAAM,CAACI,OAAX,EAAoB;AAClB,QAAIJ,MAAM,CAACL,QAAX,EAAqB;AACnB,YAAM,IAAIL,KAAJ,CAAU,sDAAV,CAAN;AACD;;AACDU,IAAAA,MAAM,CAACL,QAAP,GAAkB,CAACK,MAAM,CAACI,OAAR,CAAlB;AACA,WAAOJ,MAAM,CAACI,OAAd;AACD;;AAED,MAAIJ,MAAM,CAACK,SAAX,EAAsB;AACpB,QAAIL,MAAM,CAACJ,UAAX,EAAuB;AACrB,YAAM,IAAIN,KAAJ,CACJ,2DADI,CAAN;AAGD;;AACDU,IAAAA,MAAM,CAACJ,UAAP,GAAoB,CAACI,MAAM,CAACK,SAAR,CAApB;AACA,WAAOL,MAAM,CAACK,SAAd;AACD;;AAED,SAAOL,MAAP;AACD;;AAEM,SAASM,SAAT,CAAmBN,MAAnB,EAA2C;AAChD,MAAIZ,MAAM,CAACG,oBAAP,CAA4BgB,MAA5B,GAAqC,CAAzC,EAA4C;AAC1C;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAY,yCAAZ;AACD;;AAEDZ,EAAAA,UAAU;AACVT,EAAAA,MAAM,CAACG,oBAAP,GAA8BS,MAAM,CAACU,GAAP,CAAWX,YAAX,CAA9B;AACD;AAEM,SAASY,SAAT,CAAmBX,MAAnB,EAAmCY,OAAO,GAAG,KAA7C,EAA0D;AAC/DZ,EAAAA,MAAM,GAAGD,YAAY,CAACC,MAAD,CAArB;;AACAZ,EAAAA,MAAM,CAACG,oBAAP,CAA4BqB,OAAO,GAAG,SAAH,GAAe,MAAlD,EAA0DZ,MAA1D;;AACAH,EAAAA,UAAU;AACX;;AAED,MAAMgB,cAAc,GAAIV,GAAD,IAAkBH,MAAD,IAAoB;AAC1D,MAAIA,MAAM,CAACC,IAAX,EAAiB,OAAOD,MAAM,CAACC,IAAP,CAAYa,QAAZ,CAAqBX,GAArB,CAAP;AACjB,MAAIH,MAAM,CAACE,OAAX,EAAoB,OAAOF,MAAM,CAACE,OAAP,CAAea,IAAf,CAAoBZ,GAApB,CAAP;AACpB,SAAO,IAAP;AACD,CAJD;;AAMAf,MAAM,CAAC4B,mCAAP,GACEb,GAD2C,IAElB;AACzB,QAAMc,WAAW,GAAG7B,MAAM,CAACI,8BAA3B;AAEA,QAAM0B,aAAa,GAAGD,WAAW,CAACE,GAAZ,CAAgBhB,GAAhB,CAAtB;;AAEA,MAAIe,aAAJ,EAAmB;AACjB,WAAOA,aAAP;AACD;;AAED,QAAME,YAAkC,GAAG;AACzCzB,IAAAA,QAAQ,EAAE,EAD+B;AAEzCC,IAAAA,UAAU,EAAE;AAF6B,GAA3C;;AAKAR,EAAAA,MAAM,CAACG,oBAAP,CACG8B,MADH,CACUR,cAAc,CAACV,GAAD,CADxB,EAEGmB,IAFH,CAEStB,MAAD,IAAoB;AACxB,QAAIA,MAAM,CAACL,QAAX,EAAqByB,YAAY,CAACzB,QAAb,CAAsB4B,IAAtB,CAA2B,GAAGvB,MAAM,CAACL,QAArC;AACrB,QAAIK,MAAM,CAACJ,UAAX,EAAuBwB,YAAY,CAACxB,UAAb,CAAwB2B,IAAxB,CAA6B,GAAGvB,MAAM,CAACJ,UAAvC;AACvB,WAAOI,MAAM,CAACwB,IAAd;AACD,GANH;;AAQAP,EAAAA,WAAW,CAACQ,GAAZ,CAAgBtB,GAAhB,EAAqBiB,YAArB;AACA,SAAOA,YAAP;AACD,CA1BD;;AA4BA,IAAIhC,MAAM,CAACsC,0CAAX,EAAuD;AACrDtC,EAAAA,MAAM,CAACsC,0CAAP,GAAoD,CAClDvB,GADkD,EAElDwB,KAFkD,KAGzB;AACzB,UAAM;AAAEhC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QACJR,MAAM,CAAC4B,mCAAP,CAA2Cb,GAA3C,CADF;;AAGA,WAAO;AACLR,MAAAA,QAAQ,EAAEA,QAAQ,CAAC0B,MAAT,CACPjB,OAAD,IACEuB,KAAK,IAAIvB,OAAO,CAACwB,QAAjB,KACC,CAACxB,OAAO,CAACyB,UAAT,IAAuBzB,OAAO,CAACyB,UAAR,CAAmBF,KAAnB,EAA0BxB,GAA1B,CADxB,CAFM,CADL;AAMLP,MAAAA;AANK,KAAP;AAQD,GAfD;AAgBD;;ACrHD;AACA;AACA;AACA;;AACO,SAASkC,qBAAT,CACLC,MAAc,GAAG,IAAIC,MAAJ,CACf,mCADe,EAEf,iBAFe,CADZ,EAKC;AACNC,EAAAA,OAAO,CAACC,EAAR,CAAW,mBAAX,EAAiCC,KAAD,IAC9BJ,MAAM,CAACI,KAAP,CAAa,mBAAb,EAAkC;AAAEA,IAAAA,KAAF;AAASC,IAAAA,SAAS,EAAE;AAApB,GAAlC,CADF;AAGAH,EAAAA,OAAO,CAACC,EAAR,CAAW,oBAAX,EAAkCC,KAAD,IAC/BJ,MAAM,CAACI,KAAP,CAAa,oBAAb,EAAmC;AAAEA,IAAAA,KAAF;AAASC,IAAAA,SAAS,EAAE;AAApB,GAAnC,CADF;AAGD;;;;"} \ No newline at end of file +{"version":3,"file":"index-browsermodern-dev.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-browsermodern.es.js b/packages/nightingale/dist/index-browsermodern.es.js index 7863f4fdd..0c481ac64 100644 --- a/packages/nightingale/dist/index-browsermodern.es.js +++ b/packages/nightingale/dist/index-browsermodern.es.js @@ -1,6 +1,6 @@ -export { Level, Level as levels } from 'nightingale-levels'; import { Logger } from 'nightingale-logger'; export { Logger, Logger as default } from 'nightingale-logger'; +export { Level, Level as levels } from 'nightingale-levels'; if (!global.__NIGHTINGALE_CONFIG) { global.__NIGHTINGALE_CONFIG = []; @@ -120,14 +120,18 @@ if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) { */ function listenUnhandledErrors(logger = new Logger('nightingale:listenUnhandledErrors', 'UnhandledErrors')) { - process.on('uncaughtException', error => logger.error('uncaughtException', { - error, - unhandled: true - })); - process.on('unhandledRejection', error => logger.error('unhandledRejection', { - error, - unhandled: true - })); + process.on('uncaughtException', error => { + logger.error('uncaughtException', { + error, + unhandled: true + }); + }); + process.on('unhandledRejection', error => { + logger.error('unhandledRejection', { + error, + unhandled: true + }); + }); } export { addConfig, configure, listenUnhandledErrors }; diff --git a/packages/nightingale/dist/index-browsermodern.es.js.map b/packages/nightingale/dist/index-browsermodern.es.js.map index 78a01856f..4d503b957 100644 --- a/packages/nightingale/dist/index-browsermodern.es.js.map +++ b/packages/nightingale/dist/index-browsermodern.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index-browsermodern.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-browsermodern.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-node12-dev.cjs.js b/packages/nightingale/dist/index-node12-dev.cjs.js index a54f9b0f3..60ea620b8 100644 --- a/packages/nightingale/dist/index-node12-dev.cjs.js +++ b/packages/nightingale/dist/index-node12-dev.cjs.js @@ -2,8 +2,8 @@ Object.defineProperty(exports, '__esModule', { value: true }); -const nightingaleLevels = require('nightingale-levels'); const nightingaleLogger = require('nightingale-logger'); +const nightingaleLevels = require('nightingale-levels'); if (global.__NIGHTINGALE_GLOBAL_HANDLERS) { throw new Error('nightingale: update all to ^5.0.0'); @@ -127,20 +127,24 @@ if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) { */ function listenUnhandledErrors(logger = new nightingaleLogger.Logger('nightingale:listenUnhandledErrors', 'UnhandledErrors')) { - process.on('uncaughtException', error => logger.error('uncaughtException', { - error, - unhandled: true - })); - process.on('unhandledRejection', error => logger.error('unhandledRejection', { - error, - unhandled: true - })); + process.on('uncaughtException', error => { + logger.error('uncaughtException', { + error, + unhandled: true + }); + }); + process.on('unhandledRejection', error => { + logger.error('unhandledRejection', { + error, + unhandled: true + }); + }); } -exports.Level = nightingaleLevels.Level; -exports.levels = nightingaleLevels.Level; exports.Logger = nightingaleLogger.Logger; exports["default"] = nightingaleLogger.Logger; +exports.Level = nightingaleLevels.Level; +exports.levels = nightingaleLevels.Level; exports.addConfig = addConfig; exports.configure = configure; exports.listenUnhandledErrors = listenUnhandledErrors; diff --git a/packages/nightingale/dist/index-node12-dev.cjs.js.map b/packages/nightingale/dist/index-node12-dev.cjs.js.map index 82fc9df62..c7221c2c0 100644 --- a/packages/nightingale/dist/index-node12-dev.cjs.js.map +++ b/packages/nightingale/dist/index-node12-dev.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-node12-dev.mjs b/packages/nightingale/dist/index-node12-dev.mjs index 2bb89f2b3..6356b4c8d 100644 --- a/packages/nightingale/dist/index-node12-dev.mjs +++ b/packages/nightingale/dist/index-node12-dev.mjs @@ -1,6 +1,6 @@ -export { Level, Level as levels } from 'nightingale-levels'; import { Logger } from 'nightingale-logger'; export { Logger, Logger as default } from 'nightingale-logger'; +export { Level, Level as levels } from 'nightingale-levels'; if (global.__NIGHTINGALE_GLOBAL_HANDLERS) { throw new Error('nightingale: update all to ^5.0.0'); @@ -124,14 +124,18 @@ if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) { */ function listenUnhandledErrors(logger = new Logger('nightingale:listenUnhandledErrors', 'UnhandledErrors')) { - process.on('uncaughtException', error => logger.error('uncaughtException', { - error, - unhandled: true - })); - process.on('unhandledRejection', error => logger.error('unhandledRejection', { - error, - unhandled: true - })); + process.on('uncaughtException', error => { + logger.error('uncaughtException', { + error, + unhandled: true + }); + }); + process.on('unhandledRejection', error => { + logger.error('unhandledRejection', { + error, + unhandled: true + }); + }); } export { addConfig, configure, listenUnhandledErrors }; diff --git a/packages/nightingale/dist/index-node12-dev.mjs.map b/packages/nightingale/dist/index-node12-dev.mjs.map index b9bdb2f58..e441a3d58 100644 --- a/packages/nightingale/dist/index-node12-dev.mjs.map +++ b/packages/nightingale/dist/index-node12-dev.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12-dev.mjs","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12-dev.mjs","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-node12.cjs.js b/packages/nightingale/dist/index-node12.cjs.js index 545da278e..5aadae8a7 100644 --- a/packages/nightingale/dist/index-node12.cjs.js +++ b/packages/nightingale/dist/index-node12.cjs.js @@ -2,8 +2,8 @@ Object.defineProperty(exports, '__esModule', { value: true }); -const nightingaleLevels = require('nightingale-levels'); const nightingaleLogger = require('nightingale-logger'); +const nightingaleLevels = require('nightingale-levels'); if (!global.__NIGHTINGALE_CONFIG) { global.__NIGHTINGALE_CONFIG = []; @@ -123,20 +123,24 @@ if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) { */ function listenUnhandledErrors(logger = new nightingaleLogger.Logger('nightingale:listenUnhandledErrors', 'UnhandledErrors')) { - process.on('uncaughtException', error => logger.error('uncaughtException', { - error, - unhandled: true - })); - process.on('unhandledRejection', error => logger.error('unhandledRejection', { - error, - unhandled: true - })); + process.on('uncaughtException', error => { + logger.error('uncaughtException', { + error, + unhandled: true + }); + }); + process.on('unhandledRejection', error => { + logger.error('unhandledRejection', { + error, + unhandled: true + }); + }); } -exports.Level = nightingaleLevels.Level; -exports.levels = nightingaleLevels.Level; exports.Logger = nightingaleLogger.Logger; exports["default"] = nightingaleLogger.Logger; +exports.Level = nightingaleLevels.Level; +exports.levels = nightingaleLevels.Level; exports.addConfig = addConfig; exports.configure = configure; exports.listenUnhandledErrors = listenUnhandledErrors; diff --git a/packages/nightingale/dist/index-node12.cjs.js.map b/packages/nightingale/dist/index-node12.cjs.js.map index de6da780f..5c0e3ee30 100644 --- a/packages/nightingale/dist/index-node12.cjs.js.map +++ b/packages/nightingale/dist/index-node12.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale/dist/index-node12.mjs b/packages/nightingale/dist/index-node12.mjs index c5000fa80..36ac56086 100644 --- a/packages/nightingale/dist/index-node12.mjs +++ b/packages/nightingale/dist/index-node12.mjs @@ -1,6 +1,6 @@ -export { Level, Level as levels } from 'nightingale-levels'; import { Logger } from 'nightingale-logger'; export { Logger, Logger as default } from 'nightingale-logger'; +export { Level, Level as levels } from 'nightingale-levels'; if (!global.__NIGHTINGALE_CONFIG) { global.__NIGHTINGALE_CONFIG = []; @@ -120,14 +120,18 @@ if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) { */ function listenUnhandledErrors(logger = new Logger('nightingale:listenUnhandledErrors', 'UnhandledErrors')) { - process.on('uncaughtException', error => logger.error('uncaughtException', { - error, - unhandled: true - })); - process.on('unhandledRejection', error => logger.error('unhandledRejection', { - error, - unhandled: true - })); + process.on('uncaughtException', error => { + logger.error('uncaughtException', { + error, + unhandled: true + }); + }); + process.on('unhandledRejection', error => { + logger.error('unhandledRejection', { + error, + unhandled: true + }); + }); } export { addConfig, configure, listenUnhandledErrors }; diff --git a/packages/nightingale/dist/index-node12.mjs.map b/packages/nightingale/dist/index-node12.mjs.map index 6171c7a96..39b2bab04 100644 --- a/packages/nightingale/dist/index-node12.mjs.map +++ b/packages/nightingale/dist/index-node12.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index-node12.mjs","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Level } from 'nightingale-levels';\nimport { Logger } from 'nightingale-logger';\n\n/** @deprecated use named export instead */\nexport default Logger;\nexport { configure, addConfig } from './config';\nexport { Logger, Level, Level as levels };\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) =>\n logger.error('uncaughtException', { error, unhandled: true }),\n );\n process.on('unhandledRejection', (error) =>\n logger.error('unhandledRejection', { error, unhandled: true }),\n );\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index-node12.mjs","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"} \ No newline at end of file diff --git a/packages/nightingale/dist/index.d.ts b/packages/nightingale/dist/index.d.ts index 0454c273f..1c54c0da6 100644 --- a/packages/nightingale/dist/index.d.ts +++ b/packages/nightingale/dist/index.d.ts @@ -1,9 +1,9 @@ -import { Level } from 'nightingale-levels'; import { Logger } from 'nightingale-logger'; +export { /** @deprecated use named export instead */ -export default Logger; +Logger as default, Logger, } from 'nightingale-logger'; +export { Level, Level as levels } from 'nightingale-levels'; export { configure, addConfig } from './config'; -export { Logger, Level, Level as levels }; /** * listen to uncaughtException and unhandledRejection * @param {Logger} [logger] diff --git a/packages/nightingale/dist/index.d.ts.map b/packages/nightingale/dist/index.d.ts.map index 2a0599b8b..2898de465 100644 --- a/packages/nightingale/dist/index.d.ts.map +++ b/packages/nightingale/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,2CAA2C;AAC3C,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,MAGP,GACA,IAAI,CAON"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO;AACL,2CAA2C;AAC3C,MAAM,IAAI,OAAO,EACjB,MAAM,GACP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,MAGP,GACA,IAAI,CAON"} \ No newline at end of file