@wireio/shared 1.0.21 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/lib/cjs/errors/NestedError.d.ts +10 -0
  2. package/lib/cjs/errors/NestedError.d.ts.map +1 -0
  3. package/lib/cjs/errors/NestedError.js +24 -0
  4. package/lib/cjs/errors/index.d.ts +2 -0
  5. package/lib/cjs/errors/index.d.ts.map +1 -0
  6. package/lib/cjs/errors/index.js +18 -0
  7. package/lib/cjs/guards/applyTypeGuardExtras.d.ts +1 -1
  8. package/lib/cjs/guards/applyTypeGuardExtras.d.ts.map +1 -1
  9. package/lib/cjs/guards/applyTypeGuardExtras.js +1 -1
  10. package/lib/cjs/guards/class.d.ts +1 -1
  11. package/lib/cjs/guards/class.d.ts.map +1 -1
  12. package/lib/cjs/guards/class.js +1 -1
  13. package/lib/cjs/helpers/Deferred.d.ts +81 -0
  14. package/lib/cjs/helpers/Deferred.d.ts.map +1 -1
  15. package/lib/cjs/helpers/Deferred.js +100 -5
  16. package/lib/cjs/index.d.ts +1 -0
  17. package/lib/cjs/index.d.ts.map +1 -1
  18. package/lib/cjs/index.js +2 -1
  19. package/lib/cjs/logging/Formatter.d.ts +1 -1
  20. package/lib/cjs/logging/Formatter.d.ts.map +1 -1
  21. package/lib/cjs/logging/Formatter.js +1 -1
  22. package/lib/cjs/logging/Level.d.ts.map +1 -1
  23. package/lib/cjs/logging/Level.js +3 -4
  24. package/lib/cjs/logging/Logger.d.ts.map +1 -1
  25. package/lib/cjs/logging/Logger.js +2 -2
  26. package/lib/cjs/logging/appenders/ConsoleAppender.d.ts +4 -4
  27. package/lib/cjs/logging/appenders/ConsoleAppender.d.ts.map +1 -1
  28. package/lib/cjs/logging/appenders/ConsoleAppender.js +1 -1
  29. package/lib/cjs/logging/context/LogContextProvider.d.ts +1 -1
  30. package/lib/cjs/logging/context/LogContextProvider.d.ts.map +1 -1
  31. package/lib/cjs/logging/context/LogContextProvider.js +1 -1
  32. package/lib/cjs/logging/context/providers/node/NodeContextProvider.js +1 -1
  33. package/lib/cjs/logging/examples/example-file-appender.js +2 -2
  34. package/lib/cjs/logging/getLogger.d.ts +1 -1
  35. package/lib/cjs/logging/getLogger.d.ts.map +1 -1
  36. package/lib/cjs/logging/getLogger.js +1 -1
  37. package/lib/cjs/logging/index-node.d.ts +1 -1
  38. package/lib/cjs/logging/index-node.d.ts.map +1 -1
  39. package/lib/cjs/logging/index-node.js +2 -2
  40. package/lib/cjs/node/index.d.ts +3 -0
  41. package/lib/cjs/node/index.d.ts.map +1 -0
  42. package/lib/cjs/node/index.js +19 -0
  43. package/lib/cjs/{logging → node/logging}/appenders/FileAppender.d.ts +2 -2
  44. package/lib/cjs/node/logging/appenders/FileAppender.d.ts.map +1 -0
  45. package/lib/cjs/node/logging/appenders/FileAppender.js +254 -0
  46. package/lib/cjs/node/logging/appenders/index.d.ts +3 -0
  47. package/lib/cjs/node/logging/appenders/index.d.ts.map +1 -0
  48. package/lib/cjs/node/logging/appenders/index.js +19 -0
  49. package/lib/esm/errors/NestedError.d.ts +10 -0
  50. package/lib/esm/errors/NestedError.d.ts.map +1 -0
  51. package/lib/esm/errors/NestedError.js +20 -0
  52. package/lib/esm/errors/index.d.ts +2 -0
  53. package/lib/esm/errors/index.d.ts.map +1 -0
  54. package/lib/esm/errors/index.js +2 -0
  55. package/lib/esm/guards/applyTypeGuardExtras.d.ts +1 -1
  56. package/lib/esm/guards/applyTypeGuardExtras.d.ts.map +1 -1
  57. package/lib/esm/guards/applyTypeGuardExtras.js +1 -1
  58. package/lib/esm/guards/class.d.ts +1 -1
  59. package/lib/esm/guards/class.d.ts.map +1 -1
  60. package/lib/esm/guards/class.js +1 -1
  61. package/lib/esm/helpers/Deferred.d.ts +81 -0
  62. package/lib/esm/helpers/Deferred.d.ts.map +1 -1
  63. package/lib/esm/helpers/Deferred.js +100 -5
  64. package/lib/esm/index.d.ts +1 -0
  65. package/lib/esm/index.d.ts.map +1 -1
  66. package/lib/esm/index.js +2 -1
  67. package/lib/esm/logging/Formatter.d.ts +1 -1
  68. package/lib/esm/logging/Formatter.d.ts.map +1 -1
  69. package/lib/esm/logging/Formatter.js +1 -1
  70. package/lib/esm/logging/Level.d.ts.map +1 -1
  71. package/lib/esm/logging/Level.js +3 -4
  72. package/lib/esm/logging/Logger.d.ts.map +1 -1
  73. package/lib/esm/logging/Logger.js +3 -3
  74. package/lib/esm/logging/appenders/ConsoleAppender.d.ts +4 -4
  75. package/lib/esm/logging/appenders/ConsoleAppender.d.ts.map +1 -1
  76. package/lib/esm/logging/appenders/ConsoleAppender.js +1 -1
  77. package/lib/esm/logging/context/LogContextProvider.d.ts +1 -1
  78. package/lib/esm/logging/context/LogContextProvider.d.ts.map +1 -1
  79. package/lib/esm/logging/context/LogContextProvider.js +1 -1
  80. package/lib/esm/logging/context/providers/node/NodeContextProvider.js +1 -1
  81. package/lib/esm/logging/examples/example-file-appender.js +2 -2
  82. package/lib/esm/logging/getLogger.d.ts +1 -1
  83. package/lib/esm/logging/getLogger.d.ts.map +1 -1
  84. package/lib/esm/logging/getLogger.js +1 -1
  85. package/lib/esm/logging/index-node.d.ts +1 -1
  86. package/lib/esm/logging/index-node.d.ts.map +1 -1
  87. package/lib/esm/logging/index-node.js +2 -2
  88. package/lib/esm/node/index.d.ts +3 -0
  89. package/lib/esm/node/index.d.ts.map +1 -0
  90. package/lib/esm/node/index.js +3 -0
  91. package/lib/esm/{logging → node/logging}/appenders/FileAppender.d.ts +2 -2
  92. package/lib/esm/node/logging/appenders/FileAppender.d.ts.map +1 -0
  93. package/lib/esm/node/logging/appenders/FileAppender.js +214 -0
  94. package/lib/esm/node/logging/appenders/index.d.ts +3 -0
  95. package/lib/esm/node/logging/appenders/index.d.ts.map +1 -0
  96. package/lib/esm/node/logging/appenders/index.js +3 -0
  97. package/lib/tsconfig.cjs.jest.tsbuildinfo +1 -1
  98. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  99. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  100. package/package.json +15 -9
  101. package/lib/cjs/logging/appenders/FileAppender.d.ts.map +0 -1
  102. package/lib/cjs/logging/appenders/FileAppender.js +0 -254
  103. package/lib/esm/logging/appenders/FileAppender.d.ts.map +0 -1
  104. package/lib/esm/logging/appenders/FileAppender.js +0 -214
