standard-log 11.5.1 → 11.5.2

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 (89) hide show
  1. package/cjs/console.d.ts +3 -3
  2. package/cjs/console.d.ts.map +1 -1
  3. package/cjs/console.js +17 -8
  4. package/cjs/console.js.map +1 -1
  5. package/cjs/errors.d.ts.map +1 -1
  6. package/cjs/errors.js.map +1 -1
  7. package/cjs/formatter.d.ts +1 -1
  8. package/cjs/formatter.d.ts.map +1 -1
  9. package/cjs/formatter.js.map +1 -1
  10. package/cjs/index.d.ts.map +1 -1
  11. package/cjs/index.js.map +1 -1
  12. package/cjs/logLevels.d.ts.map +1 -1
  13. package/cjs/logLevels.js.map +1 -1
  14. package/cjs/logStore.d.ts.map +1 -1
  15. package/cjs/logStore.js.map +1 -1
  16. package/cjs/logger.d.ts.map +1 -1
  17. package/cjs/logger.js +15 -13
  18. package/cjs/logger.js.map +1 -1
  19. package/cjs/memory.d.ts +2 -2
  20. package/cjs/memory.d.ts.map +1 -1
  21. package/cjs/memory.js +15 -8
  22. package/cjs/memory.js.map +1 -1
  23. package/cjs/platform.d.ts.map +1 -1
  24. package/cjs/platform.js +1 -2
  25. package/cjs/platform.js.map +1 -1
  26. package/cjs/standardLog.ctx.d.ts.map +1 -1
  27. package/cjs/standardLog.ctx.js.map +1 -1
  28. package/cjs/standardLog.d.ts +2 -2
  29. package/cjs/standardLog.d.ts.map +1 -1
  30. package/cjs/standardLog.js +19 -14
  31. package/cjs/standardLog.js.map +1 -1
  32. package/cjs/types.d.ts +12 -12
  33. package/cjs/types.d.ts.map +1 -1
  34. package/cjs/types.js.map +1 -1
  35. package/dist/standard-log.es5.js +1090 -700
  36. package/dist/standard-log.es5.js.gz +0 -0
  37. package/dist/standard-log.es5.js.map +1 -1
  38. package/dist/standard-log.es5.js.map.gz +0 -0
  39. package/dist/standard-log.esm.js +167 -113
  40. package/dist/standard-log.esm.js.gz +0 -0
  41. package/dist/standard-log.esm.js.map +1 -1
  42. package/dist/standard-log.esm.js.map.gz +0 -0
  43. package/esm/console.d.ts +3 -3
  44. package/esm/console.d.ts.map +1 -1
  45. package/esm/console.js +20 -9
  46. package/esm/console.js.map +1 -1
  47. package/esm/errors.d.ts.map +1 -1
  48. package/esm/errors.js.map +1 -1
  49. package/esm/formatter.d.ts +1 -1
  50. package/esm/formatter.d.ts.map +1 -1
  51. package/esm/formatter.js.map +1 -1
  52. package/esm/index.d.ts.map +1 -1
  53. package/esm/index.js.map +1 -1
  54. package/esm/logLevels.d.ts.map +1 -1
  55. package/esm/logLevels.js.map +1 -1
  56. package/esm/logStore.d.ts.map +1 -1
  57. package/esm/logStore.js.map +1 -1
  58. package/esm/logger.d.ts.map +1 -1
  59. package/esm/logger.js +1 -1
  60. package/esm/logger.js.map +1 -1
  61. package/esm/memory.d.ts +2 -2
  62. package/esm/memory.d.ts.map +1 -1
  63. package/esm/memory.js +15 -8
  64. package/esm/memory.js.map +1 -1
  65. package/esm/platform.d.ts.map +1 -1
  66. package/esm/platform.js +1 -2
  67. package/esm/platform.js.map +1 -1
  68. package/esm/standardLog.ctx.d.ts.map +1 -1
  69. package/esm/standardLog.ctx.js.map +1 -1
  70. package/esm/standardLog.d.ts +2 -2
  71. package/esm/standardLog.d.ts.map +1 -1
  72. package/esm/standardLog.js +23 -18
  73. package/esm/standardLog.js.map +1 -1
  74. package/esm/types.d.ts +12 -12
  75. package/esm/types.d.ts.map +1 -1
  76. package/esm/types.js.map +1 -1
  77. package/package.json +14 -8
  78. package/ts/console.ts +54 -45
  79. package/ts/errors.ts +6 -6
  80. package/ts/formatter.ts +18 -18
  81. package/ts/index.ts +21 -6
  82. package/ts/logLevels.ts +90 -91
  83. package/ts/logStore.ts +46 -37
  84. package/ts/logger.ts +67 -57
  85. package/ts/memory.ts +66 -54
  86. package/ts/platform.ts +2 -2
  87. package/ts/standardLog.ctx.ts +2 -2
  88. package/ts/standardLog.ts +113 -94
  89. package/ts/types.ts +72 -62
Binary file
@@ -197,11 +197,16 @@ __webpack_require__.r(__webpack_exports__);
197
197
  function toConsoleMethod(level) {
198
198
  switch (true) {
199
199
  // edge case in case none is somehow written
200
- case (level <= 0): return 'debug';
201
- case (level <= _logLevels_js__WEBPACK_IMPORTED_MODULE_0__.logLevels.error): return 'error';
202
- case (level <= _logLevels_js__WEBPACK_IMPORTED_MODULE_0__.logLevels.warn): return 'warn';
203
- case (level <= _logLevels_js__WEBPACK_IMPORTED_MODULE_0__.logLevels.info): return 'info';
204
- default: return 'debug';
200
+ case level <= 0:
201
+ return 'debug';
202
+ case level <= _logLevels_js__WEBPACK_IMPORTED_MODULE_0__.logLevels.error:
203
+ return 'error';
204
+ case level <= _logLevels_js__WEBPACK_IMPORTED_MODULE_0__.logLevels.warn:
205
+ return 'warn';
206
+ case level <= _logLevels_js__WEBPACK_IMPORTED_MODULE_0__.logLevels.info:
207
+ return 'info';
208
+ default:
209
+ return 'debug';
205
210
  }
206
211
  }
207
212
  // istanbul ignore next
@@ -224,13 +229,15 @@ function buildPolyfillConsole() {
224
229
  debug: buildFn(typeof console.debug === 'function' ? 'debug' : 'log'),
225
230
  info: buildFn(typeof console.info === 'function' ? 'info' : 'log'),
226
231
  warn: buildFn(typeof console.warn === 'function' ? 'warn' : 'log'),
227
- error: buildFn(typeof console.error === 'function' ? 'error' : 'log'),
232
+ error: buildFn(typeof console.error === 'function' ? 'error' : 'log')
228
233
  };
229
234
  }
230
235
  }
231
236
  // istanbul ignore next
232
237
  function buildFn(name) {
233
- return function (...args) { console[name](...args); };
238
+ return function (...args) {
239
+ console[name](...args);
240
+ };
234
241
  }
235
242
  function createConsoleLogReporter(options) {
236
243
  const { id, formatter, filter } = (0,type_plus__WEBPACK_IMPORTED_MODULE_1__.unpartial)({ id: 'console', formatter: _formatter_js__WEBPACK_IMPORTED_MODULE_2__.consoleFormatter }, options);
@@ -239,8 +246,12 @@ function createConsoleLogReporter(options) {
239
246
  return Object.freeze({
240
247
  id,
241
248
  isConsoleReporter: true,
242
- get formatter() { return formatter; },
243
- get filter() { return filter; },
249
+ get formatter() {
250
+ return formatter;
251
+ },
252
+ get filter() {
253
+ return filter;
254
+ },
244
255
  console: _platform_js__WEBPACK_IMPORTED_MODULE_3__.polyfill.console,
245
256
  write(entry) {
246
257
  if (filter && !filter(entry))
@@ -267,7 +278,7 @@ __webpack_require__.r(__webpack_exports__);
267
278
  /* harmony export */ "InvalidId": function() { return /* binding */ InvalidId; },
268
279
  /* harmony export */ "StandardLogError": function() { return /* binding */ StandardLogError; }
269
280
  /* harmony export */ });
270
- /* harmony import */ var iso_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! iso-error */ "../../node_modules/.pnpm/iso-error@5.0.0/node_modules/iso-error/esm/index.js");
281
+ /* harmony import */ var iso_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! iso-error */ "../../node_modules/.pnpm/iso-error@6.0.1/node_modules/iso-error/esm/index.js");
271
282
 
272
283
  /**
273
284
  * @deprecated No longer used since 11.2.0
@@ -498,9 +509,9 @@ __webpack_require__.r(__webpack_exports__);
498
509
  /* harmony export */ "createLogStore": function() { return /* binding */ createLogStore; },
499
510
  /* harmony export */ "logLevelStore": function() { return /* binding */ logLevelStore; }
500
511
  /* harmony export */ });