@@ -26,7 +26,7 @@ function toLogRecord(logger, levelOrRecord, args) {
26
26
  let metadata = {
27
27
  ...globalMetadata
28
28
  };
29
- if ((0, index_js_1.isString)(levelOrRecord) && (0, lodash_1.isObject)(args[0])) {
29
+ if ((0, index_js_1.isString)(levelOrRecord) && (0, index_js_1.isObject)(args[0])) {
30
30
  metadata = { ...metadata, ...args.shift() };
31
31
  }
32
32
  if (globalMetadata?.data)
@@ -187,4 +187,4 @@ class Logger {
187
187
  }
188
188
  }
189
189
  exports.Logger = Logger;
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvZ2dpbmcvTG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWtEQSxrQ0EyREM7QUE3R0QsaURBTzJCO0FBQzNCLGdEQUF3QztBQUN4QyxtQ0FBa0Q7QUFDbEQseUNBQXVEO0FBR3ZELHVDQUEwQztBQWFuQyxNQUFNLDRCQUE0QixHQUF5QixDQUNoRSxRQUFnQixFQUNoQixFQUFFO0lBQ0YsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ3hCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN0RCxDQUFBO0lBQ0QsTUFBTSxLQUFLLEdBQ1QsU0FBUyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNyRSxNQUFNLFFBQVEsR0FBRyxtQkFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNiLG1CQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDMUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FB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QUM7Q0FDRjtBQXRLRCx3QkFzS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhc3NlcnQsXG4gIGdldFZhbHVlLFxuICBpc1N0cmluZyxcbiAgaXNEZWZpbmVkLFxuICBpc0Z1bmN0aW9uLFxuICBpc051bWJlclxufSBmcm9tIFwiLi4vZ3VhcmRzL2luZGV4LmpzXCJcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gXCJAM2Z2L3ByZWx1ZGUtdHNcIlxuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc09iamVjdCwgcGljayB9IGZyb20gXCJsb2Rhc2hcIlxuaW1wb3J0IHsgTGV2ZWxLaW5kLCBMZXZlbFRocmVzaG9sZHMgfSBmcm9tIFwiLi9MZXZlbC5qc1wiXG5pbXBvcnQgdHlwZSB7IExvZ2dpbmdNYW5hZ2VyIH0gZnJvbSBcIi4vTG9nZ2luZ01hbmFnZXIuanNcIlxuaW1wb3J0IHR5cGUgeyBMb2dNZXRhZGF0YSwgTG9nUmVjb3JkIH0gZnJvbSBcIi4vTG9nUmVjb3JkLmpzXCJcbmltcG9ydCB7IGlzTG9nTGV2ZWxLaW5kIH0gZnJvbSBcIi4vdXRpbC5qc1wiXG5pbXBvcnQgdHlwZSB7IEFwcGVuZGVyIH0gZnJvbSBcIi4vQXBwZW5kZXIuanNcIlxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dlck9wdGlvbnMge1xuICBjYXRlZ29yeUludGVycG9sYXRvcjogQ2F0ZWdvcnlJbnRlcnBvbGF0b3JcbiAgb3ZlcnJpZGVBcHBlbmRlcnM6IEFycmF5PEFwcGVuZGVyPExvZ1JlY29yZD4+XG59XG5cbmV4cG9ydCB0eXBlIENhdGVnb3J5SW50ZXJwb2xhdG9yID0gKFxuICBpbkNhdGVnb3J5OiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBMb2dnZXJPcHRpb25zXG4pID0+IHN0cmluZ1xuXG5leHBvcnQgY29uc3QgZmlsZW5hbWVDYXRlZ29yeUludGVycG9sYXRvcjogQ2F0ZWdvcnlJbnRlcnBvbGF0b3IgPSAoXG4gIGZpbGVuYW1lOiBzdHJpbmdcbikgPT4ge1xuICBjb25zdCBhbGxQYXJ0cyA9IGZpbGVuYW1lLnJlcGxhY2VBbGwoXCJcXFxcXCIsIFwiL1wiKS5zcGxpdChcIi9cIilcbiAgY29uc3Qgcm9vdEluZGV4ID0gTWF0aC5tYXgoXG4gICAgLi4uW1wic3JjXCIsIFwibGliXCJdLm1hcChuYW1lID0+IGFsbFBhcnRzLmluZGV4T2YobmFtZSkpXG4gIClcbiAgY29uc3QgcGFydHMgPVxuICAgIHJvb3RJbmRleCA9PT0gLTEgPyBbYWxsUGFydHMucG9wKCldIDogYWxsUGFydHMuc2xpY2Uocm9vdEluZGV4ICsgMSlcbiAgY29uc3QgY2F0ZWdvcnkgPSBPcHRpb24ub2YocGFydHMuam9pbihcIjpcIikpXG4gICAgLmZsYXRNYXAoY2F0ID0+XG4gICAgICBPcHRpb24ub2YoY2F0Lmxhc3RJbmRleE9mKFwiLlwiKSkubWFwKGluZGV4ID0+XG4gICAgICAgIGluZGV4ID09PSAtMSA/IGNhdCA6IGNhdC5zbGljZSgwLCBpbmRleClcbiAgICAgIClcbiAgICApXG4gICAgLmdldE9yRWxzZShcInVua25vd25cIilcbiAgcmV0dXJuIGNhdGVnb3J5XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TG9nZ2VyT3B0aW9uczogTG9nZ2VyT3B0aW9ucyA9IHtcbiAgY2F0ZWdvcnlJbnRlcnBvbGF0b3I6IGZpbGVuYW1lQ2F0ZWdvcnlJbnRlcnBvbGF0b3IsXG4gIG92ZXJyaWRlQXBwZW5kZXJzOiBbXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9Mb2dSZWNvcmQoXG4gIGxvZ2dlcjogTG9nZ2VyLFxuICBsZXZlbE9yUmVjb3JkOiBMZXZlbEtpbmQgfCBMb2dSZWNvcmQsXG4gIGFyZ3M6IGFueVtdXG4pIHtcbiAgY29uc3QgZ2xvYmFsTWV0YWRhdGEgPSBsb2dnZXIubWFuYWdlci5nbG9iYWxNZXRhZGF0YVxuICBsZXQgbWV0YWRhdGE6IExvZ01ldGFkYXRhID0ge1xuICAgIC4uLmdsb2JhbE1ldGFkYXRhXG4gIH1cbiAgaWYgKGlzU3RyaW5nKGxldmVsT3JSZWNvcmQpICYmIGlzT2JqZWN0KGFyZ3NbMF0pKSB7XG4gICAgbWV0YWRhdGEgPSB7IC4uLm1ldGFkYXRhLCAuLi5hcmdzLnNoaWZ0KCkgfVxuICB9XG5cbiAgaWYgKGdsb2JhbE1ldGFkYXRhPy5kYXRhKVxuICAgIG1ldGFkYXRhLmRhdGEgPSB7XG4gICAgICAuLi5nbG9iYWxNZXRhZGF0YS5kYXRhLFxuICAgICAgLi4ubWV0YWRhdGEuZGF0YVxuICAgIH1cblxuICBjb25zdCBlcnJSZWNvcmQgPSBPcHRpb24ub2ZOdWxsYWJsZShcbiAgICBhcmdzLmZpbmQoXG4gICAgICBhcmcgPT4gKGlzU3RyaW5nKGFyZz8ubWVzc2FnZSkgJiYgISFhcmcuc3RhY2spIHx8IGFyZyBpbnN0YW5jZW9mIEVycm9yXG4gICAgKVxuICApLm1hdGNoKHtcbiAgICBTb21lOiBlcnIgPT4gKHtcbiAgICAgIGVycm9yTWVzc2FnZTogZ2V0VmFsdWUoKCkgPT4gZXJyLm1lc3NhZ2UpLFxuICAgICAgZXJyb3JTdGFjazogZ2V0VmFsdWUoKCkgPT4gZXJyLnN0YWNrKVxuICAgIH0pLFxuICAgIE5vbmU6ICgpID0+ICh7fSlcbiAgfSlcblxuICBjb25zdCByZWNvcmRCYXNlID0gaXNTdHJpbmcobGV2ZWxPclJlY29yZClcbiAgICA/ICh7XG4gICAgICAgIC4uLnBpY2sobG9nZ2VyLCBbXCJjYXRlZ29yeVwiXSksXG4gICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgICAgICAgbWVzc2FnZTogYXJnc1swXSxcbiAgICAgICAgbGV2ZWw6IGxldmVsT3JSZWNvcmQsXG4gICAgICAgIGFyZ3M6IGFyZ3Muc2xpY2UoMSlcbiAgICAgIH0gYXMgTG9nUmVjb3JkKVxuICAgIDogbGV2ZWxPclJlY29yZFxuXG4gIGNvbnN0IHJlY29yZCA9IHtcbiAgICAuLi5yZWNvcmRCYXNlLFxuICAgIC4uLmVyclJlY29yZCxcbiAgICAuLi5tZXRhZGF0YSxcbiAgICB0aW1lc3RhbXA6XG4gICAgICBpc051bWJlcihyZWNvcmRCYXNlLnRpbWVzdGFtcCkgJiYgcmVjb3JkQmFzZS50aW1lc3RhbXAgPiAwXG4gICAgICAgID8gcmVjb3JkQmFzZS50aW1lc3RhbXBcbiAgICAgICAgOiBEYXRlLm5vdygpXG4gIH1cblxuICBpZiAobWV0YWRhdGEuZGF0YSkge1xuICAgIHJlY29yZC5kYXRhID0ge1xuICAgICAgLi4ubWV0YWRhdGEuZGF0YSxcbiAgICAgIC4uLihyZWNvcmRCYXNlLmRhdGEgPz8ge30pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlY29yZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dlclN0YXRlIHtcbiAgb3ZlcnJpZGVMZXZlbD86IExldmVsS2luZFxufVxuXG5leHBvcnQgY2xhc3MgTG9nZ2VyIHtcbiAgcmVhZG9ubHkgc3RhdGU6IExvZ2dlclN0YXRlID0ge1xuICAgIG92ZXJyaWRlTGV2ZWw6IG51bGxcbiAgfVxuXG4gIGdldCBvdmVycmlkZUxldmVsKCk6IExldmVsS2luZCB7XG4gICAgcmV0dXJuIE9wdGlvbi5vZk51bGxhYmxlKHRoaXMuc3RhdGUub3ZlcnJpZGVMZXZlbClcbiAgICAgIC5maWx0ZXIoaXNMb2dMZXZlbEtpbmQpIC8vUHJlZGljYXRlLm9mPExldmVsS2luZD4oaXNTdHJpbmcpLmFuZChpc0xvZ0xldmVsS2luZCkpXG4gICAgICAuZ2V0T3JOdWxsKClcbiAgfVxuXG4gIGdldCBvdmVycmlkZVRocmVzaG9sZCgpIHtcbiAgICByZXR1cm4gT3B0aW9uLm9mTnVsbGFibGUodGhpcy5vdmVycmlkZUxldmVsKVxuICAgICAgLm1hcChsZXZlbCA9PiBMZXZlbFRocmVzaG9sZHNbbGV2ZWxdKVxuICAgICAgLmdldE9yTnVsbCgpXG4gIH1cblxuICBzZXRPdmVycmlkZUxldmVsKGluT3ZlcnJpZGVMZXZlbDogTGV2ZWxLaW5kKSB7XG4gICAgY29uc3Qgb3ZlcnJpZGVMZXZlbCA9IChcbiAgICAgICFpbk92ZXJyaWRlTGV2ZWwgPyBudWxsIDogaW5PdmVycmlkZUxldmVsLnRvTG9jYWxlTG93ZXJDYXNlKClcbiAgICApIGFzIExldmVsS2luZFxuXG4gICAgYXNzZXJ0KFxuICAgICAgIWlzRGVmaW5lZChvdmVycmlkZUxldmVsKSB8fCBpc0xvZ0xldmVsS2luZChvdmVycmlkZUxldmVsKSxcbiAgICAgIGBJbnZhbGlkIG92ZXJyaWRlIGxldmVsLCBtdXN0IGJlIGEgbG9nIGxldmVsLCBhbGwgbG93ZXIgY2FzZWBcbiAgICApXG5cbiAgICBPYmplY3QuYXNzaWduKHRoaXMuc3RhdGUsIHtcbiAgICAgIG92ZXJyaWRlTGV2ZWxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBCYXNlIGxvZ2dpbmcgZnVuY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHJlY29yZFxuICAgKi9cbiAgbG9nKHJlY29yZDogTG9nUmVjb3JkKTogdm9pZFxuICBsb2cobGV2ZWw6IExldmVsS2luZCwgbWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWRcbiAgbG9nKFxuICAgIGxldmVsOiBMZXZlbEtpbmQsXG4gICAgbWV0YWRhdGE6IExvZ01ldGFkYXRhLFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiB2b2lkXG4gIGxvZyhsZXZlbE9yUmVjb3JkOiBMZXZlbEtpbmQgfCBMb2dSZWNvcmQsIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgY29uc3QgcmVjb3JkID0gdG9Mb2dSZWNvcmQodGhpcywgbGV2ZWxPclJlY29yZCwgYXJncylcbiAgICBpZiAodGhpcy5vcHRpb25zLm92ZXJyaWRlQXBwZW5kZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5vcHRpb25zLm92ZXJyaWRlQXBwZW5kZXJzLmZvckVhY2goYXBwZW5kZXIgPT5cbiAgICAgICAgYXBwZW5kZXIuYXBwZW5kKHJlY29yZClcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYW5hZ2VyLmZpcmUocmVjb3JkKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGYWN0b3J5IGZvciB0aGUgbG9nXG4gICAqIGxldmVsIGZ1bmN0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0ge0xldmVsS2luZH0gbGV2ZWxcbiAgICogQHJldHVybnMgeyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkfVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVMZXZlbExvZ2dlcihcbiAgICBsZXZlbDogTGV2ZWxLaW5kXG4gICk6IChtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkIHtcbiAgICBjb25zdCBpc0VuYWJsZWQgPSB0aGlzLmNyZWF0ZUxldmVsRW5hYmxlZChsZXZlbClcbiAgICByZXR1cm4gKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGlmIChpc0VuYWJsZWQoKSkge1xuICAgICAgICB0aGlzLmxvZyhsZXZlbCwgbWVzc2FnZSwgLi4uYXJncylcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmFjdG9yeSBmb3IgaXM8TGV2ZWw+RW5hYmxlZFxuICAgKlxuICAgKiBAcGFyYW0ge0xldmVsS2luZH0gbGV2ZWxcbiAgICogQHJldHVybnMgeygpID0+IGJvb2xlYW59XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUxldmVsRW5hYmxlZChsZXZlbDogTGV2ZWxLaW5kKTogKCkgPT4gYm9vbGVhbiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbnN0IHsgcm9vdFRocmVzaG9sZCB9ID0gdGhpcy5tYW5hZ2VyXG5cbiAgICAgIGNvbnN0IGdsb2JhbE92ZXJyaWRlVGhyZXNob2xkID0gdGhpcy5tYW5hZ2VyLmRldGVybWluZVRocmVzaG9sZE92ZXJyaWRlKFxuICAgICAgICB0aGlzLmNhdGVnb3J5XG4gICAgICApXG4gICAgICBjb25zdCBjYXRlZ29yeVRocmVzaG9sZHMgPSBpc051bWJlcih0aGlzLm92ZXJyaWRlVGhyZXNob2xkKVxuICAgICAgICA/IFt0aGlzLm92ZXJyaWRlVGhyZXNob2xkXVxuICAgICAgICA6IFtnbG9iYWxPdmVycmlkZVRocmVzaG9sZCwgcm9vdFRocmVzaG9sZF0uZmlsdGVyKGlzTnVtYmVyKVxuXG4gICAgICBjb25zdCBjYXRlZ29yeVRocmVzaG9sZCA9IE1hdGgubWluKC4uLmNhdGVnb3J5VGhyZXNob2xkcylcblxuICAgICAgY29uc3QgcmVjb3JkVGhyZXNob2xkID0gTGV2ZWxUaHJlc2hvbGRzW2xldmVsXVxuXG4gICAgICByZXR1cm4gcmVjb3JkVGhyZXNob2xkID49IGNhdGVnb3J5VGhyZXNob2xkXG4gICAgfVxuICB9XG5cbiAgcmVhZG9ubHkgdHJhY2UgPSB0aGlzLmNyZWF0ZUxldmVsTG9nZ2VyKFwidHJhY2VcIilcbiAgcmVhZG9ubHkgZGVidWcgPSB0aGlzLmNyZWF0ZUxldmVsTG9nZ2VyKFwiZGVidWdcIilcbiAgcmVhZG9ubHkgaW5mbyA9IHRoaXMuY3JlYXRlTGV2ZWxMb2dnZXIoXCJpbmZvXCIpXG4gIHJlYWRvbmx5IHdhcm4gPSB0aGlzLmNyZWF0ZUxldmVsTG9nZ2VyKFwid2FyblwiKVxuICByZWFkb25seSBlcnJvciA9IHRoaXMuY3JlYXRlTGV2ZWxMb2dnZXIoXCJlcnJvclwiKVxuICByZWFkb25seSBmYXRhbCA9IHRoaXMuY3JlYXRlTGV2ZWxMb2dnZXIoXCJmYXRhbFwiKVxuXG4gIHJlYWRvbmx5IGlzVHJhY2VFbmFibGVkID0gdGhpcy5jcmVhdGVMZXZlbEVuYWJsZWQoXCJ0cmFjZVwiKVxuICByZWFkb25seSBpc0RlYnVnRW5hYmxlZCA9IHRoaXMuY3JlYXRlTGV2ZWxFbmFibGVkKFwiZGVidWdcIilcbiAgcmVhZG9ubHkgaXNJbmZvRW5hYmxlZCA9IHRoaXMuY3JlYXRlTGV2ZWxFbmFibGVkKFwiaW5mb1wiKVxuICByZWFkb25seSBpc1dhcm5FbmFibGVkID0gdGhpcy5jcmVhdGVMZXZlbEVuYWJsZWQoXCJ3YXJuXCIpXG4gIHJlYWRvbmx5IGlzRXJyb3JFbmFibGVkID0gdGhpcy5jcmVhdGVMZXZlbEVuYWJsZWQoXCJlcnJvclwiKVxuICByZWFkb25seSBpc0ZhdGFsRW5hYmxlZCA9IHRoaXMuY3JlYXRlTGV2ZWxFbmFibGVkKFwiZmF0YWxcIilcblxuICBhc3NlcnQodGVzdDogYm9vbGVhbiB8ICgoKSA9PiBib29sZWFuKSwgbWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGNvbnN0IGlzVHJ1dGh5ID0gaXNGdW5jdGlvbih0ZXN0KSA/IHRlc3QoKSA6IHRlc3RcbiAgICBpZiAoaXNUcnV0aHkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuZXJyb3IobWVzc2FnZSwgLi4uYXJncylcbiAgfVxuXG4gIGFzc2VydEZhdGFsKFxuICAgIHRlc3Q6IGJvb2xlYW4gfCAoKCkgPT4gYm9vbGVhbiksXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGV4aXRDb2RlOiBudW1iZXIgPSAxXG4gICkge1xuICAgIGNvbnN0IGlzVHJ1dGh5ID0gaXNGdW5jdGlvbih0ZXN0KSA/IHRlc3QoKSA6IHRlc3RcbiAgICBpZiAoaXNUcnV0aHkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuZmF0YWwoXCJGQVRBTCBBU1NFUlRJT046IFwiLCBtZXNzYWdlKVxuICAgIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgcHJvY2Vzcy5leGl0KGV4aXRDb2RlKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBcIkZBVEFMIEFTU0VSVElPTjogYHByb2Nlc3NgIGlzIG5vdCBkZWZpbmVkLCBwcm9iYWJseSBpbiBhIHdlYiBicm93c2VyXCJcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBtYW5hZ2VyOiBMb2dnaW5nTWFuYWdlcixcbiAgICByZWFkb25seSBjYXRlZ29yeTogc3RyaW5nLFxuICAgIHJlYWRvbmx5IG9wdGlvbnM6IExvZ2dlck9wdGlvbnNcbiAgKSB7fVxuXG4gIHN0YXRpYyBoeWRyYXRlT3B0aW9ucyhvcHRpb25zOiBQYXJ0aWFsPExvZ2dlck9wdGlvbnM+ID0ge30pOiBMb2dnZXJPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZGVmYXVsdExvZ2dlck9wdGlvbnMsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGludGVyb3BsYXRlQ2F0ZWdvcnkoY2F0ZWdvcnk6IHN0cmluZywgb3B0aW9uczogTG9nZ2VyT3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICAuLi5kZWZhdWx0TG9nZ2VyT3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnMuY2F0ZWdvcnlJbnRlcnBvbGF0b3IoY2F0ZWdvcnksIG9wdGlvbnMpXG4gIH1cbn1cbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvZ2dpbmcvTG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1EQSxrQ0EyREM7QUE5R0QsaURBUTJCO0FBQzNCLGdEQUF3QztBQUN4QyxtQ0FBNkI7QUFDN0IseUNBQXVEO0FBR3ZELHVDQUEwQztBQWFuQyxNQUFNLDRCQUE0QixHQUF5QixDQUNoRSxRQUFnQixFQUNoQixFQUFFO0lBQ0YsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ3hCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN0RCxDQUFBO0lBQ0QsTUFBTSxLQUFLLEdBQ1QsU0FBUyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNyRSxNQUFNLFFBQVEsR0FBRyxtQkFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNiLG1CQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDMUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FB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QUM7Q0FDRjtBQXRLRCx3QkFzS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhc3NlcnQsXG4gIGdldFZhbHVlLFxuICBpc09iamVjdCxcbiAgaXNTdHJpbmcsXG4gIGlzRGVmaW5lZCxcbiAgaXNGdW5jdGlvbixcbiAgaXNOdW1iZXJcbn0gZnJvbSBcIi4uL2d1YXJkcy9pbmRleC5qc1wiXG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tIFwiQDNmdi9wcmVsdWRlLXRzXCJcbmltcG9ydCB7IHBpY2sgfSBmcm9tIFwibG9kYXNoXCJcbmltcG9ydCB7IExldmVsS2luZCwgTGV2ZWxUaHJlc2hvbGRzIH0gZnJvbSBcIi4vTGV2ZWwuanNcIlxuaW1wb3J0IHR5cGUgeyBMb2dnaW5nTWFuYWdlciB9IGZyb20gXCIuL0xvZ2dpbmdNYW5hZ2VyLmpzXCJcbmltcG9ydCB0eXBlIHsgTG9nTWV0YWRhdGEsIExvZ1JlY29yZCB9IGZyb20gXCIuL0xvZ1JlY29yZC5qc1wiXG5pbXBvcnQgeyBpc0xvZ0xldmVsS2luZCB9IGZyb20gXCIuL3V0aWwuanNcIlxuaW1wb3J0IHR5cGUgeyBBcHBlbmRlciB9IGZyb20gXCIuL0FwcGVuZGVyLmpzXCJcblxuZXhwb3J0IGludGVyZmFjZSBMb2dnZXJPcHRpb25zIHtcbiAgY2F0ZWdvcnlJbnRlcnBvbGF0b3I6IENhdGVnb3J5SW50ZXJwb2xhdG9yXG4gIG92ZXJyaWRlQXBwZW5kZXJzOiBBcnJheTxBcHBlbmRlcjxMb2dSZWNvcmQ+PlxufVxuXG5leHBvcnQgdHlwZSBDYXRlZ29yeUludGVycG9sYXRvciA9IChcbiAgaW5DYXRlZ29yeTogc3RyaW5nLFxuICBvcHRpb25zPzogTG9nZ2VyT3B0aW9uc1xuKSA9PiBzdHJpbmdcblxuZXhwb3J0IGNvbnN0IGZpbGVuYW1lQ2F0ZWdvcnlJbnRlcnBvbGF0b3I6IENhdGVnb3J5SW50ZXJwb2xhdG9yID0gKFxuICBmaWxlbmFtZTogc3RyaW5nXG4pID0+IHtcbiAgY29uc3QgYWxsUGFydHMgPSBmaWxlbmFtZS5yZXBsYWNlQWxsKFwiXFxcXFwiLCBcIi9cIikuc3BsaXQoXCIvXCIpXG4gIGNvbnN0IHJvb3RJbmRleCA9IE1hdGgubWF4KFxuICAgIC4uLltcInNyY1wiLCBcImxpYlwiXS5tYXAobmFtZSA9PiBhbGxQYXJ0cy5pbmRleE9mKG5hbWUpKVxuICApXG4gIGNvbnN0IHBhcnRzID1cbiAgICByb290SW5kZXggPT09IC0xID8gW2FsbFBhcnRzLnBvcCgpXSA6IGFsbFBhcnRzLnNsaWNlKHJvb3RJbmRleCArIDEpXG4gIGNvbnN0IGNhdGVnb3J5ID0gT3B0aW9uLm9mKHBhcnRzLmpvaW4oXCI6XCIpKVxuICAgIC5mbGF0TWFwKGNhdCA9PlxuICAgICAgT3B0aW9uLm9mKGNhdC5sYXN0SW5kZXhPZihcIi5cIikpLm1hcChpbmRleCA9PlxuICAgICAgICBpbmRleCA9PT0gLTEgPyBjYXQgOiBjYXQuc2xpY2UoMCwgaW5kZXgpXG4gICAgICApXG4gICAgKVxuICAgIC5nZXRPckVsc2UoXCJ1bmtub3duXCIpXG4gIHJldHVybiBjYXRlZ29yeVxufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdExvZ2dlck9wdGlvbnM6IExvZ2dlck9wdGlvbnMgPSB7XG4gIGNhdGVnb3J5SW50ZXJwb2xhdG9yOiBmaWxlbmFtZUNhdGVnb3J5SW50ZXJwb2xhdG9yLFxuICBvdmVycmlkZUFwcGVuZGVyczogW11cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvTG9nUmVjb3JkKFxuICBsb2dnZXI6IExvZ2dlcixcbiAgbGV2ZWxPclJlY29yZDogTGV2ZWxLaW5kIHwgTG9nUmVjb3JkLFxuICBhcmdzOiBhbnlbXVxuKSB7XG4gIGNvbnN0IGdsb2JhbE1ldGFkYXRhID0gbG9nZ2VyLm1hbmFnZXIuZ2xvYmFsTWV0YWRhdGFcbiAgbGV0IG1ldGFkYXRhOiBMb2dNZXRhZGF0YSA9IHtcbiAgICAuLi5nbG9iYWxNZXRhZGF0YVxuICB9XG4gIGlmIChpc1N0cmluZyhsZXZlbE9yUmVjb3JkKSAmJiBpc09iamVjdChhcmdzWzBdKSkge1xuICAgIG1ldGFkYXRhID0geyAuLi5tZXRhZGF0YSwgLi4uYXJncy5zaGlmdCgpIH1cbiAgfVxuXG4gIGlmIChnbG9iYWxNZXRhZGF0YT8uZGF0YSlcbiAgICBtZXRhZGF0YS5kYXRhID0ge1xuICAgICAgLi4uZ2xvYmFsTWV0YWRhdGEuZGF0YSxcbiAgICAgIC4uLm1ldGFkYXRhLmRhdGFcbiAgICB9XG5cbiAgY29uc3QgZXJyUmVjb3JkID0gT3B0aW9uLm9mTnVsbGFibGUoXG4gICAgYXJncy5maW5kKFxuICAgICAgYXJnID0+IChpc1N0cmluZyhhcmc/Lm1lc3NhZ2UpICYmICEhYXJnLnN0YWNrKSB8fCBhcmcgaW5zdGFuY2VvZiBFcnJvclxuICAgIClcbiAgKS5tYXRjaCh7XG4gICAgU29tZTogZXJyID0+ICh7XG4gICAgICBlcnJvck1lc3NhZ2U6IGdldFZhbHVlKCgpID0+IGVyci5tZXNzYWdlKSxcbiAgICAgIGVycm9yU3RhY2s6IGdldFZhbHVlKCgpID0+IGVyci5zdGFjaylcbiAgICB9KSxcbiAgICBOb25lOiAoKSA9PiAoe30pXG4gIH0pXG5cbiAgY29uc3QgcmVjb3JkQmFzZSA9IGlzU3RyaW5nKGxldmVsT3JSZWNvcmQpXG4gICAgPyAoe1xuICAgICAgICAuLi5waWNrKGxvZ2dlciwgW1wiY2F0ZWdvcnlcIl0pLFxuICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgIG1lc3NhZ2U6IGFyZ3NbMF0sXG4gICAgICAgIGxldmVsOiBsZXZlbE9yUmVjb3JkLFxuICAgICAgICBhcmdzOiBhcmdzLnNsaWNlKDEpXG4gICAgICB9IGFzIExvZ1JlY29yZClcbiAgICA6IGxldmVsT3JSZWNvcmRcblxuICBjb25zdCByZWNvcmQgPSB7XG4gICAgLi4ucmVjb3JkQmFzZSxcbiAgICAuLi5lcnJSZWNvcmQsXG4gICAgLi4ubWV0YWRhdGEsXG4gICAgdGltZXN0YW1wOlxuICAgICAgaXNOdW1iZXIocmVjb3JkQmFzZS50aW1lc3RhbXApICYmIHJlY29yZEJhc2UudGltZXN0YW1wID4gMFxuICAgICAgICA/IHJlY29yZEJhc2UudGltZXN0YW1wXG4gICAgICAgIDogRGF0ZS5ub3coKVxuICB9XG5cbiAgaWYgKG1ldGFkYXRhLmRhdGEpIHtcbiAgICByZWNvcmQuZGF0YSA9IHtcbiAgICAgIC4uLm1ldGFkYXRhLmRhdGEsXG4gICAgICAuLi4ocmVjb3JkQmFzZS5kYXRhID8/IHt9KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWNvcmRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dnZXJTdGF0ZSB7XG4gIG92ZXJyaWRlTGV2ZWw/OiBMZXZlbEtpbmRcbn1cblxuZXhwb3J0IGNsYXNzIExvZ2dlciB7XG4gIHJlYWRvbmx5IHN0YXRlOiBMb2dnZXJTdGF0ZSA9IHtcbiAgICBvdmVycmlkZUxldmVsOiBudWxsXG4gIH1cblxuICBnZXQgb3ZlcnJpZGVMZXZlbCgpOiBMZXZlbEtpbmQge1xuICAgIHJldHVybiBPcHRpb24ub2ZOdWxsYWJsZSh0aGlzLnN0YXRlLm92ZXJyaWRlTGV2ZWwpXG4gICAgICAuZmlsdGVyKGlzTG9nTGV2ZWxLaW5kKSAvL1ByZWRpY2F0ZS5vZjxMZXZlbEtpbmQ+KGlzU3RyaW5nKS5hbmQoaXNMb2dMZXZlbEtpbmQpKVxuICAgICAgLmdldE9yTnVsbCgpXG4gIH1cblxuICBnZXQgb3ZlcnJpZGVUaHJlc2hvbGQoKSB7XG4gICAgcmV0dXJuIE9wdGlvbi5vZk51bGxhYmxlKHRoaXMub3ZlcnJpZGVMZXZlbClcbiAgICAgIC5tYXAobGV2ZWwgPT4gTGV2ZWxUaHJlc2hvbGRzW2xldmVsXSlcbiAgICAgIC5nZXRPck51bGwoKVxuICB9XG5cbiAgc2V0T3ZlcnJpZGVMZXZlbChpbk92ZXJyaWRlTGV2ZWw6IExldmVsS2luZCkge1xuICAgIGNvbnN0IG92ZXJyaWRlTGV2ZWwgPSAoXG4gICAgICAhaW5PdmVycmlkZUxldmVsID8gbnVsbCA6IGluT3ZlcnJpZGVMZXZlbC50b0xvY2FsZUxvd2VyQ2FzZSgpXG4gICAgKSBhcyBMZXZlbEtpbmRcblxuICAgIGFzc2VydChcbiAgICAgICFpc0RlZmluZWQob3ZlcnJpZGVMZXZlbCkgfHwgaXNMb2dMZXZlbEtpbmQob3ZlcnJpZGVMZXZlbCksXG4gICAgICBgSW52YWxpZCBvdmVycmlkZSBsZXZlbCwgbXVzdCBiZSBhIGxvZyBsZXZlbCwgYWxsIGxvd2VyIGNhc2VgXG4gICAgKVxuXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnN0YXRlLCB7XG4gICAgICBvdmVycmlkZUxldmVsXG4gICAgfSlcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQmFzZSBsb2dnaW5nIGZ1bmN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSByZWNvcmRcbiAgICovXG4gIGxvZyhyZWNvcmQ6IExvZ1JlY29yZCk6IHZvaWRcbiAgbG9nKGxldmVsOiBMZXZlbEtpbmQsIG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkXG4gIGxvZyhcbiAgICBsZXZlbDogTGV2ZWxLaW5kLFxuICAgIG1ldGFkYXRhOiBMb2dNZXRhZGF0YSxcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogdm9pZFxuICBsb2cobGV2ZWxPclJlY29yZDogTGV2ZWxLaW5kIHwgTG9nUmVjb3JkLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGNvbnN0IHJlY29yZCA9IHRvTG9nUmVjb3JkKHRoaXMsIGxldmVsT3JSZWNvcmQsIGFyZ3MpXG4gICAgaWYgKHRoaXMub3B0aW9ucy5vdmVycmlkZUFwcGVuZGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5vdmVycmlkZUFwcGVuZGVycy5mb3JFYWNoKGFwcGVuZGVyID0+XG4gICAgICAgIGFwcGVuZGVyLmFwcGVuZChyZWNvcmQpXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWFuYWdlci5maXJlKHJlY29yZClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmFjdG9yeSBmb3IgdGhlIGxvZ1xuICAgKiBsZXZlbCBmdW5jdGlvbnNcbiAgICpcbiAgICogQHBhcmFtIHtMZXZlbEtpbmR9IGxldmVsXG4gICAqIEByZXR1cm5zIHsobWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkgPT4gdm9pZH1cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlTGV2ZWxMb2dnZXIoXG4gICAgbGV2ZWw6IExldmVsS2luZFxuICApOiAobWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCB7XG4gICAgY29uc3QgaXNFbmFibGVkID0gdGhpcy5jcmVhdGVMZXZlbEVuYWJsZWQobGV2ZWwpXG4gICAgcmV0dXJuIChtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICBpZiAoaXNFbmFibGVkKCkpIHtcbiAgICAgICAgdGhpcy5sb2cobGV2ZWwsIG1lc3NhZ2UsIC4uLmFyZ3MpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZhY3RvcnkgZm9yIGlzPExldmVsPkVuYWJsZWRcbiAgICpcbiAgICogQHBhcmFtIHtMZXZlbEtpbmR9IGxldmVsXG4gICAqIEByZXR1cm5zIHsoKSA9PiBib29sZWFufVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVMZXZlbEVuYWJsZWQobGV2ZWw6IExldmVsS2luZCk6ICgpID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25zdCB7IHJvb3RUaHJlc2hvbGQgfSA9IHRoaXMubWFuYWdlclxuXG4gICAgICBjb25zdCBnbG9iYWxPdmVycmlkZVRocmVzaG9sZCA9IHRoaXMubWFuYWdlci5kZXRlcm1pbmVUaHJlc2hvbGRPdmVycmlkZShcbiAgICAgICAgdGhpcy5jYXRlZ29yeVxuICAgICAgKVxuICAgICAgY29uc3QgY2F0ZWdvcnlUaHJlc2hvbGRzID0gaXNOdW1iZXIodGhpcy5vdmVycmlkZVRocmVzaG9sZClcbiAgICAgICAgPyBbdGhpcy5vdmVycmlkZVRocmVzaG9sZF1cbiAgICAgICAgOiBbZ2xvYmFsT3ZlcnJpZGVUaHJlc2hvbGQsIHJvb3RUaHJlc2hvbGRdLmZpbHRlcihpc051bWJlcilcblxuICAgICAgY29uc3QgY2F0ZWdvcnlUaHJlc2hvbGQgPSBNYXRoLm1pbiguLi5jYXRlZ29yeVRocmVzaG9sZHMpXG5cbiAgICAgIGNvbnN0IHJlY29yZFRocmVzaG9sZCA9IExldmVsVGhyZXNob2xkc1tsZXZlbF1cblxuICAgICAgcmV0dXJuIHJlY29yZFRocmVzaG9sZCA+PSBjYXRlZ29yeVRocmVzaG9sZFxuICAgIH1cbiAgfVxuXG4gIHJlYWRvbmx5IHRyYWNlID0gdGhpcy5jcmVhdGVMZXZlbExvZ2dlcihcInRyYWNlXCIpXG4gIHJlYWRvbmx5IGRlYnVnID0gdGhpcy5jcmVhdGVMZXZlbExvZ2dlcihcImRlYnVnXCIpXG4gIHJlYWRvbmx5IGluZm8gPSB0aGlzLmNyZWF0ZUxldmVsTG9nZ2VyKFwiaW5mb1wiKVxuICByZWFkb25seSB3YXJuID0gdGhpcy5jcmVhdGVMZXZlbExvZ2dlcihcIndhcm5cIilcbiAgcmVhZG9ubHkgZXJyb3IgPSB0aGlzLmNyZWF0ZUxldmVsTG9nZ2VyKFwiZXJyb3JcIilcbiAgcmVhZG9ubHkgZmF0YWwgPSB0aGlzLmNyZWF0ZUxldmVsTG9nZ2VyKFwiZmF0YWxcIilcblxuICByZWFkb25seSBpc1RyYWNlRW5hYmxlZCA9IHRoaXMuY3JlYXRlTGV2ZWxFbmFibGVkKFwidHJhY2VcIilcbiAgcmVhZG9ubHkgaXNEZWJ1Z0VuYWJsZWQgPSB0aGlzLmNyZWF0ZUxldmVsRW5hYmxlZChcImRlYnVnXCIpXG4gIHJlYWRvbmx5IGlzSW5mb0VuYWJsZWQgPSB0aGlzLmNyZWF0ZUxldmVsRW5hYmxlZChcImluZm9cIilcbiAgcmVhZG9ubHkgaXNXYXJuRW5hYmxlZCA9IHRoaXMuY3JlYXRlTGV2ZWxFbmFibGVkKFwid2FyblwiKVxuICByZWFkb25seSBpc0Vycm9yRW5hYmxlZCA9IHRoaXMuY3JlYXRlTGV2ZWxFbmFibGVkKFwiZXJyb3JcIilcbiAgcmVhZG9ubHkgaXNGYXRhbEVuYWJsZWQgPSB0aGlzLmNyZWF0ZUxldmVsRW5hYmxlZChcImZhdGFsXCIpXG5cbiAgYXNzZXJ0KHRlc3Q6IGJvb2xlYW4gfCAoKCkgPT4gYm9vbGVhbiksIG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICBjb25zdCBpc1RydXRoeSA9IGlzRnVuY3Rpb24odGVzdCkgPyB0ZXN0KCkgOiB0ZXN0XG4gICAgaWYgKGlzVHJ1dGh5KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmVycm9yKG1lc3NhZ2UsIC4uLmFyZ3MpXG4gIH1cblxuICBhc3NlcnRGYXRhbChcbiAgICB0ZXN0OiBib29sZWFuIHwgKCgpID0+IGJvb2xlYW4pLFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBleGl0Q29kZTogbnVtYmVyID0gMVxuICApIHtcbiAgICBjb25zdCBpc1RydXRoeSA9IGlzRnVuY3Rpb24odGVzdCkgPyB0ZXN0KCkgOiB0ZXN0XG4gICAgaWYgKGlzVHJ1dGh5KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmZhdGFsKFwiRkFUQUwgQVNTRVJUSU9OOiBcIiwgbWVzc2FnZSlcbiAgICBpZiAodHlwZW9mIHByb2Nlc3MgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHByb2Nlc3MuZXhpdChleGl0Q29kZSlcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgXCJGQVRBTCBBU1NFUlRJT046IGBwcm9jZXNzYCBpcyBub3QgZGVmaW5lZCwgcHJvYmFibHkgaW4gYSB3ZWIgYnJvd3NlclwiXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgbWFuYWdlcjogTG9nZ2luZ01hbmFnZXIsXG4gICAgcmVhZG9ubHkgY2F0ZWdvcnk6IHN0cmluZyxcbiAgICByZWFkb25seSBvcHRpb25zOiBMb2dnZXJPcHRpb25zXG4gICkge31cblxuICBzdGF0aWMgaHlkcmF0ZU9wdGlvbnMob3B0aW9uczogUGFydGlhbDxMb2dnZXJPcHRpb25zPiA9IHt9KTogTG9nZ2VyT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRlZmF1bHRMb2dnZXJPcHRpb25zLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBpbnRlcm9wbGF0ZUNhdGVnb3J5KGNhdGVnb3J5OiBzdHJpbmcsIG9wdGlvbnM6IExvZ2dlck9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0ge1xuICAgICAgLi4uZGVmYXVsdExvZ2dlck9wdGlvbnMsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmNhdGVnb3J5SW50ZXJwb2xhdG9yKGNhdGVnb3J5LCBvcHRpb25zKVxuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
- import type { LogRecord } from "../LogRecord";
2
- import type { Appender } from "../Appender";
3
- import type { LevelKind } from "../Level";
4
- import type { Formatter } from "../Formatter";
1
+ import type { LogRecord } from "../LogRecord.js";
2
+ import type { Appender } from "../Appender.js";
3
+ import type { LevelKind } from "../Level.js";
4
+ import type { Formatter } from "../Formatter.js";
5
5
  /**
6
6
  * Get a cached console bound log function
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleAppender.d.ts","sourceRoot":"","sources":["../../../../src/logging/appenders/ConsoleAppender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAQ7C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,aAZG,GAAG,EAAE,KAAK,GAAG,CAkBpE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,MAAM,SAAS,SAAS,GAAG,GAAG;IACnE,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;CAC3C;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,SAAS,IAAI,OAAO,CACpE,qBAAqB,CAAC,MAAM,CAAC,CAC9B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAUlD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,qBAI3C,CAAA;AAED;;;GAGG;AACH,qBAAa,eAAe,CAC1B,MAAM,SAAS,SAAS,CACxB,YAAW,QAAQ,CAAC,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IAEtC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5B;;;;;OAKG;IACH,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAMhD;;;OAGG;gBACS,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAM;CAMlE"}
1
+ {"version":3,"file":"ConsoleAppender.d.ts","sourceRoot":"","sources":["../../../../src/logging/appenders/ConsoleAppender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQhD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,aAZG,GAAG,EAAE,KAAK,GAAG,CAkBpE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,MAAM,SAAS,SAAS,GAAG,GAAG;IACnE,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;CAC3C;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,SAAS,IAAI,OAAO,CACpE,qBAAqB,CAAC,MAAM,CAAC,CAC9B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAUlD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,qBAI3C,CAAA;AAED;;;GAGG;AACH,qBAAa,eAAe,CAC1B,MAAM,SAAS,SAAS,CACxB,YAAW,QAAQ,CAAC,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IAEtC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5B;;;;;OAKG;IACH,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAMhD;;;OAGG;gBACS,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAM;CAMlE"}
@@ -75,4 +75,4 @@ class ConsoleAppender {
75
75
  }
76
76
  }
77
77
  exports.ConsoleAppender = ConsoleAppender;
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc29sZUFwcGVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xvZ2dpbmcvYXBwZW5kZXJzL0NvbnNvbGVBcHBlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkEsb0RBTUM7QUF0QkQsZ0RBQXdDO0FBSXhDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUE7QUFFeEUsU0FBUyxpQkFBaUIsQ0FBQyxLQUFnQjtJQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdEQsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsS0FBZ0I7SUFDbkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25DLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRUQsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDdEMsQ0FBQztBQWtCTSxNQUFNLGdCQUFnQixHQUEwQixDQUFDLEVBQ3RELEtBQUssRUFDTCxPQUFPLEVBQ1AsSUFBSSxFQUNKLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxFQUNWLEVBQUUsRUFBRSxDQUFDO0lBQ0osSUFBSSxRQUFRLE9BQU8sS0FBSyxNQUFNLE9BQU8sRUFBRTtJQUN2QyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQ3pDLENBQUE7QUFWWSxRQUFBLGdCQUFnQixvQkFVNUI7QUFFRDs7O0dBR0c7QUFDVSxRQUFBLDZCQUE2QixHQUEwQjtJQUNsRSxZQUFZLEVBQUUsSUFBSTtJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixTQUFTLEVBQUUsd0JBQWdCO0NBQzVCLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLGVBQWU7SUFHakIsTUFBTSxDQUF1QjtJQUV0Qzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQ2xFLE1BQU0sRUFBRSxTQUFTLEdBQUcsd0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQ3BELG1CQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLEtBQUssQ0FBQyxLQUFnQixFQUFFLEdBQUcsSUFBVztRQUM5QyxtQkFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDOUIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QyxHQUFHLENBQUMsQ0FBQyxFQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksVUFBbUQsRUFBRTtRQUMvRCxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxxQ0FBNkI7WUFDaEMsR0FBRyxPQUFPO1NBQ1gsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQXpDRCwwQ0F5Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExvZ1JlY29yZCB9IGZyb20gXCIuLi9Mb2dSZWNvcmRcIlxuaW1wb3J0IHR5cGUgeyBBcHBlbmRlciB9IGZyb20gXCIuLi9BcHBlbmRlclwiXG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tIFwiQDNmdi9wcmVsdWRlLXRzXCJcbmltcG9ydCB0eXBlIHsgTGV2ZWxLaW5kIH0gZnJvbSBcIi4uL0xldmVsXCJcbmltcG9ydCB0eXBlIHsgRm9ybWF0dGVyIH0gZnJvbSBcIi4uL0Zvcm1hdHRlclwiXG5cbmNvbnN0IGNvbnNvbGVMb2dCaW5kaW5ncyA9IG5ldyBNYXA8TGV2ZWxLaW5kLCAoLi4uYXJnczogYW55W10pID0+IGFueT4oKVxuXG5mdW5jdGlvbiBnZXRCb3VuZENvbnNvbGVGbihsZXZlbDogTGV2ZWxLaW5kKSB7XG4gIHJldHVybiAoY29uc29sZVtsZXZlbF0gPz8gY29uc29sZS5sb2cpLmJpbmQoY29uc29sZSlcbn1cblxuLyoqXG4gKiBHZXQgYSBjYWNoZWQgY29uc29sZSBib3VuZCBsb2cgZnVuY3Rpb25cbiAqXG4gKiBAcGFyYW0ge0xldmVsS2luZH0gbGV2ZWxcbiAqIEByZXR1cm5zIHsoLi4uYXJnczogYW55W10pID0+IGFueX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbnNvbGVMb2dCaW5kaW5nKGxldmVsOiBMZXZlbEtpbmQpIHtcbiAgaWYgKCFjb25zb2xlTG9nQmluZGluZ3MuaGFzKGxldmVsKSkge1xuICAgIGNvbnNvbGVMb2dCaW5kaW5ncy5zZXQobGV2ZWwsIGdldEJvdW5kQ29uc29sZUZuKGxldmVsKSlcbiAgfVxuXG4gIHJldHVybiBjb25zb2xlTG9nQmluZGluZ3MuZ2V0KGxldmVsKVxufVxuXG4vKipcbiAqIENvbnNvbGVBcHBlbmRlciBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc29sZUFwcGVuZGVyQ29uZmlnPFJlY29yZCBleHRlbmRzIExvZ1JlY29yZCA9IGFueT4ge1xuICBjYWNoZUVuYWJsZWQ6IGJvb2xlYW5cbiAgcHJldHR5UHJpbnQ6IGJvb2xlYW5cbiAgZm9ybWF0dGVyPzogRm9ybWF0dGVyPHN0cmluZyB8IEFycmF5PGFueT4+XG59XG5cbi8qKlxuICogUGFydGlhbCBvZiBjb25maWcsIHVzZWQgZm9yIHNob3J0ZW5pbmcgaW5zdGVhZCBvZiBQYXJ0aWFsPC4uLj5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uc29sZUFwcGVuZGVyT3B0aW9uczxSZWNvcmQgZXh0ZW5kcyBMb2dSZWNvcmQ+ID0gUGFydGlhbDxcbiAgQ29uc29sZUFwcGVuZGVyQ29uZmlnPFJlY29yZD5cbj5cblxuZXhwb3J0IGNvbnN0IGNvbnNvbGVGb3JtYXR0ZXI6IEZvcm1hdHRlcjxBcnJheTxhbnk+PiA9ICh7XG4gIGxldmVsLFxuICBtZXNzYWdlLFxuICBkYXRhLFxuICBhcmdzLFxuICBjYXRlZ29yeSxcbiAgdGltZXN0YW1wXG59KSA9PiBbXG4gIGBbJHtjYXRlZ29yeX1dICAoJHtsZXZlbH0pICAke21lc3NhZ2V9YCxcbiAgLi4uKEFycmF5LmlzQXJyYXkoYXJncykgPyBhcmdzIDogW2FyZ3NdKVxuXVxuXG4vKipcbiAqIERlZmF1bHQgY29uc29sZSBjb25maWdcbiAqIEB0eXBlIHtDb25zb2xlQXBwZW5kZXJDb25maWd9XG4gKi9cbmV4cG9ydCBjb25zdCBrRGVmYXVsdENvbnNvbGVBcHBlbmRlckNvbmZpZzogQ29uc29sZUFwcGVuZGVyQ29uZmlnID0ge1xuICBjYWNoZUVuYWJsZWQ6IHRydWUsXG4gIHByZXR0eVByaW50OiB0cnVlLFxuICBmb3JtYXR0ZXI6IGNvbnNvbGVGb3JtYXR0ZXJcbn1cblxuLyoqXG4gKiBDb25zb2xlIGFwcGVuZGVyLCB0aGUgc2ltcGxlIGRlZmF1bHQgYXBwZW5kZXIgdXNlZFxuICogZXZlcnl3aGVyZSBPT0JcbiAqL1xuZXhwb3J0IGNsYXNzIENvbnNvbGVBcHBlbmRlcjxcbiAgUmVjb3JkIGV4dGVuZHMgTG9nUmVjb3JkXG4+IGltcGxlbWVudHMgQXBwZW5kZXI8UmVjb3JkPiB7XG4gIHJlYWRvbmx5IGNvbmZpZzogQ29uc29sZUFwcGVuZGVyQ29uZmlnXG5cbiAgLyoqXG4gICAqIEhhbmRsZSBsb2cgcmVjb3JkcywgdHJhbnNmb3JtLCBwdXNoIHRvIEVTXG4gICAqXG4gICAqIEBwYXJhbSByZWNvcmRcbiAgICovXG4gIGFwcGVuZChyZWNvcmQ6IFJlY29yZCk6IHZvaWQge1xuICAgIGNvbnN0IHsgbGV2ZWwsIG1lc3NhZ2UsIGRhdGEsIGFyZ3MsIGNhdGVnb3J5LCB0aW1lc3RhbXAgfSA9IHJlY29yZFxuICAgIGNvbnN0IHsgZm9ybWF0dGVyID0gY29uc29sZUZvcm1hdHRlciB9ID0gdGhpcy5jb25maWdcbiAgICBPcHRpb24ub2ZOdWxsYWJsZShmb3JtYXR0ZXIocmVjb3JkKSkubWFwKHJlc3VsdCA9PiB7XG4gICAgICBjb25zdCBhcmdzID0gQXJyYXkuaXNBcnJheShyZXN1bHQpID8gcmVzdWx0IDogW3Jlc3VsdF1cbiAgICAgIHRoaXMud3JpdGUobGV2ZWwsIC4uLmFyZ3MpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZSBhcmdzIHRvIGNvbnNvbGVcbiAgICpcbiAgICogQHBhcmFtIGxldmVsXG4gICAqIEBwYXJhbSBhcmdzXG4gICAqL1xuICBwcm90ZWN0ZWQgd3JpdGUobGV2ZWw6IExldmVsS2luZCwgLi4uYXJnczogYW55W10pIHtcbiAgICBPcHRpb24ub2ZOdWxsYWJsZShjb25zb2xlW2xldmVsXSlcbiAgICAgIC5vckNhbGwoKCkgPT4gT3B0aW9uLm9mTnVsbGFibGUoY29uc29sZS5sb2cpKVxuICAgICAgLm1hcCgoZm46IEZ1bmN0aW9uKSA9PiBmbi5hcHBseShjb25zb2xlLCBhcmdzKSlcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge1BhcnRpYWw8Q29uc29sZUFwcGVuZGVyT3B0aW9uczxSZWNvcmQ+Pn0gb3B0aW9uc1xuICAgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUGFydGlhbDxDb25zb2xlQXBwZW5kZXJPcHRpb25zPFJlY29yZD4+ID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmtEZWZhdWx0Q29uc29sZUFwcGVuZGVyQ29uZmlnLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH1cbiAgfVxufVxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc29sZUFwcGVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xvZ2dpbmcvYXBwZW5kZXJzL0NvbnNvbGVBcHBlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkEsb0RBTUM7QUF0QkQsZ0RBQXdDO0FBSXhDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUE7QUFFeEUsU0FBUyxpQkFBaUIsQ0FBQyxLQUFnQjtJQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdEQsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsS0FBZ0I7SUFDbkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25DLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRUQsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDdEMsQ0FBQztBQWtCTSxNQUFNLGdCQUFnQixHQUEwQixDQUFDLEVBQ3RELEtBQUssRUFDTCxPQUFPLEVBQ1AsSUFBSSxFQUNKLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxFQUNWLEVBQUUsRUFBRSxDQUFDO0lBQ0osSUFBSSxRQUFRLE9BQU8sS0FBSyxNQUFNLE9BQU8sRUFBRTtJQUN2QyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQ3pDLENBQUE7QUFWWSxRQUFBLGdCQUFnQixvQkFVNUI7QUFFRDs7O0dBR0c7QUFDVSxRQUFBLDZCQUE2QixHQUEwQjtJQUNsRSxZQUFZLEVBQUUsSUFBSTtJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixTQUFTLEVBQUUsd0JBQWdCO0NBQzVCLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLGVBQWU7SUFHakIsTUFBTSxDQUF1QjtJQUV0Qzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQ2xFLE1BQU0sRUFBRSxTQUFTLEdBQUcsd0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQ3BELG1CQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLEtBQUssQ0FBQyxLQUFnQixFQUFFLEdBQUcsSUFBVztRQUM5QyxtQkFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDOUIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QyxHQUFHLENBQUMsQ0FBQyxFQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksVUFBbUQsRUFBRTtRQUMvRCxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxxQ0FBNkI7WUFDaEMsR0FBRyxPQUFPO1NBQ1gsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQXpDRCwwQ0F5Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExvZ1JlY29yZCB9IGZyb20gXCIuLi9Mb2dSZWNvcmQuanNcIlxuaW1wb3J0IHR5cGUgeyBBcHBlbmRlciB9IGZyb20gXCIuLi9BcHBlbmRlci5qc1wiXG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tIFwiQDNmdi9wcmVsdWRlLXRzXCJcbmltcG9ydCB0eXBlIHsgTGV2ZWxLaW5kIH0gZnJvbSBcIi4uL0xldmVsLmpzXCJcbmltcG9ydCB0eXBlIHsgRm9ybWF0dGVyIH0gZnJvbSBcIi4uL0Zvcm1hdHRlci5qc1wiXG5cbmNvbnN0IGNvbnNvbGVMb2dCaW5kaW5ncyA9IG5ldyBNYXA8TGV2ZWxLaW5kLCAoLi4uYXJnczogYW55W10pID0+IGFueT4oKVxuXG5mdW5jdGlvbiBnZXRCb3VuZENvbnNvbGVGbihsZXZlbDogTGV2ZWxLaW5kKSB7XG4gIHJldHVybiAoY29uc29sZVtsZXZlbF0gPz8gY29uc29sZS5sb2cpLmJpbmQoY29uc29sZSlcbn1cblxuLyoqXG4gKiBHZXQgYSBjYWNoZWQgY29uc29sZSBib3VuZCBsb2cgZnVuY3Rpb25cbiAqXG4gKiBAcGFyYW0ge0xldmVsS2luZH0gbGV2ZWxcbiAqIEByZXR1cm5zIHsoLi4uYXJnczogYW55W10pID0+IGFueX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbnNvbGVMb2dCaW5kaW5nKGxldmVsOiBMZXZlbEtpbmQpIHtcbiAgaWYgKCFjb25zb2xlTG9nQmluZGluZ3MuaGFzKGxldmVsKSkge1xuICAgIGNvbnNvbGVMb2dCaW5kaW5ncy5zZXQobGV2ZWwsIGdldEJvdW5kQ29uc29sZUZuKGxldmVsKSlcbiAgfVxuXG4gIHJldHVybiBjb25zb2xlTG9nQmluZGluZ3MuZ2V0KGxldmVsKVxufVxuXG4vKipcbiAqIENvbnNvbGVBcHBlbmRlciBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc29sZUFwcGVuZGVyQ29uZmlnPFJlY29yZCBleHRlbmRzIExvZ1JlY29yZCA9IGFueT4ge1xuICBjYWNoZUVuYWJsZWQ6IGJvb2xlYW5cbiAgcHJldHR5UHJpbnQ6IGJvb2xlYW5cbiAgZm9ybWF0dGVyPzogRm9ybWF0dGVyPHN0cmluZyB8IEFycmF5PGFueT4+XG59XG5cbi8qKlxuICogUGFydGlhbCBvZiBjb25maWcsIHVzZWQgZm9yIHNob3J0ZW5pbmcgaW5zdGVhZCBvZiBQYXJ0aWFsPC4uLj5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uc29sZUFwcGVuZGVyT3B0aW9uczxSZWNvcmQgZXh0ZW5kcyBMb2dSZWNvcmQ+ID0gUGFydGlhbDxcbiAgQ29uc29sZUFwcGVuZGVyQ29uZmlnPFJlY29yZD5cbj5cblxuZXhwb3J0IGNvbnN0IGNvbnNvbGVGb3JtYXR0ZXI6IEZvcm1hdHRlcjxBcnJheTxhbnk+PiA9ICh7XG4gIGxldmVsLFxuICBtZXNzYWdlLFxuICBkYXRhLFxuICBhcmdzLFxuICBjYXRlZ29yeSxcbiAgdGltZXN0YW1wXG59KSA9PiBbXG4gIGBbJHtjYXRlZ29yeX1dICAoJHtsZXZlbH0pICAke21lc3NhZ2V9YCxcbiAgLi4uKEFycmF5LmlzQXJyYXkoYXJncykgPyBhcmdzIDogW2FyZ3NdKVxuXVxuXG4vKipcbiAqIERlZmF1bHQgY29uc29sZSBjb25maWdcbiAqIEB0eXBlIHtDb25zb2xlQXBwZW5kZXJDb25maWd9XG4gKi9cbmV4cG9ydCBjb25zdCBrRGVmYXVsdENvbnNvbGVBcHBlbmRlckNvbmZpZzogQ29uc29sZUFwcGVuZGVyQ29uZmlnID0ge1xuICBjYWNoZUVuYWJsZWQ6IHRydWUsXG4gIHByZXR0eVByaW50OiB0cnVlLFxuICBmb3JtYXR0ZXI6IGNvbnNvbGVGb3JtYXR0ZXJcbn1cblxuLyoqXG4gKiBDb25zb2xlIGFwcGVuZGVyLCB0aGUgc2ltcGxlIGRlZmF1bHQgYXBwZW5kZXIgdXNlZFxuICogZXZlcnl3aGVyZSBPT0JcbiAqL1xuZXhwb3J0IGNsYXNzIENvbnNvbGVBcHBlbmRlcjxcbiAgUmVjb3JkIGV4dGVuZHMgTG9nUmVjb3JkXG4+IGltcGxlbWVudHMgQXBwZW5kZXI8UmVjb3JkPiB7XG4gIHJlYWRvbmx5IGNvbmZpZzogQ29uc29sZUFwcGVuZGVyQ29uZmlnXG5cbiAgLyoqXG4gICAqIEhhbmRsZSBsb2cgcmVjb3JkcywgdHJhbnNmb3JtLCBwdXNoIHRvIEVTXG4gICAqXG4gICAqIEBwYXJhbSByZWNvcmRcbiAgICovXG4gIGFwcGVuZChyZWNvcmQ6IFJlY29yZCk6IHZvaWQge1xuICAgIGNvbnN0IHsgbGV2ZWwsIG1lc3NhZ2UsIGRhdGEsIGFyZ3MsIGNhdGVnb3J5LCB0aW1lc3RhbXAgfSA9IHJlY29yZFxuICAgIGNvbnN0IHsgZm9ybWF0dGVyID0gY29uc29sZUZvcm1hdHRlciB9ID0gdGhpcy5jb25maWdcbiAgICBPcHRpb24ub2ZOdWxsYWJsZShmb3JtYXR0ZXIocmVjb3JkKSkubWFwKHJlc3VsdCA9PiB7XG4gICAgICBjb25zdCBhcmdzID0gQXJyYXkuaXNBcnJheShyZXN1bHQpID8gcmVzdWx0IDogW3Jlc3VsdF1cbiAgICAgIHRoaXMud3JpdGUobGV2ZWwsIC4uLmFyZ3MpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZSBhcmdzIHRvIGNvbnNvbGVcbiAgICpcbiAgICogQHBhcmFtIGxldmVsXG4gICAqIEBwYXJhbSBhcmdzXG4gICAqL1xuICBwcm90ZWN0ZWQgd3JpdGUobGV2ZWw6IExldmVsS2luZCwgLi4uYXJnczogYW55W10pIHtcbiAgICBPcHRpb24ub2ZOdWxsYWJsZShjb25zb2xlW2xldmVsXSlcbiAgICAgIC5vckNhbGwoKCkgPT4gT3B0aW9uLm9mTnVsbGFibGUoY29uc29sZS5sb2cpKVxuICAgICAgLm1hcCgoZm46IEZ1bmN0aW9uKSA9PiBmbi5hcHBseShjb25zb2xlLCBhcmdzKSlcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge1BhcnRpYWw8Q29uc29sZUFwcGVuZGVyT3B0aW9uczxSZWNvcmQ+Pn0gb3B0aW9uc1xuICAgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUGFydGlhbDxDb25zb2xlQXBwZW5kZXJPcHRpb25zPFJlY29yZD4+ID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmtEZWZhdWx0Q29uc29sZUFwcGVuZGVyQ29uZmlnLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import type { LogContext } from "./LogContext";
1
+ import type { LogContext } from "./LogContext.js";
2
2
  export interface LogContextProvider {
3
3
  /**
4
4
  * Get current context stack
@@ -1 +1 @@
1
- {"version":3,"file":"LogContextProvider.d.ts","sourceRoot":"","sources":["../../../../src/logging/context/LogContextProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,MAAM,WAAW,kBAAkB;IAEjC;;;;OAIG;IACH,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;IAEnC;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACjF;AAGD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAC,kBAWtC,CAAA"}
1
+ {"version":3,"file":"LogContextProvider.d.ts","sourceRoot":"","sources":["../../../../src/logging/context/LogContextProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIjD,MAAM,WAAW,kBAAkB;IAEjC;;;;OAIG;IACH,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;IAEnC;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACjF;AAGD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAC,kBAWtC,CAAA"}
@@ -18,4 +18,4 @@ exports.DefaultLogContextProvider = {
18
18
  return fn();
19
19
  }
20
20
  };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nQ29udGV4dFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xvZ2dpbmcvY29udGV4dC9Mb2dDb250ZXh0UHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjs7O0FBMEIvQjs7OztHQUlHO0FBQ1UsUUFBQSx5QkFBeUIsR0FBc0I7SUFDMUQsY0FBYztRQUNaLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUNELFlBQVksQ0FBYyxPQUFtQixFQUFFLEVBQW9CO1FBQ2pFLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssYUFBYSxFQUFFLENBQUM7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyw2REFBNkQsQ0FBQyxDQUFBO1FBQzdFLENBQUM7UUFFRCxPQUFPLEVBQUUsRUFBRSxDQUFBO0lBQ2IsQ0FBQztDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBub2luc3BlY3Rpb24gSlNWYWxpZGF0ZUpTRG9jXG5cbmltcG9ydCB0eXBlIHsgTG9nQ29udGV4dCB9IGZyb20gXCIuL0xvZ0NvbnRleHRcIlxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBMb2dDb250ZXh0UHJvdmlkZXIge1xuICBcbiAgLyoqXG4gICAqIEdldCBjdXJyZW50IGNvbnRleHQgc3RhY2tcbiAgICpcbiAgICogQHJldHVybnMge2FueVtdfVxuICAgKi9cbiAgY3VycmVudENvbnRleHQoKTogQXJyYXk8TG9nQ29udGV4dD5cbiAgXG4gIC8qKlxuICAgKiBSdW4gaW4gY29udGV4dFxuICAgKlxuICAgKiBAcGFyYW0ge0xvZ0NvbnRleHR9IGNvbnRleHRcbiAgICogQHBhcmFtIHsoKSA9PiBQcm9taXNlPFQ+fSBmblxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUPn1cbiAgICovXG4gIHJ1bkluQ29udGV4dDxUID0gdW5rbm93bj4oY29udGV4dDogTG9nQ29udGV4dCwgZm46ICgpID0+IFByb21pc2U8VD4pOiBQcm9taXNlPFQ+XG59XG5cblxuLyoqXG4gKiBEdW1teS9Ob29wIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBAdHlwZSB7e2N1cnJlbnRDb250ZXh0KCk6IEFycmF5PExvZ0NvbnRleHQ+LCBydW5JbkNvbnRleHQ8VD11bmtub3duPihjb250ZXh0OiBMb2dDb250ZXh0LCBmbjogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD59fVxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdExvZ0NvbnRleHRQcm92aWRlcjpMb2dDb250ZXh0UHJvdmlkZXIgPSB7XG4gIGN1cnJlbnRDb250ZXh0KCk6IEFycmF5PExvZ0NvbnRleHQ+IHtcbiAgICByZXR1cm4gW11cbiAgfSxcbiAgcnVuSW5Db250ZXh0PFQgPSB1bmtub3duPihjb250ZXh0OiBMb2dDb250ZXh0LCBmbjogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEF0dGVtcHRpbmcgdG8gdXNlIExvZ0NvbnRleHQgd2l0aG91dCBhbnkgaW5zdGFsbGVkIHByb3ZpZGVyYClcbiAgICB9XG4gIFxuICAgIHJldHVybiBmbigpXG4gIH1cbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nQ29udGV4dFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xvZ2dpbmcvY29udGV4dC9Mb2dDb250ZXh0UHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjs7O0FBMEIvQjs7OztHQUlHO0FBQ1UsUUFBQSx5QkFBeUIsR0FBc0I7SUFDMUQsY0FBYztRQUNaLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUNELFlBQVksQ0FBYyxPQUFtQixFQUFFLEVBQW9CO1FBQ2pFLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssYUFBYSxFQUFFLENBQUM7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyw2REFBNkQsQ0FBQyxDQUFBO1FBQzdFLENBQUM7UUFFRCxPQUFPLEVBQUUsRUFBRSxDQUFBO0lBQ2IsQ0FBQztDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBub2luc3BlY3Rpb24gSlNWYWxpZGF0ZUpTRG9jXG5cbmltcG9ydCB0eXBlIHsgTG9nQ29udGV4dCB9IGZyb20gXCIuL0xvZ0NvbnRleHQuanNcIlxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBMb2dDb250ZXh0UHJvdmlkZXIge1xuICBcbiAgLyoqXG4gICAqIEdldCBjdXJyZW50IGNvbnRleHQgc3RhY2tcbiAgICpcbiAgICogQHJldHVybnMge2FueVtdfVxuICAgKi9cbiAgY3VycmVudENvbnRleHQoKTogQXJyYXk8TG9nQ29udGV4dD5cbiAgXG4gIC8qKlxuICAgKiBSdW4gaW4gY29udGV4dFxuICAgKlxuICAgKiBAcGFyYW0ge0xvZ0NvbnRleHR9IGNvbnRleHRcbiAgICogQHBhcmFtIHsoKSA9PiBQcm9taXNlPFQ+fSBmblxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUPn1cbiAgICovXG4gIHJ1bkluQ29udGV4dDxUID0gdW5rbm93bj4oY29udGV4dDogTG9nQ29udGV4dCwgZm46ICgpID0+IFByb21pc2U8VD4pOiBQcm9taXNlPFQ+XG59XG5cblxuLyoqXG4gKiBEdW1teS9Ob29wIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBAdHlwZSB7e2N1cnJlbnRDb250ZXh0KCk6IEFycmF5PExvZ0NvbnRleHQ+LCBydW5JbkNvbnRleHQ8VD11bmtub3duPihjb250ZXh0OiBMb2dDb250ZXh0LCBmbjogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD59fVxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdExvZ0NvbnRleHRQcm92aWRlcjpMb2dDb250ZXh0UHJvdmlkZXIgPSB7XG4gIGN1cnJlbnRDb250ZXh0KCk6IEFycmF5PExvZ0NvbnRleHQ+IHtcbiAgICByZXR1cm4gW11cbiAgfSxcbiAgcnVuSW5Db250ZXh0PFQgPSB1bmtub3duPihjb250ZXh0OiBMb2dDb250ZXh0LCBmbjogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEF0dGVtcHRpbmcgdG8gdXNlIExvZ0NvbnRleHQgd2l0aG91dCBhbnkgaW5zdGFsbGVkIHByb3ZpZGVyYClcbiAgICB9XG4gIFxuICAgIHJldHVybiBmbigpXG4gIH1cbn1cbiJdfQ==
@@ -30,4 +30,4 @@ class NodeContextProvider {
30
30
  }
31
31
  const instance = new NodeContextProvider();
32
32
  LogContextContainer_js_1.LogContextContainer.setProvider(instance);
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9kZUNvbnRleHRQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2NvbnRleHQvcHJvdmlkZXJzL25vZGUvTm9kZUNvbnRleHRQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUErQztBQUMvQyxtQ0FBNkI7QUFHN0IseUVBQWtFO0FBRWxFLE1BQU0sY0FBYyxHQUFHLElBQUksK0JBQWlCLEVBQXFCLENBQUE7QUFFakUsU0FBUyxtQkFBbUI7SUFDMUIsT0FBTyxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFBO0FBQ3hDLENBQUM7QUFFRCxNQUFNLG1CQUFtQjtJQUd2Qjs7OztPQUlHO0lBQ0gsY0FBYztRQUNaLE9BQU8sbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFlBQVksQ0FDVixPQUFtQixFQUNuQixFQUFvQjtRQUVwQixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsRUFBRSxDQUFBO1FBQ3RDLE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBaUIsSUFBQSxhQUFJLEVBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzdFLENBQUM7Q0FDRjtBQUVELE1BQU0sUUFBUSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQTtBQUUxQyw0Q0FBbUIsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY0xvY2FsU3RvcmFnZSB9IGZyb20gXCJhc3luY19ob29rc1wiXG5pbXBvcnQgeyB1bmlxIH0gZnJvbSBcImxvZGFzaFwiXG5pbXBvcnQgdHlwZSB7IExvZ0NvbnRleHQgfSBmcm9tIFwiLi4vLi4vTG9nQ29udGV4dFwiXG5pbXBvcnQgdHlwZSB7IExvZ0NvbnRleHRQcm92aWRlciB9IGZyb20gXCIuLi8uLi9Mb2dDb250ZXh0UHJvdmlkZXJcIlxuaW1wb3J0IHsgTG9nQ29udGV4dENvbnRhaW5lciB9IGZyb20gXCIuLi8uLi9Mb2dDb250ZXh0Q29udGFpbmVyLmpzXCJcblxuY29uc3QgY29udGV4dFN0b3JhZ2UgPSBuZXcgQXN5bmNMb2NhbFN0b3JhZ2U8QXJyYXk8TG9nQ29udGV4dD4+KClcblxuZnVuY3Rpb24gY3VycmVudENvbnRleHRTdG9yZSgpOiBBcnJheTxMb2dDb250ZXh0PiB7XG4gIHJldHVybiBjb250ZXh0U3RvcmFnZS5nZXRTdG9yZSgpID8/IFtdXG59XG5cbmNsYXNzIE5vZGVDb250ZXh0UHJvdmlkZXIgaW1wbGVtZW50cyBMb2dDb250ZXh0UHJvdmlkZXIge1xuICBcbiAgXG4gIC8qKlxuICAgKiBHZXQgY3VycmVudCBjb250ZXh0IHN0YWNrXG4gICAqXG4gICAqIEByZXR1cm5zIHthbnlbXX1cbiAgICovXG4gIGN1cnJlbnRDb250ZXh0KCk6IEFycmF5PExvZ0NvbnRleHQ+IHtcbiAgICByZXR1cm4gY3VycmVudENvbnRleHRTdG9yZSgpID8/IFtdXG4gIH1cbiAgXG4gIC8qKlxuICAgKiBSdW4gaW4gY29udGV4dFxuICAgKlxuICAgKiBAcGFyYW0ge0xvZ0NvbnRleHR9IGNvbnRleHRcbiAgICogQHBhcmFtIHsoKSA9PiBQcm9taXNlPFQ+fSBmblxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUPn1cbiAgICovXG4gIHJ1bkluQ29udGV4dDxUID0gdW5rbm93bj4oXG4gICAgY29udGV4dDogTG9nQ29udGV4dCxcbiAgICBmbjogKCkgPT4gUHJvbWlzZTxUPlxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBjb250ZXh0cyA9IGN1cnJlbnRDb250ZXh0U3RvcmUoKVxuICAgIHJldHVybiBjb250ZXh0U3RvcmFnZS5ydW48UHJvbWlzZTxUPiwgW10+KHVuaXEoWy4uLmNvbnRleHRzLCBjb250ZXh0XSksIGZuKVxuICB9XG59XG5cbmNvbnN0IGluc3RhbmNlID0gbmV3IE5vZGVDb250ZXh0UHJvdmlkZXIoKVxuXG5Mb2dDb250ZXh0Q29udGFpbmVyLnNldFByb3ZpZGVyKGluc3RhbmNlKVxuXG5leHBvcnQge31cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9kZUNvbnRleHRQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9sb2dnaW5nL2NvbnRleHQvcHJvdmlkZXJzL25vZGUvTm9kZUNvbnRleHRQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUErQztBQUMvQyxtQ0FBNkI7QUFHN0IseUVBQWtFO0FBRWxFLE1BQU0sY0FBYyxHQUFHLElBQUksK0JBQWlCLEVBQXFCLENBQUE7QUFFakUsU0FBUyxtQkFBbUI7SUFDMUIsT0FBTyxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFBO0FBQ3hDLENBQUM7QUFFRCxNQUFNLG1CQUFtQjtJQUd2Qjs7OztPQUlHO0lBQ0gsY0FBYztRQUNaLE9BQU8sbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFlBQVksQ0FDVixPQUFtQixFQUNuQixFQUFvQjtRQUVwQixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsRUFBRSxDQUFBO1FBQ3RDLE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBaUIsSUFBQSxhQUFJLEVBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzdFLENBQUM7Q0FDRjtBQUVELE1BQU0sUUFBUSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQTtBQUUxQyw0Q0FBbUIsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY0xvY2FsU3RvcmFnZSB9IGZyb20gXCJhc3luY19ob29rc1wiXG5pbXBvcnQgeyB1bmlxIH0gZnJvbSBcImxvZGFzaFwiXG5pbXBvcnQgdHlwZSB7IExvZ0NvbnRleHQgfSBmcm9tIFwiLi4vLi4vTG9nQ29udGV4dC5qc1wiXG5pbXBvcnQgdHlwZSB7IExvZ0NvbnRleHRQcm92aWRlciB9IGZyb20gXCIuLi8uLi9Mb2dDb250ZXh0UHJvdmlkZXIuanNcIlxuaW1wb3J0IHsgTG9nQ29udGV4dENvbnRhaW5lciB9IGZyb20gXCIuLi8uLi9Mb2dDb250ZXh0Q29udGFpbmVyLmpzXCJcblxuY29uc3QgY29udGV4dFN0b3JhZ2UgPSBuZXcgQXN5bmNMb2NhbFN0b3JhZ2U8QXJyYXk8TG9nQ29udGV4dD4+KClcblxuZnVuY3Rpb24gY3VycmVudENvbnRleHRTdG9yZSgpOiBBcnJheTxMb2dDb250ZXh0PiB7XG4gIHJldHVybiBjb250ZXh0U3RvcmFnZS5nZXRTdG9yZSgpID8/IFtdXG59XG5cbmNsYXNzIE5vZGVDb250ZXh0UHJvdmlkZXIgaW1wbGVtZW50cyBMb2dDb250ZXh0UHJvdmlkZXIge1xuICBcbiAgXG4gIC8qKlxuICAgKiBHZXQgY3VycmVudCBjb250ZXh0IHN0YWNrXG4gICAqXG4gICAqIEByZXR1cm5zIHthbnlbXX1cbiAgICovXG4gIGN1cnJlbnRDb250ZXh0KCk6IEFycmF5PExvZ0NvbnRleHQ+IHtcbiAgICByZXR1cm4gY3VycmVudENvbnRleHRTdG9yZSgpID8/IFtdXG4gIH1cbiAgXG4gIC8qKlxuICAgKiBSdW4gaW4gY29udGV4dFxuICAgKlxuICAgKiBAcGFyYW0ge0xvZ0NvbnRleHR9IGNvbnRleHRcbiAgICogQHBhcmFtIHsoKSA9PiBQcm9taXNlPFQ+fSBmblxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUPn1cbiAgICovXG4gIHJ1bkluQ29udGV4dDxUID0gdW5rbm93bj4oXG4gICAgY29udGV4dDogTG9nQ29udGV4dCxcbiAgICBmbjogKCkgPT4gUHJvbWlzZTxUPlxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBjb250ZXh0cyA9IGN1cnJlbnRDb250ZXh0U3RvcmUoKVxuICAgIHJldHVybiBjb250ZXh0U3RvcmFnZS5ydW48UHJvbWlzZTxUPiwgW10+KHVuaXEoWy4uLmNvbnRleHRzLCBjb250ZXh0XSksIGZuKVxuICB9XG59XG5cbmNvbnN0IGluc3RhbmNlID0gbmV3IE5vZGVDb250ZXh0UHJvdmlkZXIoKVxuXG5Mb2dDb250ZXh0Q29udGFpbmVyLnNldFByb3ZpZGVyKGluc3RhbmNlKVxuXG5leHBvcnQge31cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const FileAppender_js_1 = require("../appenders/FileAppender.js");
3
+ const FileAppender_js_1 = require("../../node/logging/appenders/FileAppender.js");
4
4
  const getLogger_js_1 = require("../getLogger.js");
5
5
  const LoggingManager_js_1 = require("../LoggingManager.js");
6
6
  async function run() {
@@ -15,4 +15,4 @@ async function run() {
15
15
  await fileAppender.close();
16
16
  }
17
17
  run().catch((err) => console.error(`failed`, err));
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1maWxlLWFwcGVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xvZ2dpbmcvZXhhbXBsZXMvZXhhbXBsZS1maWxlLWFwcGVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0VBQTJEO0FBQzNELGtEQUEyQztBQUUzQyw0REFBd0Q7QUFFeEQsS0FBSyxVQUFVLEdBQUc7SUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBQSxxQ0FBaUIsR0FBRSxDQUFBO0lBQ25DLE1BQU0sWUFBWSxHQUFHLElBQUksOEJBQVksQ0FBQztRQUNwQyxhQUFhLEVBQUUsSUFBSTtRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFeEQsTUFBTSxHQUFHLEdBQUcsSUFBQSx3QkFBUyxFQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2pDLE1BQU0sWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFBO0FBQzVCLENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlQXBwZW5kZXIgfSBmcm9tIFwiLi4vYXBwZW5kZXJzL0ZpbGVBcHBlbmRlci5qc1wiXG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiLi4vZ2V0TG9nZ2VyLmpzXCJcbmltcG9ydCB7IExldmVsTmFtZXMgfSBmcm9tIFwiLi4vTGV2ZWwuanNcIlxuaW1wb3J0IHsgZ2V0TG9nZ2luZ01hbmFnZXIgfSBmcm9tIFwiLi4vTG9nZ2luZ01hbmFnZXIuanNcIlxuXG5hc3luYyBmdW5jdGlvbiBydW4oKSB7XG4gIGNvbnN0IG1hbmFnZXIgPSBnZXRMb2dnaW5nTWFuYWdlcigpXG4gIGNvbnN0IGZpbGVBcHBlbmRlciA9IG5ldyBGaWxlQXBwZW5kZXIoe1xuICAgIGVuYWJsZVJvbGxpbmc6IHRydWUsXG4gICAgbWF4RmlsZXM6IDQsXG4gICAgbWF4U2l6ZTogMjA0ODBcbiAgfSlcbiAgbWFuYWdlci5zZXRBcHBlbmRlcnMoZmlsZUFwcGVuZGVyKS5zZXRSb290TGV2ZWwoXCJ0cmFjZVwiKVxuXG4gIGNvbnN0IGxvZyA9IGdldExvZ2dlcihfX2ZpbGVuYW1lKVxuICBhd2FpdCBmaWxlQXBwZW5kZXIuY2xvc2UoKVxufVxuXG5ydW4oKS5jYXRjaCgoZXJyKSA9PiBjb25zb2xlLmVycm9yKGBmYWlsZWRgLCBlcnIpKVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1maWxlLWFwcGVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xvZ2dpbmcvZXhhbXBsZXMvZXhhbXBsZS1maWxlLWFwcGVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0ZBQTJFO0FBQzNFLGtEQUEyQztBQUUzQyw0REFBd0Q7QUFFeEQsS0FBSyxVQUFVLEdBQUc7SUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBQSxxQ0FBaUIsR0FBRSxDQUFBO0lBQ25DLE1BQU0sWUFBWSxHQUFHLElBQUksOEJBQVksQ0FBQztRQUNwQyxhQUFhLEVBQUUsSUFBSTtRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFeEQsTUFBTSxHQUFHLEdBQUcsSUFBQSx3QkFBUyxFQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2pDLE1BQU0sWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFBO0FBQzVCLENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlQXBwZW5kZXIgfSBmcm9tIFwiLi4vLi4vbm9kZS9sb2dnaW5nL2FwcGVuZGVycy9GaWxlQXBwZW5kZXIuanNcIlxuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIi4uL2dldExvZ2dlci5qc1wiXG5pbXBvcnQgeyBMZXZlbE5hbWVzIH0gZnJvbSBcIi4uL0xldmVsLmpzXCJcbmltcG9ydCB7IGdldExvZ2dpbmdNYW5hZ2VyIH0gZnJvbSBcIi4uL0xvZ2dpbmdNYW5hZ2VyLmpzXCJcblxuYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICBjb25zdCBtYW5hZ2VyID0gZ2V0TG9nZ2luZ01hbmFnZXIoKVxuICBjb25zdCBmaWxlQXBwZW5kZXIgPSBuZXcgRmlsZUFwcGVuZGVyKHtcbiAgICBlbmFibGVSb2xsaW5nOiB0cnVlLFxuICAgIG1heEZpbGVzOiA0LFxuICAgIG1heFNpemU6IDIwNDgwXG4gIH0pXG4gIG1hbmFnZXIuc2V0QXBwZW5kZXJzKGZpbGVBcHBlbmRlcikuc2V0Um9vdExldmVsKFwidHJhY2VcIilcblxuICBjb25zdCBsb2cgPSBnZXRMb2dnZXIoX19maWxlbmFtZSlcbiAgYXdhaXQgZmlsZUFwcGVuZGVyLmNsb3NlKClcbn1cblxucnVuKCkuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcihgZmFpbGVkYCwgZXJyKSlcbiJdfQ==
@@ -1,3 +1,3 @@
1
- import type { Logger, LoggerOptions } from "./Logger";
1
+ import type { Logger, LoggerOptions } from "./Logger.js";
2
2
  export declare function getLogger(category: string, options?: Partial<LoggerOptions>): Logger;
3
3
  //# sourceMappingURL=getLogger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getLogger.d.ts","sourceRoot":"","sources":["../../../src/logging/getLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGrD,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GACnC,MAAM,CAER"}
1
+ {"version":3,"file":"getLogger.d.ts","sourceRoot":"","sources":["../../../src/logging/getLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGxD,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GACnC,MAAM,CAER"}
@@ -5,4 +5,4 @@ const LoggingManager_js_1 = require("./LoggingManager.js");
5
5
  function getLogger(category, options = {}) {
6
6
  return (0, LoggingManager_js_1.getLoggingManager)().getLogger(category, options);
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvZ2dpbmcvZ2V0TG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsOEJBS0M7QUFQRCwyREFBdUQ7QUFFdkQsU0FBZ0IsU0FBUyxDQUN2QixRQUFnQixFQUNoQixVQUFrQyxFQUFFO0lBRXBDLE9BQU8sSUFBQSxxQ0FBaUIsR0FBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyLCBMb2dnZXJPcHRpb25zIH0gZnJvbSBcIi4vTG9nZ2VyXCJcbmltcG9ydCB7IGdldExvZ2dpbmdNYW5hZ2VyIH0gZnJvbSBcIi4vTG9nZ2luZ01hbmFnZXIuanNcIlxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9nZ2VyKFxuICBjYXRlZ29yeTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPExvZ2dlck9wdGlvbnM+ID0ge31cbik6IExvZ2dlciB7XG4gIHJldHVybiBnZXRMb2dnaW5nTWFuYWdlcigpLmdldExvZ2dlcihjYXRlZ29yeSwgb3B0aW9ucylcbn1cbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvZ2dpbmcvZ2V0TG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsOEJBS0M7QUFQRCwyREFBdUQ7QUFFdkQsU0FBZ0IsU0FBUyxDQUN2QixRQUFnQixFQUNoQixVQUFrQyxFQUFFO0lBRXBDLE9BQU8sSUFBQSxxQ0FBaUIsR0FBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyLCBMb2dnZXJPcHRpb25zIH0gZnJvbSBcIi4vTG9nZ2VyLmpzXCJcbmltcG9ydCB7IGdldExvZ2dpbmdNYW5hZ2VyIH0gZnJvbSBcIi4vTG9nZ2luZ01hbmFnZXIuanNcIlxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9nZ2VyKFxuICBjYXRlZ29yeTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPExvZ2dlck9wdGlvbnM+ID0ge31cbik6IExvZ2dlciB7XG4gIHJldHVybiBnZXRMb2dnaW5nTWFuYWdlcigpLmdldExvZ2dlcihjYXRlZ29yeSwgb3B0aW9ucylcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export * from "./index.js";
2
- export * from "./appenders/FileAppender.js";
2
+ export * from "../node/logging/appenders/FileAppender.js";
3
3
  //# sourceMappingURL=index-node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../../../src/logging/index-node.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../../../src/logging/index-node.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,2CAA2C,CAAA"}
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./index.js"), exports);
18
- __exportStar(require("./appenders/FileAppender.js"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dnaW5nL2luZGV4LW5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEwQjtBQUMxQiw4REFBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9pbmRleC5qc1wiXG5leHBvcnQgKiBmcm9tIFwiLi9hcHBlbmRlcnMvRmlsZUFwcGVuZGVyLmpzXCJcbiJdfQ==
18
+ __exportStar(require("../node/logging/appenders/FileAppender.js"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dnaW5nL2luZGV4LW5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEwQjtBQUMxQiw0RUFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9pbmRleC5qc1wiXG5leHBvcnQgKiBmcm9tIFwiLi4vbm9kZS9sb2dnaW5nL2FwcGVuZGVycy9GaWxlQXBwZW5kZXIuanNcIlxuIl19
@@ -0,0 +1,3 @@
1
+ /** Barrel for every Node-only module in `@wireio/shared`. */
2
+ export * from "./logging/appenders/index.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,8BAA8B,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /** Barrel for every Node-only module in `@wireio/shared`. */
18
+ __exportStar(require("./logging/appenders/index.js"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTZEO0FBQzdELCtEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBCYXJyZWwgZm9yIGV2ZXJ5IE5vZGUtb25seSBtb2R1bGUgaW4gYEB3aXJlaW8vc2hhcmVkYC4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2dpbmcvYXBwZW5kZXJzL2luZGV4LmpzXCJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- import type { LogRecord } from "../LogRecord";
2
- import type { Appender } from "../Appender";
1
+ import type { LogRecord } from "../../../logging/LogRecord.js";
2
+ import type { Appender } from "../../../logging/Appender.js";
3
3
  import { Buffer } from "buffer";
4
4
  export interface FileAppenderConfig<Record extends LogRecord = any> {
5
5
  filename: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileAppender.d.ts","sourceRoot":"","sources":["../../../../../src/node/logging/appenders/FileAppender.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAsB/B,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,SAAS,GAAG,GAAG;IAChE,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf,aAAa,EAAE,OAAO,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;IACpB,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,SAAS,GAAG,GAAG,IAAI,OAAO,CACvE,kBAAkB,CAAC,MAAM,CAAC,CAC3B,CAAA;AAED,qBAAa,YAAY,CACvB,MAAM,SAAS,SAAS,CACxB,YAAW,QAAQ,CAAC,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAE3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAiBrB;IAED,IAAI,aAAa,YAEhB;IAED,OAAO;IAIP;;;;OAIG;IACH,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC;IA2B7B;;;;;;;OAOG;IACH,QAAQ;IAkDR;;;;OAIG;IACH,KAAK;IAML,IAAI,KAAK,8BAER;IAED,IAAI,IAAI,WAEP;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,WAEX;IAED;;OAEG;IACH,OAAO,CAAC,KAAK;IAoCb;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB5B;;;OAGG;gBACS,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAM;CAW/D"}
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.FileAppender = void 0;
40
+ const lodash_1 = require("lodash");
41
+ const Path = __importStar(require("path"));
42
+ const Fs = __importStar(require("fs"));
43
+ const prelude_ts_1 = require("@3fv/prelude-ts");
44
+ const buffer_1 = require("buffer");
45
+ const debug_1 = __importDefault(require("debug"));
46
+ const bluebird_1 = __importDefault(require("bluebird"));
47
+ const FsAsync = Fs.promises;
48
+ const debug = (0, debug_1.default)("3fv:logger:FileAppender");
49
+ const osTempDir = process.env.TMP ?? process.env.TEMP ?? "/tmp";
50
+ const tempDir = Fs.mkdtempSync(Path.join(osTempDir, "logger-proxy-example")); //
51
+ const getDefaultConfig = () => ({
52
+ filename: Path.join(tempDir, "app.log"),
53
+ prettyPrint: process.env.NODE_ENV !== "production",
54
+ maxSize: -1,
55
+ maxFiles: 5,
56
+ enableRolling: false,
57
+ sync: false
58
+ });
59
+ function applyConfigDefaults(options) {
60
+ return (0, lodash_1.defaults)(options, getDefaultConfig());
61
+ }
62
+ class FileAppender {
63
+ config;
64
+ state = {
65
+ archivedFilenames: [],
66
+ filename: undefined,
67
+ file: undefined,
68
+ ready: false,
69
+ currentSize: 0,
70
+ flushing: false,
71
+ queue: []
72
+ };
73
+ get enableRolling() {
74
+ return this.config.enableRolling;
75
+ }
76
+ isReady() {
77
+ return this.state.ready;
78
+ }
79
+ /**
80
+ * Initialize and setup the appender
81
+ *
82
+ * @returns {FileAppender<Record>}
83
+ */
84
+ setup() {
85
+ const { state } = this;
86
+ if (!!state.ready) {
87
+ return this;
88
+ }
89
+ try {
90
+ const { filename } = this;
91
+ const file = Fs.openSync(filename, "a");
92
+ (0, lodash_1.assign)(state, {
93
+ filename,
94
+ file,
95
+ ready: true
96
+ });
97
+ return this;
98
+ }
99
+ catch (err) {
100
+ (0, lodash_1.assign)(state, {
101
+ error: err,
102
+ file: undefined,
103
+ ready: false
104
+ });
105
+ throw err;
106
+ }
107
+ }
108
+ /**
109
+ * Only exposed for the sake of tests & examples
110
+ * DO NOT USE
111
+ *
112
+ * This should all be async, but i was in a rush :(
113
+ *
114
+ * @returns
115
+ */
116
+ rollFile() {
117
+ const { state, config } = this;
118
+ let { file, filename, archivedFilenames } = state;
119
+ if (!this.isReady() || !file) {
120
+ debug(`Can not roll file before ready`);
121
+ return;
122
+ }
123
+ if (!this.enableRolling) {
124
+ return;
125
+ }
126
+ const fileCount = archivedFilenames.length + 1;
127
+ if (config.maxFiles < 1 || fileCount < config.maxFiles) {
128
+ archivedFilenames.push(filename + "." + (0, lodash_1.padStart)(fileCount.toString(10), 4, "0"));
129
+ }
130
+ Fs.fdatasyncSync(file);
131
+ Fs.closeSync(file);
132
+ file = state.file = undefined;
133
+ const filenames = [filename, ...archivedFilenames];
134
+ let dest = filenames.pop();
135
+ while (filenames.length) {
136
+ let src = filenames.pop();
137
+ if (!Fs.existsSync(src)) {
138
+ debug(`src does not exist, skipping ${src}`);
139
+ }
140
+ else {
141
+ debug(`Moving src (${src}) to dest (${dest})`);
142
+ if (Fs.existsSync(dest)) {
143
+ Fs.unlinkSync(dest);
144
+ }
145
+ Fs.renameSync(src, dest);
146
+ // if (src === filename) {
147
+ // Fs.copyFileSync(src, dest)
148
+ // Fs.truncateSync(src, 0)
149
+ // } else {
150
+ // Fs.renameSync(src, dest)
151
+ // }
152
+ }
153
+ dest = src;
154
+ }
155
+ (0, lodash_1.assign)(state, {
156
+ currentSize: 0,
157
+ file: Fs.openSync(filename, "a")
158
+ });
159
+ }
160
+ /**
161
+ * Close the handler
162
+ *
163
+ * @returns {Promise<void>}
164
+ */
165
+ close() {
166
+ return this.flush()
167
+ .onComplete(() => prelude_ts_1.Option.of(this.state.file).map(Fs.closeSync))
168
+ .toPromise();
169
+ }
170
+ get queue() {
171
+ return this.state.queue;
172
+ }
173
+ get file() {
174
+ return this.state.file;
175
+ }
176
+ get flushing() {
177
+ return this.state.flushing;
178
+ }
179
+ get filename() {
180
+ return (this.state.filename = this.state.filename ?? this.config.filename);
181
+ }
182
+ /**
183
+ * Appends the log queue records to the file
184
+ */
185
+ flush() {
186
+ const { state } = this;
187
+ return prelude_ts_1.Future.do(async () => {
188
+ state.flushing = true;
189
+ try {
190
+ const { file } = this;
191
+ if (!file) {
192
+ throw Error(`${this.filename} was not opened properly`);
193
+ }
194
+ while (this.queue.length) {
195
+ const buf = this.queue.shift();
196
+ await bluebird_1.default.fromCallback(cb => Fs.appendFile(file, buf, "utf-8", cb));
197
+ state.currentSize += buf.byteLength;
198
+ }
199
+ const { maxSize } = this.config;
200
+ if (maxSize > 0 && state.currentSize >= maxSize) {
201
+ this.rollFile();
202
+ }
203
+ //await Bluebird.fromCallback((cb) => Fs.fdatasync(this.file, cb))
204
+ }
205
+ catch (err) {
206
+ console.error(`Failed to append file ${this.filename}`, err);
207
+ }
208
+ finally {
209
+ this.state.flushing = false;
210
+ if (this.queue.length) {
211
+ queueMicrotask(() => this.flush());
212
+ }
213
+ }
214
+ });
215
+ }
216
+ /**
217
+ * Handle log records, transform, push to ES
218
+ *
219
+ * @param record
220
+ */
221
+ append(record) {
222
+ try {
223
+ const { queue, filename } = this.state;
224
+ const count = queue.length;
225
+ if (count > 999) {
226
+ debug(`Too many log records (${count}) are in the queue without the file (${filename}) opening, skipping %O`, record);
227
+ return;
228
+ }
229
+ const data = this.config.prettyPrint
230
+ ? JSON.stringify(record, null, 2)
231
+ : JSON.stringify(record);
232
+ queue.push(buffer_1.Buffer.from(data + "\n", "utf-8"));
233
+ this.flush();
234
+ }
235
+ catch (err) {
236
+ console.warn(`Failed to synchronize `, err);
237
+ }
238
+ }
239
+ /**
240
+ *
241
+ * @param {Partial<FileAppenderOptions<Record>>} options
242
+ */
243
+ constructor(options = {}) {
244
+ this.config = applyConfigDefaults(options);
245
+ (0, lodash_1.assign)(this.state, {
246
+ filename: this.config.filename
247
+ });
248
+ this.setup();
249
+ debug(`File appender is ready, logging to ${this.state.filename}`);
250
+ // return this
251
+ }
252
+ }
253
+ exports.FileAppender = FileAppender;
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZUFwcGVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL25vZGUvbG9nZ2luZy9hcHBlbmRlcnMvRmlsZUFwcGVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1DQUFtRDtBQUNuRCwyQ0FBNEI7QUFDNUIsdUNBQXdCO0FBR3hCLGdEQUFnRDtBQUNoRCxtQ0FBK0I7QUFDL0Isa0RBQXlCO0FBQ3pCLHdEQUErQjtBQUUvQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFBO0FBRTNCLE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBSyxFQUFDLHlCQUF5QixDQUFDLENBQUE7QUFDOUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFBO0FBQy9ELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFBLENBQUMsRUFBRTtBQUMvRSxNQUFNLGdCQUFnQixHQUFHLEdBQXVCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7SUFDdkMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFlBQVk7SUFDbEQsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNYLFFBQVEsRUFBRSxDQUFDO0lBQ1gsYUFBYSxFQUFFLEtBQUs7SUFDcEIsSUFBSSxFQUFFLEtBQUs7Q0FDWixDQUFDLENBQUE7QUFFRixTQUFTLG1CQUFtQixDQUFDLE9BQTRCO0lBQ3ZELE9BQU8sSUFBQSxpQkFBUSxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFD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LElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7WUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2QsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxVQUFnRCxFQUFFO1FBQzVELElBQUksQ0FBQyxNQUFNLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFMUMsSUFBQSxlQUFNLEVBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1NBQy9CLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNaLEtBQUssQ0FBQyxzQ0FBc0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ2xFLG1CQUFtQjtJQUNyQixDQUFDO0NBQ0Y7QUF0T0Qsb0NBc09DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzaWduLCBkZWZhdWx0cywgcGFkU3RhcnQgfSBmcm9tIFwibG9kYXNoXCJcbmltcG9ydCAqIGFzIFBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0ICogYXMgRnMgZnJvbSBcImZzXCJcbmltcG9ydCB0eXBlIHsgTG9nUmVjb3JkIH0gZnJvbSBcIi4uLy4uLy4uL2xvZ2dpbmcvTG9nUmVjb3JkLmpzXCJcbmltcG9ydCB0eXBlIHsgQXBwZW5kZXIgfSBmcm9tIFwiLi4vLi4vLi4vbG9nZ2luZy9BcHBlbmRlci5qc1wiXG5pbXBvcnQgeyBPcHRpb24sIEZ1dHVyZSB9IGZyb20gXCJAM2Z2L3ByZWx1ZGUtdHNcIlxuaW1wb3J0IHsgQnVmZmVyIH0gZnJvbSBcImJ1ZmZlclwiXG5pbXBvcnQgRGVidWcgZnJvbSBcImRlYnVnXCJcbmltcG9ydCBCbHVlYmlyZCBmcm9tIFwiYmx1ZWJpcmRcIlxuXG5jb25zdCBGc0FzeW5jID0gRnMucHJvbWlzZXNcblxuY29uc3QgZGVidWcgPSBEZWJ1ZyhcIjNmdjpsb2dnZXI6RmlsZUFwcGVuZGVyXCIpXG5jb25zdCBvc1RlbXBEaXIgPSBwcm9jZXNzLmVudi5UTVAgPz8gcHJvY2Vzcy5lbnYuVEVNUCA/PyBcIi90bXBcIlxuY29uc3QgdGVtcERpciA9IEZzLm1rZHRlbXBTeW5jKFBhdGguam9pbihvc1RlbXBEaXIsIFwibG9nZ2VyLXByb3h5LWV4YW1wbGVcIikpIC8vXG5jb25zdCBnZXREZWZhdWx0Q29uZmlnID0gKCk6IEZpbGVBcHBlbmRlckNvbmZpZyA9PiAoe1xuICBmaWxlbmFtZTogUGF0aC5qb2luKHRlbXBEaXIsIFwiYXBwLmxvZ1wiKSxcbiAgcHJldHR5UHJpbnQ6IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIixcbiAgbWF4U2l6ZTogLTEsXG4gIG1heEZpbGVzOiA1LFxuICBlbmFibGVSb2xsaW5nOiBmYWxzZSxcbiAgc3luYzogZmFsc2Vcbn0pXG5cbmZ1bmN0aW9uIGFwcGx5Q29uZmlnRGVmYXVsdHMob3B0aW9uczogRmlsZUFwcGVuZGVyT3B0aW9ucyk6IEZpbGVBcHBlbmRlckNvbmZpZyB7XG4gIHJldHVybiBkZWZhdWx0cyhvcHRpb25zLCBnZXREZWZhdWx0Q29uZmlnKCkpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUFwcGVuZGVyQ29uZmlnPFJlY29yZCBleHRlbmRzIExvZ1JlY29yZCA9IGFueT4ge1xuICBmaWxlbmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEZvciByb2xsaW5nXG4gICAqL1xuICBtYXhGaWxlczogbnVtYmVyXG5cbiAgLyoqXG4gICAqIEZvciByb2xsaW5nXG4gICAqL1xuICBtYXhTaXplOiBudW1iZXJcblxuICBlbmFibGVSb2xsaW5nOiBib29sZWFuXG4gIHByZXR0eVByaW50OiBib29sZWFuXG4gIHN5bmM6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgRmlsZUFwcGVuZGVyT3B0aW9uczxSZWNvcmQgZXh0ZW5kcyBMb2dSZWNvcmQgPSBhbnk+ID0gUGFydGlhbDxcbiAgRmlsZUFwcGVuZGVyQ29uZmlnPFJlY29yZD5cbj5cblxuZXhwb3J0IGNsYXNzIEZpbGVBcHBlbmRlcjxcbiAgUmVjb3JkIGV4dGVuZHMgTG9nUmVjb3JkXG4+IGltcGxlbWVudHMgQXBwZW5kZXI8UmVjb3JkPiB7XG4gIHJlYWRvbmx5IGNvbmZpZzogRmlsZUFwcGVuZGVyQ29uZmlnPFJlY29yZD5cblxuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlOiB7XG4gICAgZmlsZW5hbWU6IHN0cmluZ1xuICAgIGZpbGU6IG51bWJlclxuICAgIGZsdXNoaW5nOiBib29sZWFuXG4gICAgcXVldWU6IEFycmF5PEJ1ZmZlcj5cbiAgICByZWFkeTogYm9vbGVhblxuICAgIGVycm9yPzogRXJyb3JcbiAgICBjdXJyZW50U2l6ZTogbnVtYmVyXG4gICAgYXJjaGl2ZWRGaWxlbmFtZXM6IHN0cmluZ1tdXG4gIH0gPSB7XG4gICAgYXJjaGl2ZWRGaWxlbmFtZXM6IFtdLFxuICAgIGZpbGVuYW1lOiB1bmRlZmluZWQsXG4gICAgZmlsZTogdW5kZWZpbmVkLFxuICAgIHJlYWR5OiBmYWxzZSxcbiAgICBjdXJyZW50U2l6ZTogMCxcbiAgICBmbHVzaGluZzogZmFsc2UsXG4gICAgcXVldWU6IFtdXG4gIH1cblxuICBnZXQgZW5hYmxlUm9sbGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZW5hYmxlUm9sbGluZ1xuICB9XG5cbiAgaXNSZWFkeSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5yZWFkeVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgYW5kIHNldHVwIHRoZSBhcHBlbmRlclxuICAgKlxuICAgKiBAcmV0dXJucyB7RmlsZUFwcGVuZGVyPFJlY29yZD59XG4gICAqL1xuICBzZXR1cCgpOiBGaWxlQXBwZW5kZXI8UmVjb3JkPiB7XG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gdGhpc1xuICAgIGlmICghIXN0YXRlLnJlYWR5KSB7XG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGZpbGVuYW1lIH0gPSB0aGlzXG4gICAgICBjb25zdCBmaWxlID0gRnMub3BlblN5bmMoZmlsZW5hbWUsIFwiYVwiKVxuXG4gICAgICBhc3NpZ24oc3RhdGUsIHtcbiAgICAgICAgZmlsZW5hbWUsXG4gICAgICAgIGZpbGUsXG4gICAgICAgIHJlYWR5OiB0cnVlXG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gdGhpc1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgYXNzaWduKHN0YXRlLCB7XG4gICAgICAgIGVycm9yOiBlcnIsXG4gICAgICAgIGZpbGU6IHVuZGVmaW5lZCxcbiAgICAgICAgcmVhZHk6IGZhbHNlXG4gICAgICB9KVxuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9ubHkgZXhwb3NlZCBmb3IgdGhlIHNha2Ugb2YgdGVzdHMgJiBleGFtcGxlc1xuICAgKiBETyBOT1QgVVNFXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGFsbCBiZSBhc3luYywgYnV0IGkgd2FzIGluIGEgcnVzaCA6KFxuICAgKlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcm9sbEZpbGUoKSB7XG4gICAgY29uc3QgeyBzdGF0ZSwgY29uZmlnIH0gPSB0aGlzXG4gICAgbGV0IHsgZmlsZSwgZmlsZW5hbWUsIGFyY2hpdmVkRmlsZW5hbWVzIH0gPSBzdGF0ZVxuICAgIGlmICghdGhpcy5pc1JlYWR5KCkgfHwgIWZpbGUpIHtcbiAgICAgIGRlYnVnKGBDYW4gbm90IHJvbGwgZmlsZSBiZWZvcmUgcmVhZHlgKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmVuYWJsZVJvbGxpbmcpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGZpbGVDb3VudCA9IGFyY2hpdmVkRmlsZW5hbWVzLmxlbmd0aCArIDFcbiAgICBpZiAoY29uZmlnLm1heEZpbGVzIDwgMSB8fCBmaWxlQ291bnQgPCBjb25maWcubWF4RmlsZXMpIHtcbiAgICAgIGFyY2hpdmVkRmlsZW5hbWVzLnB1c2goXG4gICAgICAgIGZpbGVuYW1lICsgXCIuXCIgKyBwYWRTdGFydChmaWxlQ291bnQudG9TdHJpbmcoMTApLCA0LCBcIjBcIilcbiAgICAgIClcbiAgICB9XG4gICAgRnMuZmRhdGFzeW5jU3luYyhmaWxlKVxuICAgIEZzLmNsb3NlU3luYyhmaWxlKVxuICAgIGZpbGUgPSBzdGF0ZS5maWxlID0gdW5kZWZpbmVkXG4gICAgY29uc3QgZmlsZW5hbWVzID0gW2ZpbGVuYW1lLCAuLi5hcmNoaXZlZEZpbGVuYW1lc11cblxuICAgIGxldCBkZXN0OiBzdHJpbmcgPSBmaWxlbmFtZXMucG9wKClcbiAgICB3aGlsZSAoZmlsZW5hbWVzLmxlbmd0aCkge1xuICAgICAgbGV0IHNyYyA9IGZpbGVuYW1lcy5wb3AoKVxuICAgICAgaWYgKCFGcy5leGlzdHNTeW5jKHNyYykpIHtcbiAgICAgICAgZGVidWcoYHNyYyBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcgJHtzcmN9YClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlYnVnKGBNb3Zpbmcgc3JjICgke3NyY30pIHRvIGRlc3QgKCR7ZGVzdH0pYClcbiAgICAgICAgaWYgKEZzLmV4aXN0c1N5bmMoZGVzdCkpIHtcbiAgICAgICAgICBGcy51bmxpbmtTeW5jKGRlc3QpXG4gICAgICAgIH1cbiAgICAgICAgRnMucmVuYW1lU3luYyhzcmMsIGRlc3QpXG4gICAgICAgIC8vIGlmIChzcmMgPT09IGZpbGVuYW1lKSB7XG4gICAgICAgIC8vICAgRnMuY29weUZpbGVTeW5jKHNyYywgZGVzdClcbiAgICAgICAgLy8gICBGcy50cnVuY2F0ZVN5bmMoc3JjLCAwKVxuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgIEZzLnJlbmFtZVN5bmMoc3JjLCBkZXN0KVxuICAgICAgICAvLyB9XG4gICAgICB9XG4gICAgICBkZXN0ID0gc3JjXG4gICAgfVxuXG4gICAgYXNzaWduKHN0YXRlLCB7XG4gICAgICBjdXJyZW50U2l6ZTogMCxcbiAgICAgIGZpbGU6IEZzLm9wZW5TeW5jKGZpbGVuYW1lLCBcImFcIilcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSBoYW5kbGVyXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgY2xvc2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmx1c2goKVxuICAgICAgLm9uQ29tcGxldGUoKCkgPT4gT3B0aW9uLm9mKHRoaXMuc3RhdGUuZmlsZSkubWFwKEZzLmNsb3NlU3luYykpXG4gICAgICAudG9Qcm9taXNlKClcbiAgfVxuXG4gIGdldCBxdWV1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5xdWV1ZVxuICB9XG5cbiAgZ2V0IGZpbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZmlsZVxuICB9XG5cbiAgZ2V0IGZsdXNoaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmZsdXNoaW5nXG4gIH1cblxuICBnZXQgZmlsZW5hbWUoKSB7XG4gICAgcmV0dXJuICh0aGlzLnN0YXRlLmZpbGVuYW1lID0gdGhpcy5zdGF0ZS5maWxlbmFtZSA/PyB0aGlzLmNvbmZpZy5maWxlbmFtZSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmRzIHRoZSBsb2cgcXVldWUgcmVjb3JkcyB0byB0aGUgZmlsZVxuICAgKi9cbiAgcHJpdmF0ZSBmbHVzaCgpIHtcbiAgICBjb25zdCB7IHN0YXRlIH0gPSB0aGlzXG4gICAgcmV0dXJuIEZ1dHVyZS5kbyhhc3luYyAoKSA9PiB7XG4gICAgICBzdGF0ZS5mbHVzaGluZyA9IHRydWVcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZmlsZSB9ID0gdGhpc1xuICAgICAgICBpZiAoIWZpbGUpIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihgJHt0aGlzLmZpbGVuYW1lfSB3YXMgbm90IG9wZW5lZCBwcm9wZXJseWApXG4gICAgICAgIH1cbiAgICAgICAgd2hpbGUgKHRoaXMucXVldWUubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgYnVmOiBCdWZmZXIgPSB0aGlzLnF1ZXVlLnNoaWZ0KClcblxuICAgICAgICAgIGF3YWl0IEJsdWViaXJkLmZyb21DYWxsYmFjayhjYiA9PlxuICAgICAgICAgICAgRnMuYXBwZW5kRmlsZShmaWxlLCBidWYsIFwidXRmLThcIiwgY2IpXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgc3RhdGUuY3VycmVudFNpemUgKz0gYnVmLmJ5dGVMZW5ndGhcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgbWF4U2l6ZSB9ID0gdGhpcy5jb25maWdcbiAgICAgICAgaWYgKG1heFNpemUgPiAwICYmIHN0YXRlLmN1cnJlbnRTaXplID49IG1heFNpemUpIHtcbiAgICAgICAgICB0aGlzLnJvbGxGaWxlKClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vYXdhaXQgQmx1ZWJpcmQuZnJvbUNhbGxiYWNrKChjYikgPT4gRnMuZmRhdGFzeW5jKHRoaXMuZmlsZSwgY2IpKVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBhcHBlbmQgZmlsZSAke3RoaXMuZmlsZW5hbWV9YCwgZXJyKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgdGhpcy5zdGF0ZS5mbHVzaGluZyA9IGZhbHNlXG4gICAgICAgIGlmICh0aGlzLnF1ZXVlLmxlbmd0aCkge1xuICAgICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMuZmx1c2goKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGxvZyByZWNvcmRzLCB0cmFuc2Zvcm0sIHB1c2ggdG8gRVNcbiAgICpcbiAgICogQHBhcmFtIHJlY29yZFxuICAgKi9cbiAgYXBwZW5kKHJlY29yZDogUmVjb3JkKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgcXVldWUsIGZpbGVuYW1lIH0gPSB0aGlzLnN0YXRlXG4gICAgICBjb25zdCBjb3VudCA9IHF1ZXVlLmxlbmd0aFxuICAgICAgaWYgKGNvdW50ID4gOTk5KSB7XG4gICAgICAgIGRlYnVnKFxuICAgICAgICAgIGBUb28gbWFueSBsb2cgcmVjb3JkcyAoJHtjb3VudH0pIGFyZSBpbiB0aGUgcXVldWUgd2l0aG91dCB0aGUgZmlsZSAoJHtmaWxlbmFtZX0pIG9wZW5pbmcsIHNraXBwaW5nICVPYCxcbiAgICAgICAgICByZWNvcmRcbiAgICAgICAgKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuY29uZmlnLnByZXR0eVByaW50XG4gICAgICAgID8gSlNPTi5zdHJpbmdpZnkocmVjb3JkLCBudWxsLCAyKVxuICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHJlY29yZClcbiAgICAgIHF1ZXVlLnB1c2goQnVmZmVyLmZyb20oZGF0YSArIFwiXFxuXCIsIFwidXRmLThcIikpXG4gICAgICB0aGlzLmZsdXNoKClcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIHN5bmNocm9uaXplIGAsIGVycilcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtQYXJ0aWFsPEZpbGVBcHBlbmRlck9wdGlvbnM8UmVjb3JkPj59IG9wdGlvbnNcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFBhcnRpYWw8RmlsZUFwcGVuZGVyT3B0aW9uczxSZWNvcmQ+PiA9IHt9KSB7XG4gICAgdGhpcy5jb25maWcgPSBhcHBseUNvbmZpZ0RlZmF1bHRzKG9wdGlvbnMpXG5cbiAgICBhc3NpZ24odGhpcy5zdGF0ZSwge1xuICAgICAgZmlsZW5hbWU6IHRoaXMuY29uZmlnLmZpbGVuYW1lXG4gICAgfSlcblxuICAgIHRoaXMuc2V0dXAoKVxuICAgIGRlYnVnKGBGaWxlIGFwcGVuZGVyIGlzIHJlYWR5LCBsb2dnaW5nIHRvICR7dGhpcy5zdGF0ZS5maWxlbmFtZX1gKVxuICAgIC8vICAgICAgcmV0dXJuIHRoaXNcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ /** Node-only appender exports. Consumed via the `@wireio/shared/node` subpath. */
2
+ export * from "./FileAppender.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/node/logging/appenders/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,cAAc,mBAAmB,CAAA"}