501
- /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/record.js");
502
- /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/reduceKey.js");
503
- /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/mapKey.js");
512
+ /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/record.js");
513
+ /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/reduceKey.js");
514
+ /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/mapKey.js");
504
515
  /* harmony import */ var _console_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./console.js */ "./ts/console.ts");
505
516
  /* harmony import */ var _logLevels_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logLevels.js */ "./ts/logLevels.ts");
506
517
 
@@ -581,7 +592,7 @@ function createLogger(store, id, options) {
581
592
  id: { value: id, writable: false },
582
593
  count: {
583
594
  writable: false,
584
- value: ((counter) => (...args) => {
595
+ value: (counter => (...args) => {
585
596
  if (shouldLog(store, _logLevels_js__WEBPACK_IMPORTED_MODULE_0__.logLevels.debug, logger.level))
586
597
  write({
587
598
  id,
@@ -657,13 +668,14 @@ __webpack_require__.r(__webpack_exports__);
657
668
 
658
669
 
659
670
  function toMessageWithLevel(logs) {
660
- return logs.map(_platform_js__WEBPACK_IMPORTED_MODULE_0__.toInspectLogEntry)
671
+ return (logs
672
+ .map(_platform_js__WEBPACK_IMPORTED_MODULE_0__.toInspectLogEntry)
661
673
  .map(log => `${(0,_formatter_js__WEBPACK_IMPORTED_MODULE_1__.formatLogLevel)(log.level)} ${log.args.join(' ')}`)
662
674
  .join('\n')
663
675
  // if it has more than this log,
664
676
  // we assume it is running under tests,
665
677
  // and remove this log to simplify testing.
666
- .replace(/^\(WARN\) already configured for test, ignoring config\(\) call\n/, '');
678
+ .replace(/^\(WARN\) already configured for test, ignoring config\(\) call\n/, ''));
667
679
  }
668
680
  function createMemoryLogReporter(options) {
669
681
  return Object.freeze(buildMemoryReporter((0,type_plus__WEBPACK_IMPORTED_MODULE_2__.unpartial)({ id: 'memory' }, options)));
@@ -673,8 +685,12 @@ function buildMemoryReporter(options) {
673
685
  const logs = [];
674
686
  return {
675
687
  id,
676
- get formatter() { return formatter; },
677
- get filter() { return filter; },
688
+ get formatter() {
689
+ return formatter;
690
+ },
691
+ get filter() {
692
+ return filter;
693
+ },
678
694
  logs,
679
695
  write(entry) {
680
696
  if (filter && !filter(entry))
@@ -685,14 +701,16 @@ function buildMemoryReporter(options) {
685
701
  return this.getLogMessages().join('\n');
686
702
  },
687
703
  getLogMessages() {
688
- return logs.map(_platform_js__WEBPACK_IMPORTED_MODULE_0__.toInspectLogEntry)
689
- .map(log => log.args.join(' '));
704
+ return logs.map(_platform_js__WEBPACK_IMPORTED_MODULE_0__.toInspectLogEntry).map(log => log.args.join(' '));
690
705
  },
691
706
  getLogMessagesWithIdAndLevel() {
692
- return logs.map(_platform_js__WEBPACK_IMPORTED_MODULE_0__.toInspectLogEntry)
707
+ return logs
708
+ .map(_platform_js__WEBPACK_IMPORTED_MODULE_0__.toInspectLogEntry)
693
709
  .map(log => `${log.id} ${(0,_formatter_js__WEBPACK_IMPORTED_MODULE_1__.formatLogLevel)(log.level)} ${log.args.join(' ')}`);
694
710
  },
695
- getLogMessageWithLevel() { return toMessageWithLevel(logs); },
711
+ getLogMessageWithLevel() {
712
+ return toMessageWithLevel(logs);
713
+ },
696
714
  /**
697
715
  * emit the saved log to console for easy debugging
698
716
  */
@@ -723,7 +741,7 @@ __webpack_require__.r(__webpack_exports__);
723
741
  /* harmony export */ "polyfill": function() { return /* binding */ polyfill; },
724
742
  /* harmony export */ "toInspectLogEntry": function() { return /* binding */ toInspectLogEntry; }
725
743
  /* harmony export */ });
726
- /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/record.js");
744
+ /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/record.js");
727
745
 
728
746
  const toInspectLogEntry = (e) => e;
729
747
  const polyfill = (0,type_plus__WEBPACK_IMPORTED_MODULE_0__.record)();
@@ -742,7 +760,7 @@ __webpack_require__.r(__webpack_exports__);
742
760
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
743
761
  /* harmony export */ "ctx": function() { return /* binding */ ctx; }
744
762
  /* harmony export */ });
745
- /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/record.js");
763
+ /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/record.js");
746
764
 
747
765
  const ctx = (0,type_plus__WEBPACK_IMPORTED_MODULE_0__.record)();
748
766
 
@@ -766,7 +784,7 @@ __webpack_require__.r(__webpack_exports__);
766
784
  /* harmony export */ "suppressLogs": function() { return /* binding */ suppressLogs; }
767
785
  /* harmony export */ });
768
786
  /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/unpartial@1.0.4/node_modules/unpartial/esm/index.js");
769
- /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/record.js");
787
+ /* harmony import */ var type_plus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! type-plus */ "../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/record.js");
770
788
  /* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logger.js */ "./ts/logger.ts");
771
789
  /* harmony import */ var _logLevels_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logLevels.js */ "./ts/logLevels.ts");
772
790
  /* harmony import */ var _logStore_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logStore.js */ "./ts/logStore.ts");
@@ -795,12 +813,17 @@ function createStandardLogClosure(options) {
795
813
  // TODO reporter.id must not be empty
796
814
  const store = (0,_logStore_js__WEBPACK_IMPORTED_MODULE_1__.createLogStore)((0,type_plus__WEBPACK_IMPORTED_MODULE_2__.required)({ logLevel: _logLevels_js__WEBPACK_IMPORTED_MODULE_3__.logLevels.info }, options));
797
815
  const nonConsoleReporters = (_b = (_a = options === null || options === void 0 ? void 0 : options.reporters) === null || _a === void 0 ? void 0 : _a.filter(r => !r.isConsoleReporter).map(r => r.id)) !== null && _b !== void 0 ? _b : [];
798
- const logMethods = _logLevels_js__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_LOG_METHOD_NAMES.concat(Object.keys((_c = options === null || options === void 0 ? void 0 : options.customLevels) !== null && _c !== void 0 ? _c : {}))
799
- .concat(['on', 'count', 'write']);
816
+ const logMethods = _logLevels_js__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_LOG_METHOD_NAMES.concat(Object.keys((_c = options === null || options === void 0 ? void 0 : options.customLevels) !== null && _c !== void 0 ? _c : {})).concat([
817
+ 'on',
818
+ 'count',
819
+ 'write'
820
+ ]);
800
821
  return {
801
822
  store,
802
823
  standardLog: {
803
- get logLevel() { return store.logLevel; },
824
+ get logLevel() {
825
+ return store.logLevel;
826
+ },
804
827
  toLogLevelName(level) {
805
828
  return store.logLevelStore.getName(level);
806
829
  },
@@ -810,7 +833,7 @@ function createStandardLogClosure(options) {
810
833
  getLogger(id, options) {
811
834
  if (store.loggers[id])
812
835
  return store.loggers[id];
813
- return store.loggers[id] = (0,_logger_js__WEBPACK_IMPORTED_MODULE_4__.createLogger)(store, id, { ssf: this.getLogger, ...options });
836
+ return (store.loggers[id] = (0,_logger_js__WEBPACK_IMPORTED_MODULE_4__.createLogger)(store, id, { ssf: this.getLogger, ...options }));
814
837
  },
815
838
  getNonConsoleLogger(id, options) {
816
839
  if (store.nonConsoleLoggers[id])
@@ -818,18 +841,19 @@ function createStandardLogClosure(options) {
818
841
  if (store.loggers[id]) {
819
842
  const log = this.getLogger('standard-log');
820
843
  log.warn(`attempt to create a non-console logger with existing id ('${id}'), ignoring`);
821
- return store.nonConsoleLoggers[id] = createDummyLogger(logMethods);
844
+ return (store.nonConsoleLoggers[id] = createDummyLogger(logMethods));
822
845
  }
823
- return store.nonConsoleLoggers[id] = nonConsoleReporters.length === 0
824
- ? createDummyLogger(logMethods)
825
- : (0,_logger_js__WEBPACK_IMPORTED_MODULE_4__.createLogger)(store, id, {
826
- ssf: this.getNonConsoleLogger,
827
- ...options,
828
- writeTo(reporterId) {
829
- return nonConsoleReporters.indexOf(reporterId) >= 0;
830
- }
831
- });
832
- },
846
+ return (store.nonConsoleLoggers[id] =
847
+ nonConsoleReporters.length === 0
848
+ ? createDummyLogger(logMethods)
849
+ : (0,_logger_js__WEBPACK_IMPORTED_MODULE_4__.createLogger)(store, id, {
850
+ ssf: this.getNonConsoleLogger,
851
+ ...options,
852
+ writeTo(reporterId) {
853
+ return nonConsoleReporters.indexOf(reporterId) >= 0;
854
+ }
855
+ }));
856
+ }
833
857
  }
834
858
  };
835
859
  }
@@ -846,9 +870,9 @@ function createStandardLogForTest(logLevel = _logLevels_js__WEBPACK_IMPORTED_MOD
846
870
  }
847
871
  function suppressLogs(block, ...logs) {
848
872
  const origLevels = logs.map(l => l.level);
849
- logs.forEach(l => l.level = _logLevels_js__WEBPACK_IMPORTED_MODULE_3__.logLevels.none);
873
+ logs.forEach(l => (l.level = _logLevels_js__WEBPACK_IMPORTED_MODULE_3__.logLevels.none));
850
874
  const result = block();
851
- logs.forEach((l, i) => l.level = origLevels[i]);
875
+ logs.forEach((l, i) => (l.level = origLevels[i]));
852
876
  return result;
853
877
  }
854
878
  function getLogger(id, options) {
@@ -942,9 +966,9 @@ exports.upperCase = upperCase;
942
966
 
943
967
  /***/ }),
944
968
 
945
- /***/ "../../node_modules/.pnpm/iso-error@5.0.0/node_modules/iso-error/esm/index.js":
969
+ /***/ "../../node_modules/.pnpm/iso-error@6.0.1/node_modules/iso-error/esm/index.js":
946
970
  /*!************************************************************************************!*\
947
- !*** ../../node_modules/.pnpm/iso-error@5.0.0/node_modules/iso-error/esm/index.js ***!
971
+ !*** ../../node_modules/.pnpm/iso-error@6.0.1/node_modules/iso-error/esm/index.js ***!
948
972
  \************************************************************************************/
949
973
  /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
950
974
 
@@ -956,13 +980,12 @@ __webpack_require__.r(__webpack_exports__);
956
980
  /* harmony export */ "SerializableConverter": function() { return /* binding */ SerializableConverter; },
957
981
  /* harmony export */ "isAggregateError": function() { return /* binding */ isAggregateError; }
958
982
  /* harmony export */ });
959
- /* eslint-disable @typescript-eslint/unbound-method */
960
983
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
961
984
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
962
985
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
963
986
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
964
987
  };
965
- var _SerializableConverter_instances, _SerializableConverter_plugins, _SerializableConverter_fromSerializable, _SerializableConverter_deserializeError, _SerializableConverter_toSerializable, _a, _IsoError_hasCause, _IsoError_toIsoError;
988
+ var _a, _IsoError_hasCause, _IsoError_toIsoError;
966
989
  //#region captureStackTrace polyfill
967
990
  // istanbul ignore next
968
991
  if (!Error.captureStackTrace) {
@@ -975,7 +998,9 @@ if (!Error.captureStackTrace) {
975
998
  defineStack(this, container.stack);
976
999
  return container.stack;
977
1000
  },
978
- set: function (stack) { defineStack(error, stack); },
1001
+ set: function (stack) {
1002
+ defineStack(error, stack);
1003
+ }
979
1004
  });
980
1005
  };
981
1006
  }
@@ -984,76 +1009,96 @@ function defineStack(target, value) {
984
1009
  Object.defineProperty(target, 'stack', {
985
1010
  configurable: true,
986
1011
  value,
987
- writable: true,
1012
+ writable: true
988
1013
  });
989
1014
  }
990
1015
  class SerializableConverter {
991
1016
  constructor() {
992
- _SerializableConverter_instances.add(this);
993
- _SerializableConverter_plugins.set(this, []);
1017
+ Object.defineProperty(this, "plugins", {
1018
+ enumerable: true,
1019
+ configurable: true,
1020
+ writable: true,
1021
+ value: []
1022
+ });
994
1023
  }
995
1024
  addPlugin(plugin) {
996
- __classPrivateFieldGet(this, _SerializableConverter_plugins, "f").unshift(plugin);
1025
+ this.plugins.unshift(plugin);
997
1026
  }
998
1027
  /**
999
1028
  * Deserialize an `Error` from `Serializable`
1000
1029
  */
1001
1030
  fromSerializable(json, options) {
1002
- const err = __classPrivateFieldGet(this, _SerializableConverter_instances, "m", _SerializableConverter_deserializeError).call(this, json);
1031
+ const err = this.deserializeError(json);
1003
1032
  Error.captureStackTrace(err, options?.ssf);
1004
1033
  return err;
1005
1034
  }
1035
+ fromSerializableImpl(json) {
1036
+ if (json.name === 'AggregateError') {
1037
+ const { message, errors, ...rest } = json;
1038
+ // @ts-ignore
1039
+ // istanbul ignore next
1040
+ if (global.AggregateError) {
1041
+ return Object.assign(new AggregateError(errors, message), rest);
1042
+ }
1043
+ else {
1044
+ return Object.assign(new Error(message), {
1045
+ ...rest,
1046
+ errors
1047
+ });
1048
+ }
1049
+ }
1050
+ const { message, cause, ...rest } = json;
1051
+ const causeError = cause ? this.deserializeError(cause) : undefined;
1052
+ if (json.name === 'Error') {
1053
+ return Object.assign(new Error(message), causeError ? { ...rest, cause: causeError } : rest);
1054
+ }
1055
+ // @ts-ignore
1056
+ return Object.assign(new IsoError(message, causeError ? { cause: causeError } : undefined), rest);
1057
+ }
1058
+ deserializeError(json) {
1059
+ let err = undefined;
1060
+ for (const { fromSerializable } of this.plugins) {
1061
+ err = fromSerializable(json);
1062
+ if (err)
1063
+ break;
1064
+ }
1065
+ return err || this.fromSerializableImpl(json);
1066
+ }
1006
1067
  /**
1007
1068
  * Serialize `Error` to `Serializable`
1008
1069
  */
1009
1070
  toSerializable(err) {
1010
- return __classPrivateFieldGet(this, _SerializableConverter_plugins, "f").reduce((p, s) => p || s.toSerializable(err), undefined) || __classPrivateFieldGet(this, _SerializableConverter_instances, "m", _SerializableConverter_toSerializable).call(this, err);
1071
+ return (this.plugins.reduce((p, s) => p || s.toSerializable(err), undefined) || this.toSerializableImpl(err));
1011
1072
  }
1012
- }
1013
- _SerializableConverter_plugins = new WeakMap(), _SerializableConverter_instances = new WeakSet(), _SerializableConverter_fromSerializable = function _SerializableConverter_fromSerializable(json) {
1014
- if (json.name === 'AggregateError') {
1015
- const { message, errors, ...rest } = json;
1016
- // @ts-ignore
1017
- // istanbul ignore next
1018
- if (global.AggregateError) {
1019
- return Object.assign(new AggregateError(errors, message), rest);
1073
+ toSerializableImpl(err) {
1074
+ if (isAggregateError(err)) {
1075
+ return {
1076
+ ...err,
1077
+ name: err.constructor.name,
1078
+ message: err.message,
1079
+ errors: err.errors.map(this.toSerializableImpl)
1080
+ };
1020
1081
  }
1021
- else {
1022
- return Object.assign(new Error(message), {
1023
- ...rest,
1024
- errors
1025
- });
1082
+ if (err instanceof Error) {
1083
+ const { message, cause } = err;
1084
+ return cause
1085
+ ? { ...err, name: err.constructor.name, message, cause: this.toSerializableImpl(cause) }
1086
+ : { ...err, name: err.constructor.name, message };
1026
1087
  }
1088
+ return err;
1027
1089
  }
1028
- const { message, cause, ...rest } = json;
1029
- const causeError = cause ? __classPrivateFieldGet(this, _SerializableConverter_instances, "m", _SerializableConverter_deserializeError).call(this, cause) : undefined;
1030
- if (json.name === 'Error') {
1031
- return Object.assign(new Error(message), causeError ? { ...rest, cause: causeError } : rest);
1032
- }
1033
- // @ts-ignore
1034
- return Object.assign(new IsoError(message, causeError ? { cause: causeError } : undefined), rest);
1035
- }, _SerializableConverter_deserializeError = function _SerializableConverter_deserializeError(json) {
1036
- let err = undefined;
1037
- for (const { fromSerializable } of __classPrivateFieldGet(this, _SerializableConverter_plugins, "f")) {
1038
- err = fromSerializable(json);
1039
- if (err)
1040
- break;
1041
- }
1042
- return err || __classPrivateFieldGet(this, _SerializableConverter_instances, "m", _SerializableConverter_fromSerializable).call(this, json);
1043
- }, _SerializableConverter_toSerializable = function _SerializableConverter_toSerializable(err) {
1044
- if (isAggregateError(err)) {
1045
- return {
1046
- ...err, name: err.constructor.name, message: err.message,
1047
- errors: err.errors.map(__classPrivateFieldGet(this, _SerializableConverter_instances, "m", _SerializableConverter_toSerializable))
1048
- };
1049
- }
1050
- if (err instanceof Error) {
1051
- const { message, cause } = err;
1052
- return cause
1053
- ? { ...err, name: err.constructor.name, message, cause: __classPrivateFieldGet(this, _SerializableConverter_instances, "m", _SerializableConverter_toSerializable).call(this, cause) }
1054
- : { ...err, name: err.constructor.name, message };
1055
- }
1056
- return err;
1090
+ }
1091
+ const getCircularReplacer = () => {
1092
+ const seen = new WeakSet();
1093
+ return (_, value) => {
1094
+ if (typeof value === 'object' && value !== null) {
1095
+ if (seen.has(value)) {
1096
+ return;
1097
+ }
1098
+ seen.add(value);
1099
+ }
1100
+ return value;
1101
+ };
1057
1102
  };
1058
1103
  /**
1059
1104
  * Isomorphic Error that works across physical boundary.
@@ -1072,7 +1117,7 @@ class IsoError extends Error {
1072
1117
  return this.serialize(err);
1073
1118
  }
1074
1119
  static serialize(err) {
1075
- return JSON.stringify(this.toSerializable(err));
1120
+ return JSON.stringify(this.toSerializable(err), getCircularReplacer());
1076
1121
  }
1077
1122
  static toSerializable(err) {
1078
1123
  return this.converter.toSerializable(err);
@@ -1108,11 +1153,15 @@ class IsoError extends Error {
1108
1153
  messages.push(`${err.name}: ${err.message}`);
1109
1154
  }
1110
1155
  if (isAggregateError(err)) {
1111
- err.errors.forEach(e => messages.push(...this.trace(e).split('\n').map(s => ' ' + s)));
1156
+ err.errors.forEach(e => messages.push(...this.trace(e)
1157
+ .split('\n')
1158
+ .map(s => ' ' + s)));
1112
1159
  }
1113
1160
  if (err instanceof Error) {
1114
1161
  if (__classPrivateFieldGet(this, _a, "m", _IsoError_hasCause).call(this, err))
1115
- messages.push(...this.trace(err.cause).split('\n').map(s => ' ' + s));
1162
+ messages.push(...this.trace(err.cause)
1163
+ .split('\n')
1164
+ .map(s => ' ' + s));
1116
1165
  }
1117
1166
  else {
1118
1167
  messages.push(typeof err === 'string' ? err : JSON.stringify(err));
@@ -1156,18 +1205,20 @@ class IsoError extends Error {
1156
1205
  if (options?.ssf)
1157
1206
  Error.captureStackTrace(this, options.ssf);
1158
1207
  }
1159
- toString() { return IsoError.serialize(this); }
1160
- trace() { return IsoError.trace(this); }
1208
+ toString() {
1209
+ return IsoError.serialize(this);
1210
+ }
1211
+ trace() {
1212
+ return IsoError.trace(this);
1213
+ }
1161
1214
  }
1162
1215
  _a = IsoError, _IsoError_hasCause = function _IsoError_hasCause(x) {
1163
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
1164
1216
  return !!x.cause;
1165
1217
  }, _IsoError_toIsoError = function _IsoError_toIsoError(err) {
1166
- if (err instanceof IsoError)
1167
- return err;
1168
1218
  // When the error is an internal error from deserialization,
1169
- // the err.constructor.name is object
1170
- return Object.assign(err, { name: err.constructor.name !== 'Object' ? err.constructor.name : err.name });
1219
+ // the err.constructor.name is object.
1220
+ // I have to to Object.assign to keep the err instance and its stack trace.
1221
+ return Object.assign(err, { name: err.name ?? err.constructor.name });
1171
1222
  };
1172
1223
  Object.defineProperty(IsoError, "converter", {
1173
1224
  enumerable: true,
@@ -1175,6 +1226,7 @@ Object.defineProperty(IsoError, "converter", {
1175
1226
  writable: true,
1176
1227
  value: new SerializableConverter()
1177
1228
  });
1229
+
1178
1230
  /**
1179
1231
  * An IsoError with a module property.
1180
1232
  */
@@ -1199,9 +1251,9 @@ function isAggregateError(error) {
1199
1251
 
1200
1252
  /***/ }),
1201
1253
 
1202
- /***/ "../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/mapKey.js":
1254
+ /***/ "../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/mapKey.js":
1203
1255
  /*!********************************************************************************************!*\
1204
- !*** ../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/mapKey.js ***!
1256
+ !*** ../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/mapKey.js ***!
1205
1257
  \********************************************************************************************/
1206
1258
  /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1207
1259
 
@@ -1211,15 +1263,17 @@ __webpack_require__.r(__webpack_exports__);
1211
1263
  /* harmony export */ "mapKey": function() { return /* binding */ mapKey; }
1212
1264
  /* harmony export */ });
1213
1265
  function mapKey(subject, predicate, thisArg) {
1214
- return Object.keys(subject).map(predicate, thisArg);
1266
+ return Object.keys(subject).map(function (k, i, a) {
1267
+ return predicate.apply(this, [k, i, a, subject]);
1268
+ }, thisArg);
1215
1269
  }
1216
1270
  //# sourceMappingURL=mapKey.js.map
1217
1271
 
1218
1272
  /***/ }),
1219
1273
 
1220
- /***/ "../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/record.js":
1274
+ /***/ "../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/record.js":
1221
1275
  /*!********************************************************************************************!*\
1222
- !*** ../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/record.js ***!
1276
+ !*** ../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/record.js ***!
1223
1277
  \********************************************************************************************/
1224
1278
  /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1225
1279
 
@@ -1236,9 +1290,9 @@ function record(value) {
1236
1290
 
1237
1291
  /***/ }),
1238
1292
 
1239
- /***/ "../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/reduceKey.js":
1293
+ /***/ "../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/reduceKey.js":
1240
1294
  /*!***********************************************************************************************!*\
1241
- !*** ../../node_modules/.pnpm/type-plus@5.0.0/node_modules/type-plus/esm/object/reduceKey.js ***!
1295
+ !*** ../../node_modules/.pnpm/type-plus@6.5.0/node_modules/type-plus/esm/object/reduceKey.js ***!
1242
1296
  \***********************************************************************************************/
1243
1297
  /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1244
1298
 
@@ -1249,7 +1303,7 @@ __webpack_require__.r(__webpack_exports__);
1249
1303
  /* harmony export */ "reduceKey": function() { return /* binding */ reduceKey; }
1250
1304
  /* harmony export */ });
1251
1305
  function reduceByKey(subject, callbackfn, initialValue) {
1252
- return Object.keys(subject).reduce(callbackfn, initialValue);
1306
+ return Object.keys(subject).reduce((p, k, i, a) => callbackfn(p, k, i, a, subject), initialValue);
1253
1307
  }
1254
1308
  /**
1255
1309
  * @deprecated renamed to reduceByKey
Binary file