@decohere/scribe 0.0.1-dev.89 → 0.0.1-dev.9

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.
@@ -9,32 +9,30 @@ Object.defineProperty(exports, "ConsoleAdapter", {
9
9
  }
10
10
  });
11
11
  const _loggeradapter = require("./logger.adapter.js");
12
- const _redact = require("./redact.js");
13
12
  const _types = require("./types.js");
14
13
  class ConsoleAdapter extends _loggeradapter.LogAdapter {
15
14
  configuredLevels;
16
15
  configuredLogLevel = _types.DefaultLogLevel;
17
16
  configuredLogLevelValue = _types.LogLevels.info;
18
- redactionKeys = _redact.redact.fromOptions();
19
17
  constructor(_options = {}){
20
18
  super();
21
19
  }
22
20
  configure(scribeOptions) {
21
+ // Get merged log levels (default + custom) using parent class method
23
22
  this.configuredLevels = this.getLogLevels(scribeOptions);
24
23
  const logLevelStr = scribeOptions.logLevel ?? _types.DefaultLogLevel;
25
24
  this.configuredLogLevel = logLevelStr;
26
25
  this.configuredLogLevelValue = this.configuredLevels[logLevelStr] ?? _types.LogLevels.info;
27
- this.redactionKeys = _redact.redact.fromOptions(scribeOptions.redactions);
28
26
  }
29
27
  getLogger(name) {
30
28
  const loggerName = name || "default";
31
29
  return this.createConsoleLogger(loggerName);
32
30
  }
33
31
  createConsoleLogger(name) {
32
+ // Use the levels configured during the configure() call
34
33
  const allLevels = this.configuredLevels;
35
34
  const currentLevel = this.configuredLogLevel;
36
35
  const threshold = this.configuredLogLevelValue;
37
- const redactionKeys = this.redactionKeys;
38
36
  const baseLogger = {
39
37
  get currentLevel () {
40
38
  return currentLevel;
@@ -47,22 +45,24 @@ class ConsoleAdapter extends _loggeradapter.LogAdapter {
47
45
  const timestamp = new Date().toISOString();
48
46
  let message;
49
47
  if (typeof msg === "object") {
50
- message = msg instanceof Error ? (0, _loggeradapter.formatError)(msg) : JSON.stringify(_redact.redact.object(msg, redactionKeys));
48
+ message = JSON.stringify(msg);
51
49
  } else {
52
50
  message = String(msg);
53
51
  }
54
52
  const logLine = `[${timestamp}] ${level.toUpperCase()} [${name}]: ${message}`;
55
- const payload = args.map((arg)=>_redact.redact.object(arg, redactionKeys));
56
- if (payload.length > 0) {
57
- console.log(logLine, ...payload);
53
+ if (args.length > 0) {
54
+ console.log(logLine, ...args);
58
55
  } else {
59
56
  console.log(logLine);
60
57
  }
61
58
  };
62
59
  const noop = ()=>{};
60
+ // Start with base logger and isLevelEnabled method
63
61
  const logger = Object.assign(baseLogger, {
64
62
  isLevelEnabled: (level)=>(allLevels[level] ?? 0) >= threshold
65
63
  });
64
+ // Dynamically add all log level methods (default + custom)
65
+ // Levels below the configured threshold are patched to noop
66
66
  for (const [levelName, levelValue] of Object.entries(allLevels)){
67
67
  // biome-ignore lint/suspicious/noExplicitAny: Dynamic logger level creation requires any
68
68
  logger[levelName] = levelValue >= threshold ? logFunction(levelName) : noop;
@@ -71,4 +71,4 @@ class ConsoleAdapter extends _loggeradapter.LogAdapter {
71
71
  }
72
72
  }
73
73
 
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2NvbnNvbGUuYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXRFcnJvciwgTG9nQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEJhc2VMb2dnZXIsIExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyByZWRhY3QgfSBmcm9tIFwiLi9yZWRhY3QuanNcIjtcbmltcG9ydCB7XG5cdERlZmF1bHRMb2dMZXZlbCxcblx0dHlwZSBMb2dBZGFwdGVyT3B0aW9ucyxcblx0TG9nTGV2ZWxzLFxuXHR0eXBlIFNjcmliZU9wdGlvbnMsXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbnNvbGVBZGFwdGVyT3B0aW9ucyA9IHt9ICYgTG9nQWRhcHRlck9wdGlvbnM7XG5cbmV4cG9ydCBjbGFzcyBDb25zb2xlQWRhcHRlciBleHRlbmRzIExvZ0FkYXB0ZXIge1xuXHRwcml2YXRlIGNvbmZpZ3VyZWRMZXZlbHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG5cdHByaXZhdGUgY29uZmlndXJlZExvZ0xldmVsOiBzdHJpbmcgPSBEZWZhdWx0TG9nTGV2ZWw7XG5cdHByaXZhdGUgY29uZmlndXJlZExvZ0xldmVsVmFsdWU6IG51bWJlciA9IExvZ0xldmVscy5pbmZvO1xuXHRwcml2YXRlIHJlZGFjdGlvbktleXM6IFJlYWRvbmx5U2V0PHN0cmluZz4gPSByZWRhY3QuZnJvbU9wdGlvbnMoKTtcblxuXHRwdWJsaWMgY29uc3RydWN0b3IoX29wdGlvbnM6IENvbnNvbGVBZGFwdGVyT3B0aW9ucyA9IHt9KSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdHB1YmxpYyBjb25maWd1cmU8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdHNjcmliZU9wdGlvbnM6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdHRoaXMuY29uZmlndXJlZExldmVscyA9IHRoaXMuZ2V0TG9nTGV2ZWxzKHNjcmliZU9wdGlvbnMpO1xuXHRcdGNvbnN0IGxvZ0xldmVsU3RyID0gc2NyaWJlT3B0aW9ucy5sb2dMZXZlbCA/PyBEZWZhdWx0TG9nTGV2ZWw7XG5cdFx0dGhpcy5jb25maWd1cmVkTG9nTGV2ZWwgPSBsb2dMZXZlbFN0cjtcblx0XHR0aGlzLmNvbmZpZ3VyZWRMb2dMZXZlbFZhbHVlID0gdGhpcy5jb25maWd1cmVkTGV2ZWxzW2xvZ0xldmVsU3RyXSA/PyBMb2dMZXZlbHMuaW5mbztcblx0XHR0aGlzLnJlZGFjdGlvbktleXMgPSByZWRhY3QuZnJvbU9wdGlvbnMoc2NyaWJlT3B0aW9ucy5yZWRhY3Rpb25zKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgbG9nZ2VyTmFtZSA9IG5hbWUgfHwgXCJkZWZhdWx0XCI7XG5cdFx0cmV0dXJuIHRoaXMuY3JlYXRlQ29uc29sZUxvZ2dlcjxULCBDdXN0b21Pbmx5Pihsb2dnZXJOYW1lKTtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlQ29uc29sZUxvZ2dlcjxcblx0XHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdFx0Q3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlLFxuXHQ+KG5hbWU6IHN0cmluZyk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgYWxsTGV2ZWxzID0gdGhpcy5jb25maWd1cmVkTGV2ZWxzO1xuXHRcdGNvbnN0IGN1cnJlbnRMZXZlbCA9IHRoaXMuY29uZmlndXJlZExvZ0xldmVsO1xuXHRcdGNvbnN0IHRocmVzaG9sZCA9IHRoaXMuY29uZmlndXJlZExvZ0xldmVsVmFsdWU7XG5cdFx0Y29uc3QgcmVkYWN0aW9uS2V5cyA9IHRoaXMucmVkYWN0aW9uS2V5cztcblxuXHRcdGNvbnN0IGJhc2VMb2dnZXI6IEJhc2VMb2dnZXIgPSB7XG5cdFx0XHRnZXQgY3VycmVudExldmVsKCkge1xuXHRcdFx0XHRyZXR1cm4gY3VycmVudExldmVsO1xuXHRcdFx0fSxcblx0XHRcdGdldCBsb2dMZXZlbHMoKSB7XG5cdFx0XHRcdHJldHVybiBhbGxMZXZlbHM7XG5cdFx0XHR9LFxuXHRcdH07XG5cblx0XHRjb25zdCBsb2dGdW5jdGlvbiA9XG5cdFx0XHQobGV2ZWw6IHN0cmluZykgPT5cblx0XHRcdChtc2c6IHN0cmluZyB8IG51bWJlciB8IG9iamVjdCwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcblx0XHRcdFx0bGV0IG1lc3NhZ2U6IHN0cmluZztcblxuXHRcdFx0XHRpZiAodHlwZW9mIG1zZyA9PT0gXCJvYmplY3RcIikge1xuXHRcdFx0XHRcdG1lc3NhZ2UgPVxuXHRcdFx0XHRcdFx0bXNnIGluc3RhbmNlb2YgRXJyb3Jcblx0XHRcdFx0XHRcdFx0PyBmb3JtYXRFcnJvcihtc2cpXG5cdFx0XHRcdFx0XHRcdDogSlNPTi5zdHJpbmdpZnkocmVkYWN0Lm9iamVjdChtc2csIHJlZGFjdGlvbktleXMpKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRtZXNzYWdlID0gU3RyaW5nKG1zZyk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBsb2dMaW5lID0gYFske3RpbWVzdGFtcH1dICR7bGV2ZWwudG9VcHBlckNhc2UoKX0gWyR7bmFtZX1dOiAke21lc3NhZ2V9YDtcblx0XHRcdFx0Y29uc3QgcGF5bG9hZCA9IGFyZ3MubWFwKChhcmcpID0+IHJlZGFjdC5vYmplY3QoYXJnLCByZWRhY3Rpb25LZXlzKSk7XG5cblx0XHRcdFx0aWYgKHBheWxvYWQubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGxvZ0xpbmUsIC4uLnBheWxvYWQpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGxvZ0xpbmUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0Y29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG5cdFx0Y29uc3QgbG9nZ2VyID0gT2JqZWN0LmFzc2lnbihiYXNlTG9nZ2VyLCB7XG5cdFx0XHRpc0xldmVsRW5hYmxlZDogKGxldmVsOiBzdHJpbmcpID0+IChhbGxMZXZlbHNbbGV2ZWxdID8/IDApID49IHRocmVzaG9sZCxcblx0XHR9KTtcblxuXHRcdGZvciAoY29uc3QgW2xldmVsTmFtZSwgbGV2ZWxWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoYWxsTGV2ZWxzKSkge1xuXHRcdFx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0V4cGxpY2l0QW55OiBEeW5hbWljIGxvZ2dlciBsZXZlbCBjcmVhdGlvbiByZXF1aXJlcyBhbnlcblx0XHRcdChsb2dnZXIgYXMgYW55KVtsZXZlbE5hbWVdID0gbGV2ZWxWYWx1ZSA+PSB0aHJlc2hvbGQgPyBsb2dGdW5jdGlvbihsZXZlbE5hbWUpIDogbm9vcDtcblx0XHR9XG5cblx0XHRyZXR1cm4gbG9nZ2VyIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkNvbnNvbGVBZGFwdGVyIiwiTG9nQWRhcHRlciIsImNvbmZpZ3VyZWRMZXZlbHMiLCJjb25maWd1cmVkTG9nTGV2ZWwiLCJEZWZhdWx0TG9nTGV2ZWwiLCJjb25maWd1cmVkTG9nTGV2ZWxWYWx1ZSIsIkxvZ0xldmVscyIsImluZm8iLCJyZWRhY3Rpb25LZXlzIiwicmVkYWN0IiwiZnJvbU9wdGlvbnMiLCJfb3B0aW9ucyIsImNvbmZpZ3VyZSIsInNjcmliZU9wdGlvbnMiLCJnZXRMb2dMZXZlbHMiLCJsb2dMZXZlbFN0ciIsImxvZ0xldmVsIiwicmVkYWN0aW9ucyIsImdldExvZ2dlciIsIm5hbWUiLCJsb2dnZXJOYW1lIiwiY3JlYXRlQ29uc29sZUxvZ2dlciIsImFsbExldmVscyIsImN1cnJlbnRMZXZlbCIsInRocmVzaG9sZCIsImJhc2VMb2dnZXIiLCJsb2dMZXZlbHMiLCJsb2dGdW5jdGlvbiIsImxldmVsIiwibXNnIiwiYXJncyIsInRpbWVzdGFtcCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsIm1lc3NhZ2UiLCJFcnJvciIsImZvcm1hdEVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9iamVjdCIsIlN0cmluZyIsImxvZ0xpbmUiLCJ0b1VwcGVyQ2FzZSIsInBheWxvYWQiLCJtYXAiLCJhcmciLCJsZW5ndGgiLCJjb25zb2xlIiwibG9nIiwibm9vcCIsImxvZ2dlciIsIk9iamVjdCIsImFzc2lnbiIsImlzTGV2ZWxFbmFibGVkIiwibGV2ZWxOYW1lIiwibGV2ZWxWYWx1ZSIsImVudHJpZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBWWFBOzs7ZUFBQUE7OzsrQkFaMkI7d0JBRWpCO3VCQU1oQjtBQUlBLE1BQU1BLHVCQUF1QkMseUJBQVU7SUFDckNDLGlCQUF5QztJQUN6Q0MscUJBQTZCQyxzQkFBZSxDQUFDO0lBQzdDQywwQkFBa0NDLGdCQUFTLENBQUNDLElBQUksQ0FBQztJQUNqREMsZ0JBQXFDQyxjQUFNLENBQUNDLFdBQVcsR0FBRztJQUVsRSxZQUFtQkMsV0FBa0MsQ0FBQyxDQUFDLENBQUU7UUFDeEQsS0FBSztJQUNOO0lBRU9DLFVBQ05DLGFBQTJDLEVBQzFDO1FBQ0QsSUFBSSxDQUFDWCxnQkFBZ0IsR0FBRyxJQUFJLENBQUNZLFlBQVksQ0FBQ0Q7UUFDMUMsTUFBTUUsY0FBY0YsY0FBY0csUUFBUSxJQUFJWixzQkFBZTtRQUM3RCxJQUFJLENBQUNELGtCQUFrQixHQUFHWTtRQUMxQixJQUFJLENBQUNWLHVCQUF1QixHQUFHLElBQUksQ0FBQ0gsZ0JBQWdCLENBQUNhLFlBQVksSUFBSVQsZ0JBQVMsQ0FBQ0MsSUFBSTtRQUNuRixJQUFJLENBQUNDLGFBQWEsR0FBR0MsY0FBTSxDQUFDQyxXQUFXLENBQUNHLGNBQWNJLFVBQVU7SUFDakU7SUFFT0MsVUFDTkMsSUFBYSxFQUNXO1FBQ3hCLE1BQU1DLGFBQWFELFFBQVE7UUFDM0IsT0FBTyxJQUFJLENBQUNFLG1CQUFtQixDQUFnQkQ7SUFDaEQ7SUFFUUMsb0JBR05GLElBQVksRUFBeUI7UUFDdEMsTUFBTUcsWUFBWSxJQUFJLENBQUNwQixnQkFBZ0I7UUFDdkMsTUFBTXFCLGVBQWUsSUFBSSxDQUFDcEIsa0JBQWtCO1FBQzVDLE1BQU1xQixZQUFZLElBQUksQ0FBQ25CLHVCQUF1QjtRQUM5QyxNQUFNRyxnQkFBZ0IsSUFBSSxDQUFDQSxhQUFhO1FBRXhDLE1BQU1pQixhQUF5QjtZQUM5QixJQUFJRixnQkFBZTtnQkFDbEIsT0FBT0E7WUFDUjtZQUNBLElBQUlHLGFBQVk7Z0JBQ2YsT0FBT0o7WUFDUjtRQUNEO1FBRUEsTUFBTUssY0FDTCxDQUFDQyxRQUNELENBQUNDLEtBQStCLEdBQUdDO2dCQUNsQyxNQUFNQyxZQUFZLElBQUlDLE9BQU9DLFdBQVc7Z0JBQ3hDLElBQUlDO2dCQUVKLElBQUksT0FBT0wsUUFBUSxVQUFVO29CQUM1QkssVUFDQ0wsZUFBZU0sUUFDWkMsSUFBQUEsMEJBQVcsRUFBQ1AsT0FDWlEsS0FBS0MsU0FBUyxDQUFDN0IsY0FBTSxDQUFDOEIsTUFBTSxDQUFDVixLQUFLckI7Z0JBQ3ZDLE9BQU87b0JBQ04wQixVQUFVTSxPQUFPWDtnQkFDbEI7Z0JBRUEsTUFBTVksVUFBVSxDQUFDLENBQUMsRUFBRVYsVUFBVSxFQUFFLEVBQUVILE1BQU1jLFdBQVcsR0FBRyxFQUFFLEVBQUV2QixLQUFLLEdBQUcsRUFBRWUsU0FBUztnQkFDN0UsTUFBTVMsVUFBVWIsS0FBS2MsR0FBRyxDQUFDLENBQUNDLE1BQVFwQyxjQUFNLENBQUM4QixNQUFNLENBQUNNLEtBQUtyQztnQkFFckQsSUFBSW1DLFFBQVFHLE1BQU0sR0FBRyxHQUFHO29CQUN2QkMsUUFBUUMsR0FBRyxDQUFDUCxZQUFZRTtnQkFDekIsT0FBTztvQkFDTkksUUFBUUMsR0FBRyxDQUFDUDtnQkFDYjtZQUNEO1FBRUQsTUFBTVEsT0FBTyxLQUFPO1FBRXBCLE1BQU1DLFNBQVNDLE9BQU9DLE1BQU0sQ0FBQzNCLFlBQVk7WUFDeEM0QixnQkFBZ0IsQ0FBQ3pCLFFBQWtCLEFBQUNOLENBQUFBLFNBQVMsQ0FBQ00sTUFBTSxJQUFJLENBQUEsS0FBTUo7UUFDL0Q7UUFFQSxLQUFLLE1BQU0sQ0FBQzhCLFdBQVdDLFdBQVcsSUFBSUosT0FBT0ssT0FBTyxDQUFDbEMsV0FBWTtZQUNoRSx5RkFBeUY7WUFDeEY0QixNQUFjLENBQUNJLFVBQVUsR0FBR0MsY0FBYy9CLFlBQVlHLFlBQVkyQixhQUFhTDtRQUNqRjtRQUVBLE9BQU9DO0lBQ1I7QUFDRCJ9
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2NvbnNvbGUuYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dBZGFwdGVyIH0gZnJvbSBcIi4vbG9nZ2VyLmFkYXB0ZXIuanNcIjtcbmltcG9ydCB0eXBlIHsgQmFzZUxvZ2dlciwgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7XG5cdERlZmF1bHRMb2dMZXZlbCxcblx0dHlwZSBMb2dBZGFwdGVyT3B0aW9ucyxcblx0TG9nTGV2ZWxzLFxuXHR0eXBlIFNjcmliZU9wdGlvbnMsXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbnNvbGVBZGFwdGVyT3B0aW9ucyA9IHt9ICYgTG9nQWRhcHRlck9wdGlvbnM7XG5cbmV4cG9ydCBjbGFzcyBDb25zb2xlQWRhcHRlciBleHRlbmRzIExvZ0FkYXB0ZXIge1xuXHRwcml2YXRlIGNvbmZpZ3VyZWRMZXZlbHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG5cdHByaXZhdGUgY29uZmlndXJlZExvZ0xldmVsOiBzdHJpbmcgPSBEZWZhdWx0TG9nTGV2ZWw7XG5cdHByaXZhdGUgY29uZmlndXJlZExvZ0xldmVsVmFsdWU6IG51bWJlciA9IExvZ0xldmVscy5pbmZvO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihfb3B0aW9uczogQ29uc29sZUFkYXB0ZXJPcHRpb25zID0ge30pIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0cHVibGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0c2NyaWJlT3B0aW9uczogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0Ly8gR2V0IG1lcmdlZCBsb2cgbGV2ZWxzIChkZWZhdWx0ICsgY3VzdG9tKSB1c2luZyBwYXJlbnQgY2xhc3MgbWV0aG9kXG5cdFx0dGhpcy5jb25maWd1cmVkTGV2ZWxzID0gdGhpcy5nZXRMb2dMZXZlbHMoc2NyaWJlT3B0aW9ucyk7XG5cdFx0Y29uc3QgbG9nTGV2ZWxTdHIgPSBzY3JpYmVPcHRpb25zLmxvZ0xldmVsID8/IERlZmF1bHRMb2dMZXZlbDtcblx0XHR0aGlzLmNvbmZpZ3VyZWRMb2dMZXZlbCA9IGxvZ0xldmVsU3RyO1xuXHRcdHRoaXMuY29uZmlndXJlZExvZ0xldmVsVmFsdWUgPSB0aGlzLmNvbmZpZ3VyZWRMZXZlbHNbbG9nTGV2ZWxTdHJdID8/IExvZ0xldmVscy5pbmZvO1xuXHR9XG5cblx0cHVibGljIGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZT86IHN0cmluZyxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHRjb25zdCBsb2dnZXJOYW1lID0gbmFtZSB8fCBcImRlZmF1bHRcIjtcblx0XHRyZXR1cm4gdGhpcy5jcmVhdGVDb25zb2xlTG9nZ2VyPFQsIEN1c3RvbU9ubHk+KGxvZ2dlck5hbWUpO1xuXHR9XG5cblx0cHJpdmF0ZSBjcmVhdGVDb25zb2xlTG9nZ2VyPFxuXHRcdFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlcixcblx0XHRDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2UsXG5cdD4obmFtZTogc3RyaW5nKTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHQvLyBVc2UgdGhlIGxldmVscyBjb25maWd1cmVkIGR1cmluZyB0aGUgY29uZmlndXJlKCkgY2FsbFxuXHRcdGNvbnN0IGFsbExldmVscyA9IHRoaXMuY29uZmlndXJlZExldmVscztcblx0XHRjb25zdCBjdXJyZW50TGV2ZWwgPSB0aGlzLmNvbmZpZ3VyZWRMb2dMZXZlbDtcblx0XHRjb25zdCB0aHJlc2hvbGQgPSB0aGlzLmNvbmZpZ3VyZWRMb2dMZXZlbFZhbHVlO1xuXG5cdFx0Y29uc3QgYmFzZUxvZ2dlcjogQmFzZUxvZ2dlciA9IHtcblx0XHRcdGdldCBjdXJyZW50TGV2ZWwoKSB7XG5cdFx0XHRcdHJldHVybiBjdXJyZW50TGV2ZWw7XG5cdFx0XHR9LFxuXHRcdFx0Z2V0IGxvZ0xldmVscygpIHtcblx0XHRcdFx0cmV0dXJuIGFsbExldmVscztcblx0XHRcdH0sXG5cdFx0fTtcblxuXHRcdGNvbnN0IGxvZ0Z1bmN0aW9uID1cblx0XHRcdChsZXZlbDogc3RyaW5nKSA9PlxuXHRcdFx0KG1zZzogc3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcblx0XHRcdFx0Y29uc3QgdGltZXN0YW1wID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuXHRcdFx0XHRsZXQgbWVzc2FnZTogc3RyaW5nO1xuXG5cdFx0XHRcdGlmICh0eXBlb2YgbXNnID09PSBcIm9iamVjdFwiKSB7XG5cdFx0XHRcdFx0bWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KG1zZyk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0bWVzc2FnZSA9IFN0cmluZyhtc2cpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y29uc3QgbG9nTGluZSA9IGBbJHt0aW1lc3RhbXB9XSAke2xldmVsLnRvVXBwZXJDYXNlKCl9IFske25hbWV9XTogJHttZXNzYWdlfWA7XG5cblx0XHRcdFx0aWYgKGFyZ3MubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGxvZ0xpbmUsIC4uLmFyZ3MpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGxvZ0xpbmUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0Y29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG5cdFx0Ly8gU3RhcnQgd2l0aCBiYXNlIGxvZ2dlciBhbmQgaXNMZXZlbEVuYWJsZWQgbWV0aG9kXG5cdFx0Y29uc3QgbG9nZ2VyID0gT2JqZWN0LmFzc2lnbihiYXNlTG9nZ2VyLCB7XG5cdFx0XHRpc0xldmVsRW5hYmxlZDogKGxldmVsOiBzdHJpbmcpID0+IChhbGxMZXZlbHNbbGV2ZWxdID8/IDApID49IHRocmVzaG9sZCxcblx0XHR9KTtcblxuXHRcdC8vIER5bmFtaWNhbGx5IGFkZCBhbGwgbG9nIGxldmVsIG1ldGhvZHMgKGRlZmF1bHQgKyBjdXN0b20pXG5cdFx0Ly8gTGV2ZWxzIGJlbG93IHRoZSBjb25maWd1cmVkIHRocmVzaG9sZCBhcmUgcGF0Y2hlZCB0byBub29wXG5cdFx0Zm9yIChjb25zdCBbbGV2ZWxOYW1lLCBsZXZlbFZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhbGxMZXZlbHMpKSB7XG5cdFx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IER5bmFtaWMgbG9nZ2VyIGxldmVsIGNyZWF0aW9uIHJlcXVpcmVzIGFueVxuXHRcdFx0KGxvZ2dlciBhcyBhbnkpW2xldmVsTmFtZV0gPSBsZXZlbFZhbHVlID49IHRocmVzaG9sZCA/IGxvZ0Z1bmN0aW9uKGxldmVsTmFtZSkgOiBub29wO1xuXHRcdH1cblxuXHRcdHJldHVybiBsb2dnZXIgYXMgTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQ29uc29sZUFkYXB0ZXIiLCJMb2dBZGFwdGVyIiwiY29uZmlndXJlZExldmVscyIsImNvbmZpZ3VyZWRMb2dMZXZlbCIsIkRlZmF1bHRMb2dMZXZlbCIsImNvbmZpZ3VyZWRMb2dMZXZlbFZhbHVlIiwiTG9nTGV2ZWxzIiwiaW5mbyIsIl9vcHRpb25zIiwiY29uZmlndXJlIiwic2NyaWJlT3B0aW9ucyIsImdldExvZ0xldmVscyIsImxvZ0xldmVsU3RyIiwibG9nTGV2ZWwiLCJnZXRMb2dnZXIiLCJuYW1lIiwibG9nZ2VyTmFtZSIsImNyZWF0ZUNvbnNvbGVMb2dnZXIiLCJhbGxMZXZlbHMiLCJjdXJyZW50TGV2ZWwiLCJ0aHJlc2hvbGQiLCJiYXNlTG9nZ2VyIiwibG9nTGV2ZWxzIiwibG9nRnVuY3Rpb24iLCJsZXZlbCIsIm1zZyIsImFyZ3MiLCJ0aW1lc3RhbXAiLCJEYXRlIiwidG9JU09TdHJpbmciLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsIlN0cmluZyIsImxvZ0xpbmUiLCJ0b1VwcGVyQ2FzZSIsImxlbmd0aCIsImNvbnNvbGUiLCJsb2ciLCJub29wIiwibG9nZ2VyIiwiT2JqZWN0IiwiYXNzaWduIiwiaXNMZXZlbEVuYWJsZWQiLCJsZXZlbE5hbWUiLCJsZXZlbFZhbHVlIiwiZW50cmllcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFXYUE7OztlQUFBQTs7OytCQVhjO3VCQU9wQjtBQUlBLE1BQU1BLHVCQUF1QkMseUJBQVU7SUFDckNDLGlCQUF5QztJQUN6Q0MscUJBQTZCQyxzQkFBZSxDQUFDO0lBQzdDQywwQkFBa0NDLGdCQUFTLENBQUNDLElBQUksQ0FBQztJQUV6RCxZQUFtQkMsV0FBa0MsQ0FBQyxDQUFDLENBQUU7UUFDeEQsS0FBSztJQUNOO0lBRU9DLFVBQ05DLGFBQTJDLEVBQzFDO1FBQ0QscUVBQXFFO1FBQ3JFLElBQUksQ0FBQ1IsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDUyxZQUFZLENBQUNEO1FBQzFDLE1BQU1FLGNBQWNGLGNBQWNHLFFBQVEsSUFBSVQsc0JBQWU7UUFDN0QsSUFBSSxDQUFDRCxrQkFBa0IsR0FBR1M7UUFDMUIsSUFBSSxDQUFDUCx1QkFBdUIsR0FBRyxJQUFJLENBQUNILGdCQUFnQixDQUFDVSxZQUFZLElBQUlOLGdCQUFTLENBQUNDLElBQUk7SUFDcEY7SUFFT08sVUFDTkMsSUFBYSxFQUNXO1FBQ3hCLE1BQU1DLGFBQWFELFFBQVE7UUFDM0IsT0FBTyxJQUFJLENBQUNFLG1CQUFtQixDQUFnQkQ7SUFDaEQ7SUFFUUMsb0JBR05GLElBQVksRUFBeUI7UUFDdEMsd0RBQXdEO1FBQ3hELE1BQU1HLFlBQVksSUFBSSxDQUFDaEIsZ0JBQWdCO1FBQ3ZDLE1BQU1pQixlQUFlLElBQUksQ0FBQ2hCLGtCQUFrQjtRQUM1QyxNQUFNaUIsWUFBWSxJQUFJLENBQUNmLHVCQUF1QjtRQUU5QyxNQUFNZ0IsYUFBeUI7WUFDOUIsSUFBSUYsZ0JBQWU7Z0JBQ2xCLE9BQU9BO1lBQ1I7WUFDQSxJQUFJRyxhQUFZO2dCQUNmLE9BQU9KO1lBQ1I7UUFDRDtRQUVBLE1BQU1LLGNBQ0wsQ0FBQ0MsUUFDRCxDQUFDQyxLQUErQixHQUFHQztnQkFDbEMsTUFBTUMsWUFBWSxJQUFJQyxPQUFPQyxXQUFXO2dCQUN4QyxJQUFJQztnQkFFSixJQUFJLE9BQU9MLFFBQVEsVUFBVTtvQkFDNUJLLFVBQVVDLEtBQUtDLFNBQVMsQ0FBQ1A7Z0JBQzFCLE9BQU87b0JBQ05LLFVBQVVHLE9BQU9SO2dCQUNsQjtnQkFFQSxNQUFNUyxVQUFVLENBQUMsQ0FBQyxFQUFFUCxVQUFVLEVBQUUsRUFBRUgsTUFBTVcsV0FBVyxHQUFHLEVBQUUsRUFBRXBCLEtBQUssR0FBRyxFQUFFZSxTQUFTO2dCQUU3RSxJQUFJSixLQUFLVSxNQUFNLEdBQUcsR0FBRztvQkFDcEJDLFFBQVFDLEdBQUcsQ0FBQ0osWUFBWVI7Z0JBQ3pCLE9BQU87b0JBQ05XLFFBQVFDLEdBQUcsQ0FBQ0o7Z0JBQ2I7WUFDRDtRQUVELE1BQU1LLE9BQU8sS0FBTztRQUVwQixtREFBbUQ7UUFDbkQsTUFBTUMsU0FBU0MsT0FBT0MsTUFBTSxDQUFDckIsWUFBWTtZQUN4Q3NCLGdCQUFnQixDQUFDbkIsUUFBa0IsQUFBQ04sQ0FBQUEsU0FBUyxDQUFDTSxNQUFNLElBQUksQ0FBQSxLQUFNSjtRQUMvRDtRQUVBLDJEQUEyRDtRQUMzRCw0REFBNEQ7UUFDNUQsS0FBSyxNQUFNLENBQUN3QixXQUFXQyxXQUFXLElBQUlKLE9BQU9LLE9BQU8sQ0FBQzVCLFdBQVk7WUFDaEUseUZBQXlGO1lBQ3hGc0IsTUFBYyxDQUFDSSxVQUFVLEdBQUdDLGNBQWN6QixZQUFZRyxZQUFZcUIsYUFBYUw7UUFDakY7UUFFQSxPQUFPQztJQUNSO0FBQ0QifQ==
@@ -8,7 +8,6 @@ _export_star(require("./errors.js"), exports);
8
8
  _export_star(require("./logger.adapter.js"), exports);
9
9
  _export_star(require("./logger.factory.js"), exports);
10
10
  _export_star(require("./logger.type.js"), exports);
11
- _export_star(require("./redact.js"), exports);
12
11
  _export_star(require("./types.js"), exports);
13
12
  function _export_star(from, to) {
14
13
  Object.keys(from).forEach(function(k) {
@@ -24,4 +23,4 @@ function _export_star(from, to) {
24
23
  return from;
25
24
  }
26
25
 
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnNvbGUuYWRhcHRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2dnZXIuZmFjdG9yeS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlZGFjdC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMuanNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUFjO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBIn0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnNvbGUuYWRhcHRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2dnZXIuZmFjdG9yeS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzLmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBYztxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQSJ9
@@ -2,37 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get LogAdapter () {
5
+ Object.defineProperty(exports, "LogAdapter", {
6
+ enumerable: true,
7
+ get: function() {
13
8
  return LogAdapter;
14
- },
15
- get formatError () {
16
- return formatError;
17
9
  }
18
10
  });
19
11
  const _types = require("./types.js");
20
- function formatError(err) {
21
- return err.stack ?? err.message;
22
- }
23
12
  class LogAdapter {
24
13
  flush(cb) {
25
14
  cb?.();
26
15
  }
27
- retire() {
28
- // Console / no-op adapters have nothing to release.
29
- }
30
- async stop() {
31
- await this[Symbol.asyncDispose]();
32
- }
33
- async [Symbol.asyncDispose]() {
34
- // Console / no-op adapters have nothing to release.
35
- }
36
16
  // biome-ignore lint/suspicious/noExplicitAny: Generic utility method needs flexible typing
37
17
  getLogLevels(options) {
38
18
  const { customOnly, customLevels } = options;
@@ -51,4 +31,4 @@ class LogAdapter {
51
31
  }
52
32
  }
53
33
 
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5hZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7IExvZ0xldmVscywgdHlwZSBTY3JpYmVPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yKGVycjogRXJyb3IpOiBzdHJpbmcge1xuXHRyZXR1cm4gZXJyLnN0YWNrID8/IGVyci5tZXNzYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dlckFkYXB0ZXIgZXh0ZW5kcyBBc3luY0Rpc3Bvc2FibGUge1xuXHRjb25maWd1cmU8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG9wdGlvbnM6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk7XG5cdGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZTogc3RyaW5nLFxuXHQpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT47XG5cdGZsdXNoKGNiPzogKCkgPT4gdm9pZCk6IHZvaWQ7XG5cdC8qKlxuXHQgKiBTeW5jaHJvbm91c2x5IHN0b3AgYWNjZXB0aW5nIHdyaXRlcyAoa2lsbCBUaHJlYWRTdHJlYW0gLyBjbG9zZSBmZHMpLlxuXHQgKiBDYWxsIGJlZm9yZSBzd2FwcGluZyBhZGFwdGVycyBzbyBhIGRlYWQgd29ya2VyIGNhbm5vdCBzcGFtIG9uIGZ1cnRoZXIgbG9ncy5cblx0ICogSWRlbXBvdGVudCDigJQgc2FmZSB0byBjYWxsIG1vcmUgdGhhbiBvbmNlLlxuXHQgKi9cblx0cmV0aXJlKCk6IHZvaWQ7XG5cdC8qKlxuXHQgKiBEcmFpbiBidWZmZXJlZCBvdXRwdXQgYW5kIHJlbGVhc2UgdW5tYW5hZ2VkIGhhbmRsZXMgKHdvcmtlcnMsIGZkcykuXG5cdCAqIElkZW1wb3RlbnQg4oCUIHNhZmUgdG8gY2FsbCBtb3JlIHRoYW4gb25jZS5cblx0ICovXG5cdHN0b3AoKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ0FkYXB0ZXIgaW1wbGVtZW50cyBMb2dnZXJBZGFwdGVyIHtcblx0cHVibGljIGFic3RyYWN0IGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0b3B0aW9uczogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KTtcblxuXHRwdWJsaWMgYWJzdHJhY3QgZ2V0TG9nZ2VyPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRuYW1lOiBzdHJpbmcsXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PjtcblxuXHRwdWJsaWMgZmx1c2goY2I/OiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0Y2I/LigpO1xuXHR9XG5cblx0cHVibGljIHJldGlyZSgpOiB2b2lkIHtcblx0XHQvLyBDb25zb2xlIC8gbm8tb3AgYWRhcHRlcnMgaGF2ZSBub3RoaW5nIHRvIHJlbGVhc2UuXG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRhd2FpdCB0aGlzW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdC8vIENvbnNvbGUgLyBuby1vcCBhZGFwdGVycyBoYXZlIG5vdGhpbmcgdG8gcmVsZWFzZS5cblx0fVxuXG5cdC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9FeHBsaWNpdEFueTogR2VuZXJpYyB1dGlsaXR5IG1ldGhvZCBuZWVkcyBmbGV4aWJsZSB0eXBpbmdcblx0cHJvdGVjdGVkIGdldExvZ0xldmVscyhvcHRpb25zOiBTY3JpYmVPcHRpb25zPGFueSwgYW55Pik6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4ge1xuXHRcdGNvbnN0IHsgY3VzdG9tT25seSwgY3VzdG9tTGV2ZWxzIH0gPSBvcHRpb25zO1xuXHRcdGlmIChjdXN0b21Pbmx5KSB7XG5cdFx0XHRyZXR1cm4gY3VzdG9tTGV2ZWxzO1xuXHRcdH1cblx0XHRjb25zdCBsZXZlbHMgPSB0aGlzLmdldFVuaXF1ZUxldmVscyhMb2dMZXZlbHMsIGN1c3RvbUxldmVscyk7XG5cdFx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhsZXZlbHMpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGdldFVuaXF1ZUxldmVscyhcblx0XHRkZWZhdWx0TGV2ZWxzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+LFxuXHRcdGN1c3RvbUxldmVsczogUmVjb3JkPHN0cmluZywgbnVtYmVyPixcblx0KSB7XG5cdFx0Y29uc3QgZGVmYXVsdEVudHJpZXMgPSBPYmplY3QuZW50cmllcyhkZWZhdWx0TGV2ZWxzID8/IHt9KTtcblx0XHRjb25zdCBjdXN0b21FbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoY3VzdG9tTGV2ZWxzID8/IHt9KTtcblx0XHRjb25zdCBkZWZhdWx0Tm90SW5DdXN0b20gPSBkZWZhdWx0RW50cmllcy5maWx0ZXIoXG5cdFx0XHQoW2RrXSkgPT4gY3VzdG9tRW50cmllcy5maW5kSW5kZXgoKFtja10pID0+IGNrID09PSBkaykgPT09IC0xLFxuXHRcdCk7XG5cblx0XHRjb25zdCB1bmlxdWUgPSBkZWZhdWx0Tm90SW5DdXN0b20uY29uY2F0KGN1c3RvbUVudHJpZXMpO1xuXHRcdHJldHVybiB1bmlxdWU7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJMb2dBZGFwdGVyIiwiZm9ybWF0RXJyb3IiLCJlcnIiLCJzdGFjayIsIm1lc3NhZ2UiLCJmbHVzaCIsImNiIiwicmV0aXJlIiwic3RvcCIsIlN5bWJvbCIsImFzeW5jRGlzcG9zZSIsImdldExvZ0xldmVscyIsIm9wdGlvbnMiLCJjdXN0b21Pbmx5IiwiY3VzdG9tTGV2ZWxzIiwibGV2ZWxzIiwiZ2V0VW5pcXVlTGV2ZWxzIiwiTG9nTGV2ZWxzIiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJkZWZhdWx0TGV2ZWxzIiwiZGVmYXVsdEVudHJpZXMiLCJlbnRyaWVzIiwiY3VzdG9tRW50cmllcyIsImRlZmF1bHROb3RJbkN1c3RvbSIsImZpbHRlciIsImRrIiwiZmluZEluZGV4IiwiY2siLCJ1bmlxdWUiLCJjb25jYXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBNEJzQkE7ZUFBQUE7O1FBekJOQztlQUFBQTs7O3VCQUY4QjtBQUV2QyxTQUFTQSxZQUFZQyxHQUFVO0lBQ3JDLE9BQU9BLElBQUlDLEtBQUssSUFBSUQsSUFBSUUsT0FBTztBQUNoQztBQXVCTyxNQUFlSjtJQVNkSyxNQUFNQyxFQUFlLEVBQVE7UUFDbkNBO0lBQ0Q7SUFFT0MsU0FBZTtJQUNyQixvREFBb0Q7SUFDckQ7SUFFQSxNQUFhQyxPQUFzQjtRQUNsQyxNQUFNLElBQUksQ0FBQ0MsT0FBT0MsWUFBWSxDQUFDO0lBQ2hDO0lBRUEsTUFBYSxDQUFDRCxPQUFPQyxZQUFZLENBQUMsR0FBa0I7SUFDbkQsb0RBQW9EO0lBQ3JEO0lBRUEsMkZBQTJGO0lBQ2pGQyxhQUFhQyxPQUFnQyxFQUEwQjtRQUNoRixNQUFNLEVBQUVDLFVBQVUsRUFBRUMsWUFBWSxFQUFFLEdBQUdGO1FBQ3JDLElBQUlDLFlBQVk7WUFDZixPQUFPQztRQUNSO1FBQ0EsTUFBTUMsU0FBUyxJQUFJLENBQUNDLGVBQWUsQ0FBQ0MsZ0JBQVMsRUFBRUg7UUFDL0MsT0FBT0ksT0FBT0MsV0FBVyxDQUFDSjtJQUMzQjtJQUVVQyxnQkFDVEksYUFBcUMsRUFDckNOLFlBQW9DLEVBQ25DO1FBQ0QsTUFBTU8saUJBQWlCSCxPQUFPSSxPQUFPLENBQUNGLGlCQUFpQixDQUFDO1FBQ3hELE1BQU1HLGdCQUFnQkwsT0FBT0ksT0FBTyxDQUFDUixnQkFBZ0IsQ0FBQztRQUN0RCxNQUFNVSxxQkFBcUJILGVBQWVJLE1BQU0sQ0FDL0MsQ0FBQyxDQUFDQyxHQUFHLEdBQUtILGNBQWNJLFNBQVMsQ0FBQyxDQUFDLENBQUNDLEdBQUcsR0FBS0EsT0FBT0YsUUFBUSxDQUFDO1FBRzdELE1BQU1HLFNBQVNMLG1CQUFtQk0sTUFBTSxDQUFDUDtRQUN6QyxPQUFPTTtJQUNSO0FBQ0QifQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5hZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7IExvZ0xldmVscywgdHlwZSBTY3JpYmVPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBMb2dnZXJBZGFwdGVyIHtcblx0Y29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRvcHRpb25zOiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHQpO1xuXHRnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU6IHN0cmluZyxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xuXHRmbHVzaChjYj86ICgpID0+IHZvaWQpOiB2b2lkO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTG9nQWRhcHRlciBpbXBsZW1lbnRzIExvZ2dlckFkYXB0ZXIge1xuXHRwdWJsaWMgYWJzdHJhY3QgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRvcHRpb25zOiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHQpO1xuXG5cdHB1YmxpYyBhYnN0cmFjdCBnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU6IHN0cmluZyxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xuXG5cdHB1YmxpYyBmbHVzaChjYj86ICgpID0+IHZvaWQpOiB2b2lkIHtcblx0XHRjYj8uKCk7XG5cdH1cblxuXHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IEdlbmVyaWMgdXRpbGl0eSBtZXRob2QgbmVlZHMgZmxleGlibGUgdHlwaW5nXG5cdHByb3RlY3RlZCBnZXRMb2dMZXZlbHMob3B0aW9uczogU2NyaWJlT3B0aW9uczxhbnksIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+IHtcblx0XHRjb25zdCB7IGN1c3RvbU9ubHksIGN1c3RvbUxldmVscyB9ID0gb3B0aW9ucztcblx0XHRpZiAoY3VzdG9tT25seSkge1xuXHRcdFx0cmV0dXJuIGN1c3RvbUxldmVscztcblx0XHR9XG5cdFx0Y29uc3QgbGV2ZWxzID0gdGhpcy5nZXRVbmlxdWVMZXZlbHMoTG9nTGV2ZWxzLCBjdXN0b21MZXZlbHMpO1xuXHRcdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMobGV2ZWxzKTtcblx0fVxuXG5cdHByb3RlY3RlZCBnZXRVbmlxdWVMZXZlbHMoXG5cdFx0ZGVmYXVsdExldmVsczogUmVjb3JkPHN0cmluZywgbnVtYmVyPixcblx0XHRjdXN0b21MZXZlbHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4sXG5cdCkge1xuXHRcdGNvbnN0IGRlZmF1bHRFbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoZGVmYXVsdExldmVscyA/PyB7fSk7XG5cdFx0Y29uc3QgY3VzdG9tRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGN1c3RvbUxldmVscyA/PyB7fSk7XG5cdFx0Y29uc3QgZGVmYXVsdE5vdEluQ3VzdG9tID0gZGVmYXVsdEVudHJpZXMuZmlsdGVyKFxuXHRcdFx0KFtka10pID0+IGN1c3RvbUVudHJpZXMuZmluZEluZGV4KChbY2tdKSA9PiBjayA9PT0gZGspID09PSAtMSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgdW5pcXVlID0gZGVmYXVsdE5vdEluQ3VzdG9tLmNvbmNhdChjdXN0b21FbnRyaWVzKTtcblx0XHRyZXR1cm4gdW5pcXVlO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiTG9nQWRhcHRlciIsImZsdXNoIiwiY2IiLCJnZXRMb2dMZXZlbHMiLCJvcHRpb25zIiwiY3VzdG9tT25seSIsImN1c3RvbUxldmVscyIsImxldmVscyIsImdldFVuaXF1ZUxldmVscyIsIkxvZ0xldmVscyIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwiZGVmYXVsdExldmVscyIsImRlZmF1bHRFbnRyaWVzIiwiZW50cmllcyIsImN1c3RvbUVudHJpZXMiLCJkZWZhdWx0Tm90SW5DdXN0b20iLCJmaWx0ZXIiLCJkayIsImZpbmRJbmRleCIsImNrIiwidW5pcXVlIiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiOzs7OytCQWFzQkE7OztlQUFBQTs7O3VCQVp3QjtBQVl2QyxNQUFlQTtJQVNkQyxNQUFNQyxFQUFlLEVBQVE7UUFDbkNBO0lBQ0Q7SUFFQSwyRkFBMkY7SUFDakZDLGFBQWFDLE9BQWdDLEVBQTBCO1FBQ2hGLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxZQUFZLEVBQUUsR0FBR0Y7UUFDckMsSUFBSUMsWUFBWTtZQUNmLE9BQU9DO1FBQ1I7UUFDQSxNQUFNQyxTQUFTLElBQUksQ0FBQ0MsZUFBZSxDQUFDQyxnQkFBUyxFQUFFSDtRQUMvQyxPQUFPSSxPQUFPQyxXQUFXLENBQUNKO0lBQzNCO0lBRVVDLGdCQUNUSSxhQUFxQyxFQUNyQ04sWUFBb0MsRUFDbkM7UUFDRCxNQUFNTyxpQkFBaUJILE9BQU9JLE9BQU8sQ0FBQ0YsaUJBQWlCLENBQUM7UUFDeEQsTUFBTUcsZ0JBQWdCTCxPQUFPSSxPQUFPLENBQUNSLGdCQUFnQixDQUFDO1FBQ3RELE1BQU1VLHFCQUFxQkgsZUFBZUksTUFBTSxDQUMvQyxDQUFDLENBQUNDLEdBQUcsR0FBS0gsY0FBY0ksU0FBUyxDQUFDLENBQUMsQ0FBQ0MsR0FBRyxHQUFLQSxPQUFPRixRQUFRLENBQUM7UUFHN0QsTUFBTUcsU0FBU0wsbUJBQW1CTSxNQUFNLENBQUNQO1FBQ3pDLE9BQU9NO0lBQ1I7QUFDRCJ9
@@ -14,54 +14,20 @@ const _errors = require("./errors.js");
14
14
  const _types = require("./types.js");
15
15
  class scribe {
16
16
  loggerProvider;
17
- /** True after `configure({ adapter })` — the constructor’s ConsoleAdapter is only a fallback. */ adapterConfigured = false;
18
- defaultAdapterWarned = false;
19
17
  static instance = new scribe();
20
18
  static logger(name, customLevels) {
21
- // Apply custom levels once against the active adapter; the live handle
22
- // re-resolves the underlying logger on each use (CU-869egxmg2).
23
- if (customLevels) {
24
- scribe.instance.getLogger(name, customLevels);
25
- }
26
- return scribe.createLiveLogger(name);
19
+ return scribe.instance.getLogger(name, customLevels);
27
20
  }
28
21
  static configure(configOptions) {
29
- const previous = scribe.instance;
30
- // Sync: stop writes into the old ThreadStream before a new worker starts.
31
- previous.retire();
32
22
  scribe.instance = new scribe();
33
- scribe.instance.configure(configOptions);
34
- // Async drain of the retired adapter (flush / end). Flux/App.dispose may
35
- // have already done this; reconfigure without stop still needs it.
36
- void previous.stop();
37
- return (name)=>scribe.logger(name);
23
+ return scribe.instance.configure(configOptions);
24
+ }
25
+ static get extend() {
26
+ return scribe.instance;
38
27
  }
39
28
  static flush(cb) {
40
29
  scribe.instance.loggerProvider.flush(cb);
41
30
  }
42
- /** Synchronously stop accepting writes on the active adapter. */ static retire() {
43
- scribe.instance.retire();
44
- }
45
- /** Drain the active adapter and release workers / destinations. */ static async stop() {
46
- await scribe.instance.stop();
47
- }
48
- /**
49
- * Module-level `const log = scribe.logger(...)` must follow a later
50
- * `scribe.configure()` (CLI / Flux / HotReloadServer). Forward every use to
51
- * the active adapter logger for `name`.
52
- */ static createLiveLogger(name) {
53
- return new Proxy({}, {
54
- get (_target, prop) {
55
- const underlying = scribe.instance.getLogger(name);
56
- const value = Reflect.get(underlying, prop, underlying);
57
- return typeof value === "function" ? value.bind(underlying) : value;
58
- },
59
- has (_target, prop) {
60
- const underlying = scribe.instance.getLogger(name);
61
- return Reflect.has(underlying, prop);
62
- }
63
- });
64
- }
65
31
  constructor(){
66
32
  // Initialize with default console adapter
67
33
  this.loggerProvider = new _consoleadapter.ConsoleAdapter();
@@ -70,30 +36,12 @@ class scribe {
70
36
  }
71
37
  configure(configOptions) {
72
38
  const { adapter, options } = configOptions;
73
- const previous = this.loggerProvider;
74
- if (previous !== adapter) {
75
- previous.retire();
76
- }
77
39
  this.loggerProvider = adapter;
78
- this.adapterConfigured = true;
79
40
  const defaultsAndOptions = this.mergeDefaults(options);
80
41
  adapter.configure(defaultsAndOptions);
81
- if (previous !== adapter) {
82
- void previous.stop();
83
- }
84
- return (name)=>scribe.logger(name);
85
- }
86
- retire() {
87
- this.loggerProvider.retire();
88
- }
89
- async stop() {
90
- await this.loggerProvider.stop();
91
- }
92
- async [Symbol.asyncDispose]() {
93
- await this.stop();
42
+ return (name)=>adapter.getLogger(name);
94
43
  }
95
44
  getLogger(name, customLevels) {
96
- this.warnIfDefaultAdapter();
97
45
  // If custom levels are provided, we need to reconfigure the adapter
98
46
  if (customLevels) {
99
47
  const currentOptions = this.mergeDefaults({
@@ -105,13 +53,6 @@ class scribe {
105
53
  this.supportsLevels(customLevels, logger);
106
54
  return logger;
107
55
  }
108
- warnIfDefaultAdapter() {
109
- if (this.adapterConfigured || this.defaultAdapterWarned) {
110
- return;
111
- }
112
- this.defaultAdapterWarned = true;
113
- process.stderr.write("[scribe] No logger adapter configured; using the default ConsoleAdapter. " + "Configure an adapter at your composition root (for production, prefer " + "@decohere/scribe-pino → JSON on stdout). See " + "https://github.com/typesmiths/decohere/blob/main/projects/scribe/README.md\n");
114
- }
115
56
  supportsLevels(customLevels, logger) {
116
57
  if (!customLevels) {
117
58
  return;
@@ -126,14 +67,12 @@ class scribe {
126
67
  }
127
68
  mergeDefaults(options) {
128
69
  const logLevel = (0, _env.resolveLogLevel)(options?.logLevel) ?? _types.DefaultLogLevel;
129
- // Resolved logLevel must win over options spread (invalid explicit values
130
- // would otherwise stick — CU-869emqjq8).
131
70
  return {
71
+ logLevel,
132
72
  redactions: _types.DefaultRedactions,
133
- ...options,
134
- logLevel
73
+ ...options
135
74
  };
136
75
  }
137
76
  }
138
77
 
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnNvbGVBZGFwdGVyIH0gZnJvbSBcIi4vY29uc29sZS5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlTG9nTGV2ZWwgfSBmcm9tIFwiLi9lbnYuanNcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0TG9nTGV2ZWwsIERlZmF1bHRSZWRhY3Rpb25zLCB0eXBlIFNjcmliZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG50eXBlIExvZ2dlckZhY3RvcnlPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZSxcbj4gPSB7XG5cdG9wdGlvbnM/OiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+O1xuXHRhZGFwdGVyOiBMb2dnZXJBZGFwdGVyO1xufTtcblxuZXhwb3J0IGNsYXNzIHNjcmliZSBpbXBsZW1lbnRzIEFzeW5jRGlzcG9zYWJsZSB7XG5cdHByaXZhdGUgbG9nZ2VyUHJvdmlkZXI6IExvZ2dlckFkYXB0ZXI7XG5cdC8qKiBUcnVlIGFmdGVyIGBjb25maWd1cmUoeyBhZGFwdGVyIH0pYCDigJQgdGhlIGNvbnN0cnVjdG9y4oCZcyBDb25zb2xlQWRhcHRlciBpcyBvbmx5IGEgZmFsbGJhY2suICovXG5cdHByaXZhdGUgYWRhcHRlckNvbmZpZ3VyZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBkZWZhdWx0QWRhcHRlcldhcm5lZCA9IGZhbHNlO1xuXHRwcml2YXRlIHN0YXRpYyBpbnN0YW5jZTogc2NyaWJlID0gbmV3IHNjcmliZSgpO1xuXG5cdHB1YmxpYyBzdGF0aWMgbG9nZ2VyPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRuYW1lPzogc3RyaW5nLFxuXHRcdGN1c3RvbUxldmVscz86IHtcblx0XHRcdFtsZXZlbCBpbiBUXTogbnVtYmVyO1xuXHRcdH0sXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Ly8gQXBwbHkgY3VzdG9tIGxldmVscyBvbmNlIGFnYWluc3QgdGhlIGFjdGl2ZSBhZGFwdGVyOyB0aGUgbGl2ZSBoYW5kbGVcblx0XHQvLyByZS1yZXNvbHZlcyB0aGUgdW5kZXJseWluZyBsb2dnZXIgb24gZWFjaCB1c2UgKENVLTg2OWVneG1nMikuXG5cdFx0aWYgKGN1c3RvbUxldmVscykge1xuXHRcdFx0c2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lLCBjdXN0b21MZXZlbHMpO1xuXHRcdH1cblx0XHRyZXR1cm4gc2NyaWJlLmNyZWF0ZUxpdmVMb2dnZXI8VCwgQ3VzdG9tT25seT4obmFtZSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0Y29uZmlnT3B0aW9uczogTG9nZ2VyRmFjdG9yeU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdGNvbnN0IHByZXZpb3VzID0gc2NyaWJlLmluc3RhbmNlO1xuXHRcdC8vIFN5bmM6IHN0b3Agd3JpdGVzIGludG8gdGhlIG9sZCBUaHJlYWRTdHJlYW0gYmVmb3JlIGEgbmV3IHdvcmtlciBzdGFydHMuXG5cdFx0cHJldmlvdXMucmV0aXJlKCk7XG5cdFx0c2NyaWJlLmluc3RhbmNlID0gbmV3IHNjcmliZSgpO1xuXHRcdHNjcmliZS5pbnN0YW5jZS5jb25maWd1cmU8VCwgQ3VzdG9tT25seT4oY29uZmlnT3B0aW9ucyk7XG5cdFx0Ly8gQXN5bmMgZHJhaW4gb2YgdGhlIHJldGlyZWQgYWRhcHRlciAoZmx1c2ggLyBlbmQpLiBGbHV4L0FwcC5kaXNwb3NlIG1heVxuXHRcdC8vIGhhdmUgYWxyZWFkeSBkb25lIHRoaXM7IHJlY29uZmlndXJlIHdpdGhvdXQgc3RvcCBzdGlsbCBuZWVkcyBpdC5cblx0XHR2b2lkIHByZXZpb3VzLnN0b3AoKTtcblx0XHRyZXR1cm4gKG5hbWU/OiBzdHJpbmcpID0+IHNjcmliZS5sb2dnZXI8VCwgQ3VzdG9tT25seT4obmFtZSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGZsdXNoKGNiPzogKCkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdHNjcmliZS5pbnN0YW5jZS5sb2dnZXJQcm92aWRlci5mbHVzaChjYik7XG5cdH1cblxuXHQvKiogU3luY2hyb25vdXNseSBzdG9wIGFjY2VwdGluZyB3cml0ZXMgb24gdGhlIGFjdGl2ZSBhZGFwdGVyLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJldGlyZSgpOiB2b2lkIHtcblx0XHRzY3JpYmUuaW5zdGFuY2UucmV0aXJlKCk7XG5cdH1cblxuXHQvKiogRHJhaW4gdGhlIGFjdGl2ZSBhZGFwdGVyIGFuZCByZWxlYXNlIHdvcmtlcnMgLyBkZXN0aW5hdGlvbnMuICovXG5cdHB1YmxpYyBzdGF0aWMgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRhd2FpdCBzY3JpYmUuaW5zdGFuY2Uuc3RvcCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1vZHVsZS1sZXZlbCBgY29uc3QgbG9nID0gc2NyaWJlLmxvZ2dlciguLi4pYCBtdXN0IGZvbGxvdyBhIGxhdGVyXG5cdCAqIGBzY3JpYmUuY29uZmlndXJlKClgIChDTEkgLyBGbHV4IC8gSG90UmVsb2FkU2VydmVyKS4gRm9yd2FyZCBldmVyeSB1c2UgdG9cblx0ICogdGhlIGFjdGl2ZSBhZGFwdGVyIGxvZ2dlciBmb3IgYG5hbWVgLlxuXHQgKi9cblx0cHJpdmF0ZSBzdGF0aWMgY3JlYXRlTGl2ZUxvZ2dlcjxcblx0XHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdFx0Q3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlLFxuXHQ+KG5hbWU/OiBzdHJpbmcpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdHJldHVybiBuZXcgUHJveHkoe30gYXMgTG9nZ2VyPFQsIEN1c3RvbU9ubHk+LCB7XG5cdFx0XHRnZXQoX3RhcmdldCwgcHJvcCkge1xuXHRcdFx0XHRjb25zdCB1bmRlcmx5aW5nID0gc2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lKSBhcyBvYmplY3Q7XG5cdFx0XHRcdGNvbnN0IHZhbHVlID0gUmVmbGVjdC5nZXQodW5kZXJseWluZywgcHJvcCwgdW5kZXJseWluZyk7XG5cdFx0XHRcdHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIlxuXHRcdFx0XHRcdD8gKHZhbHVlIGFzICguLi5hcmdzOiBuZXZlcltdKSA9PiB1bmtub3duKS5iaW5kKHVuZGVybHlpbmcpXG5cdFx0XHRcdFx0OiB2YWx1ZTtcblx0XHRcdH0sXG5cdFx0XHRoYXMoX3RhcmdldCwgcHJvcCkge1xuXHRcdFx0XHRjb25zdCB1bmRlcmx5aW5nID0gc2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lKSBhcyBvYmplY3Q7XG5cdFx0XHRcdHJldHVybiBSZWZsZWN0Lmhhcyh1bmRlcmx5aW5nLCBwcm9wKTtcblx0XHRcdH0sXG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IoKSB7XG5cdFx0Ly8gSW5pdGlhbGl6ZSB3aXRoIGRlZmF1bHQgY29uc29sZSBhZGFwdGVyXG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlciA9IG5ldyBDb25zb2xlQWRhcHRlcigpO1xuXHRcdGNvbnN0IGRlZmF1bHRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzKCk7XG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlci5jb25maWd1cmUoZGVmYXVsdE9wdGlvbnMpO1xuXHR9XG5cblx0cHVibGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0Y29uZmlnT3B0aW9uczogTG9nZ2VyRmFjdG9yeU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk6IChuYW1lPzogc3RyaW5nKSA9PiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IHsgYWRhcHRlciwgb3B0aW9ucyB9ID0gY29uZmlnT3B0aW9ucztcblx0XHRjb25zdCBwcmV2aW91cyA9IHRoaXMubG9nZ2VyUHJvdmlkZXI7XG5cdFx0aWYgKHByZXZpb3VzICE9PSBhZGFwdGVyKSB7XG5cdFx0XHRwcmV2aW91cy5yZXRpcmUoKTtcblx0XHR9XG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlciA9IGFkYXB0ZXI7XG5cdFx0dGhpcy5hZGFwdGVyQ29uZmlndXJlZCA9IHRydWU7XG5cdFx0Y29uc3QgZGVmYXVsdHNBbmRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzPFQsIEN1c3RvbU9ubHk+KG9wdGlvbnMpO1xuXHRcdGFkYXB0ZXIuY29uZmlndXJlKGRlZmF1bHRzQW5kT3B0aW9ucyk7XG5cdFx0aWYgKHByZXZpb3VzICE9PSBhZGFwdGVyKSB7XG5cdFx0XHR2b2lkIHByZXZpb3VzLnN0b3AoKTtcblx0XHR9XG5cdFx0cmV0dXJuIChuYW1lPzogc3RyaW5nKSA9PiBzY3JpYmUubG9nZ2VyPFQsIEN1c3RvbU9ubHk+KG5hbWUpO1xuXHR9XG5cblx0cHVibGljIHJldGlyZSgpOiB2b2lkIHtcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyLnJldGlyZSgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0YXdhaXQgdGhpcy5sb2dnZXJQcm92aWRlci5zdG9wKCk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGF3YWl0IHRoaXMuc3RvcCgpO1xuXHR9XG5cblx0cHVibGljIGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZT86IHN0cmluZyxcblx0XHRjdXN0b21MZXZlbHM/OiB7XG5cdFx0XHRbbGV2ZWwgaW4gVF06IG51bWJlcjtcblx0XHR9LFxuXHQpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdHRoaXMud2FybklmRGVmYXVsdEFkYXB0ZXIoKTtcblxuXHRcdC8vIElmIGN1c3RvbSBsZXZlbHMgYXJlIHByb3ZpZGVkLCB3ZSBuZWVkIHRvIHJlY29uZmlndXJlIHRoZSBhZGFwdGVyXG5cdFx0aWYgKGN1c3RvbUxldmVscykge1xuXHRcdFx0Y29uc3QgY3VycmVudE9wdGlvbnMgPSB0aGlzLm1lcmdlRGVmYXVsdHMoeyBjdXN0b21MZXZlbHMgfSk7XG5cdFx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyLmNvbmZpZ3VyZShjdXJyZW50T3B0aW9ucyk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbG9nZ2VyID0gdGhpcy5sb2dnZXJQcm92aWRlci5nZXRMb2dnZXIobmFtZSkgYXMgTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xuXHRcdHRoaXMuc3VwcG9ydHNMZXZlbHMoY3VzdG9tTGV2ZWxzLCBsb2dnZXIpO1xuXHRcdHJldHVybiBsb2dnZXI7XG5cdH1cblxuXHRwcml2YXRlIHdhcm5JZkRlZmF1bHRBZGFwdGVyKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmFkYXB0ZXJDb25maWd1cmVkIHx8IHRoaXMuZGVmYXVsdEFkYXB0ZXJXYXJuZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5kZWZhdWx0QWRhcHRlcldhcm5lZCA9IHRydWU7XG5cdFx0cHJvY2Vzcy5zdGRlcnIud3JpdGUoXG5cdFx0XHRcIltzY3JpYmVdIE5vIGxvZ2dlciBhZGFwdGVyIGNvbmZpZ3VyZWQ7IHVzaW5nIHRoZSBkZWZhdWx0IENvbnNvbGVBZGFwdGVyLiBcIiArXG5cdFx0XHRcdFwiQ29uZmlndXJlIGFuIGFkYXB0ZXIgYXQgeW91ciBjb21wb3NpdGlvbiByb290IChmb3IgcHJvZHVjdGlvbiwgcHJlZmVyIFwiICtcblx0XHRcdFx0XCJAZGVjb2hlcmUvc2NyaWJlLXBpbm8g4oaSIEpTT04gb24gc3Rkb3V0KS4gU2VlIFwiICtcblx0XHRcdFx0XCJodHRwczovL2dpdGh1Yi5jb20vdHlwZXNtaXRocy9kZWNvaGVyZS9ibG9iL21haW4vcHJvamVjdHMvc2NyaWJlL1JFQURNRS5tZFxcblwiLFxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIHN1cHBvcnRzTGV2ZWxzPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgPSB1bmRlZmluZWQ+KFxuXHRcdGN1c3RvbUxldmVsczoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0XHRsb2dnZXI6IExvZ2dlcjxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0aWYgKCFjdXN0b21MZXZlbHMpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBtaXNzaW5nTGV2ZWwgPSBPYmplY3QuZW50cmllcyhjdXN0b21MZXZlbHMpLmZpbmQoXG5cdFx0XHQoa2V5KSA9PiAhbG9nZ2VyLmxvZ0xldmVsc1trZXkuYXQoMCkudG9TdHJpbmcoKV0sXG5cdFx0KTtcblxuXHRcdGlmIChtaXNzaW5nTGV2ZWwgIT0gbnVsbCkge1xuXHRcdFx0dGhyb3cgbmV3IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IoXG5cdFx0XHRcdGBDdXJyZW50IGxvZ2dlciB3YXMgbm90IGNvbmZpZ3VyZWQgZm9yIGN1c3RvbSBsZXZlbCAke21pc3NpbmdMZXZlbH0sIHZhbGlkIGxldmVscyBhcmU6ICR7SlNPTi5zdHJpbmdpZnkobG9nZ2VyLmxvZ0xldmVscyl9YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7IG1pc3NpbmdMZXZlbCB9O1xuXHR9XG5cblx0cHJpdmF0ZSBtZXJnZURlZmF1bHRzPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRvcHRpb25zPzogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KTogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgbG9nTGV2ZWwgPSByZXNvbHZlTG9nTGV2ZWwob3B0aW9ucz8ubG9nTGV2ZWwpID8/IERlZmF1bHRMb2dMZXZlbDtcblx0XHQvLyBSZXNvbHZlZCBsb2dMZXZlbCBtdXN0IHdpbiBvdmVyIG9wdGlvbnMgc3ByZWFkIChpbnZhbGlkIGV4cGxpY2l0IHZhbHVlc1xuXHRcdC8vIHdvdWxkIG90aGVyd2lzZSBzdGljayDigJQgQ1UtODY5ZW1xanE4KS5cblx0XHRyZXR1cm4geyByZWRhY3Rpb25zOiBEZWZhdWx0UmVkYWN0aW9ucywgLi4ub3B0aW9ucywgbG9nTGV2ZWwgfTtcblx0fVxufVxuIl0sIm5hbWVzIjpbInNjcmliZSIsImxvZ2dlclByb3ZpZGVyIiwiYWRhcHRlckNvbmZpZ3VyZWQiLCJkZWZhdWx0QWRhcHRlcldhcm5lZCIsImluc3RhbmNlIiwibG9nZ2VyIiwibmFtZSIsImN1c3RvbUxldmVscyIsImdldExvZ2dlciIsImNyZWF0ZUxpdmVMb2dnZXIiLCJjb25maWd1cmUiLCJjb25maWdPcHRpb25zIiwicHJldmlvdXMiLCJyZXRpcmUiLCJzdG9wIiwiZmx1c2giLCJjYiIsIlByb3h5IiwiZ2V0IiwiX3RhcmdldCIsInByb3AiLCJ1bmRlcmx5aW5nIiwidmFsdWUiLCJSZWZsZWN0IiwiYmluZCIsImhhcyIsIkNvbnNvbGVBZGFwdGVyIiwiZGVmYXVsdE9wdGlvbnMiLCJtZXJnZURlZmF1bHRzIiwiYWRhcHRlciIsIm9wdGlvbnMiLCJkZWZhdWx0c0FuZE9wdGlvbnMiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiLCJ3YXJuSWZEZWZhdWx0QWRhcHRlciIsImN1cnJlbnRPcHRpb25zIiwic3VwcG9ydHNMZXZlbHMiLCJwcm9jZXNzIiwic3RkZXJyIiwid3JpdGUiLCJtaXNzaW5nTGV2ZWwiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmluZCIsImtleSIsImxvZ0xldmVscyIsImF0IiwidG9TdHJpbmciLCJMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsImxvZ0xldmVsIiwicmVzb2x2ZUxvZ0xldmVsIiwiRGVmYXVsdExvZ0xldmVsIiwicmVkYWN0aW9ucyIsIkRlZmF1bHRSZWRhY3Rpb25zIl0sIm1hcHBpbmdzIjoiOzs7OytCQWVhQTs7O2VBQUFBOzs7Z0NBZmtCO3FCQUNDO3dCQUNVO3VCQUc2QjtBQVVoRSxNQUFNQTtJQUNKQyxlQUE4QjtJQUN0QywrRkFBK0YsR0FDL0YsQUFBUUMsb0JBQW9CLE1BQU07SUFDMUJDLHVCQUF1QixNQUFNO0lBQ3JDLE9BQWVDLFdBQW1CLElBQUlKLFNBQVM7SUFFL0MsT0FBY0ssT0FDYkMsSUFBYSxFQUNiQyxZQUVDLEVBQ3VCO1FBQ3hCLHVFQUF1RTtRQUN2RSxnRUFBZ0U7UUFDaEUsSUFBSUEsY0FBYztZQUNqQlAsT0FBT0ksUUFBUSxDQUFDSSxTQUFTLENBQWdCRixNQUFNQztRQUNoRDtRQUNBLE9BQU9QLE9BQU9TLGdCQUFnQixDQUFnQkg7SUFDL0M7SUFFQSxPQUFjSSxVQUNiQyxhQUFrRCxFQUNqRDtRQUNELE1BQU1DLFdBQVdaLE9BQU9JLFFBQVE7UUFDaEMsMEVBQTBFO1FBQzFFUSxTQUFTQyxNQUFNO1FBQ2ZiLE9BQU9JLFFBQVEsR0FBRyxJQUFJSjtRQUN0QkEsT0FBT0ksUUFBUSxDQUFDTSxT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
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnNvbGVBZGFwdGVyIH0gZnJvbSBcIi4vY29uc29sZS5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlTG9nTGV2ZWwgfSBmcm9tIFwiLi9lbnYuanNcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0TG9nTGV2ZWwsIERlZmF1bHRSZWRhY3Rpb25zLCB0eXBlIFNjcmliZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG50eXBlIExvZ2dlckZhY3RvcnlPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZSxcbj4gPSB7XG5cdG9wdGlvbnM/OiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+O1xuXHRhZGFwdGVyOiBMb2dnZXJBZGFwdGVyO1xufTtcblxuZXhwb3J0IGNsYXNzIHNjcmliZSB7XG5cdHByaXZhdGUgbG9nZ2VyUHJvdmlkZXI6IExvZ2dlckFkYXB0ZXI7XG5cdHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBzY3JpYmUgPSBuZXcgc2NyaWJlKCk7XG5cblx0cHVibGljIHN0YXRpYyBsb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdFx0Y3VzdG9tTGV2ZWxzPzoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHRyZXR1cm4gc2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lLCBjdXN0b21MZXZlbHMpIGFzIExvZ2dlcjxcblx0XHRcdFQsXG5cdFx0XHRDdXN0b21Pbmx5XG5cdFx0Pjtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRjb25maWdPcHRpb25zOiBMb2dnZXJGYWN0b3J5T3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0c2NyaWJlLmluc3RhbmNlID0gbmV3IHNjcmliZSgpO1xuXHRcdHJldHVybiBzY3JpYmUuaW5zdGFuY2UuY29uZmlndXJlPFQsIEN1c3RvbU9ubHk+KGNvbmZpZ09wdGlvbnMpO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBnZXQgZXh0ZW5kKCkge1xuXHRcdHJldHVybiBzY3JpYmUuaW5zdGFuY2U7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGZsdXNoKGNiPzogKCkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdHNjcmliZS5pbnN0YW5jZS5sb2dnZXJQcm92aWRlci5mbHVzaChjYik7XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IoKSB7XG5cdFx0Ly8gSW5pdGlhbGl6ZSB3aXRoIGRlZmF1bHQgY29uc29sZSBhZGFwdGVyXG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlciA9IG5ldyBDb25zb2xlQWRhcHRlcigpO1xuXHRcdGNvbnN0IGRlZmF1bHRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzKCk7XG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlci5jb25maWd1cmUoZGVmYXVsdE9wdGlvbnMpO1xuXHR9XG5cblx0cHVibGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0Y29uZmlnT3B0aW9uczogTG9nZ2VyRmFjdG9yeU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk6IChuYW1lPzogc3RyaW5nKSA9PiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IHsgYWRhcHRlciwgb3B0aW9ucyB9ID0gY29uZmlnT3B0aW9ucztcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyID0gYWRhcHRlcjtcblx0XHRjb25zdCBkZWZhdWx0c0FuZE9wdGlvbnMgPSB0aGlzLm1lcmdlRGVmYXVsdHM8VCwgQ3VzdG9tT25seT4ob3B0aW9ucyk7XG5cdFx0YWRhcHRlci5jb25maWd1cmUoZGVmYXVsdHNBbmRPcHRpb25zKTtcblx0XHRyZXR1cm4gKG5hbWU/OiBzdHJpbmcpID0+IGFkYXB0ZXIuZ2V0TG9nZ2VyKG5hbWUpIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0fVxuXG5cdHB1YmxpYyBnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdFx0Y3VzdG9tTGV2ZWxzPzoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHQvLyBJZiBjdXN0b20gbGV2ZWxzIGFyZSBwcm92aWRlZCwgd2UgbmVlZCB0byByZWNvbmZpZ3VyZSB0aGUgYWRhcHRlclxuXHRcdGlmIChjdXN0b21MZXZlbHMpIHtcblx0XHRcdGNvbnN0IGN1cnJlbnRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzKHsgY3VzdG9tTGV2ZWxzIH0pO1xuXHRcdFx0dGhpcy5sb2dnZXJQcm92aWRlci5jb25maWd1cmUoY3VycmVudE9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGxvZ2dlciA9IHRoaXMubG9nZ2VyUHJvdmlkZXIuZ2V0TG9nZ2VyKG5hbWUpIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0XHR0aGlzLnN1cHBvcnRzTGV2ZWxzKGN1c3RvbUxldmVscywgbG9nZ2VyKTtcblx0XHRyZXR1cm4gbG9nZ2VyO1xuXHR9XG5cblx0cHJpdmF0ZSBzdXBwb3J0c0xldmVsczxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPihcblx0XHRjdXN0b21MZXZlbHM6IHtcblx0XHRcdFtsZXZlbCBpbiBUXTogbnVtYmVyO1xuXHRcdH0sXG5cdFx0bG9nZ2VyOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdGlmICghY3VzdG9tTGV2ZWxzKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgbWlzc2luZ0xldmVsID0gT2JqZWN0LmVudHJpZXMoY3VzdG9tTGV2ZWxzKS5maW5kKFxuXHRcdFx0KGtleSkgPT4gIWxvZ2dlci5sb2dMZXZlbHNba2V5LmF0KDApLnRvU3RyaW5nKCldLFxuXHRcdCk7XG5cblx0XHRpZiAobWlzc2luZ0xldmVsICE9IG51bGwpIHtcblx0XHRcdHRocm93IG5ldyBMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yKFxuXHRcdFx0XHRgQ3VycmVudCBsb2dnZXIgd2FzIG5vdCBjb25maWd1cmVkIGZvciBjdXN0b20gbGV2ZWwgJHttaXNzaW5nTGV2ZWx9LCB2YWxpZCBsZXZlbHMgYXJlOiAke0pTT04uc3RyaW5naWZ5KGxvZ2dlci5sb2dMZXZlbHMpfWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4geyBtaXNzaW5nTGV2ZWwgfTtcblx0fVxuXG5cdHByaXZhdGUgbWVyZ2VEZWZhdWx0czxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0b3B0aW9ucz86IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IGxvZ0xldmVsID0gcmVzb2x2ZUxvZ0xldmVsKG9wdGlvbnM/LmxvZ0xldmVsKSA/PyBEZWZhdWx0TG9nTGV2ZWw7XG5cdFx0cmV0dXJuIHsgbG9nTGV2ZWwsIHJlZGFjdGlvbnM6IERlZmF1bHRSZWRhY3Rpb25zLCAuLi5vcHRpb25zIH07XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJzY3JpYmUiLCJsb2dnZXJQcm92aWRlciIsImluc3RhbmNlIiwibG9nZ2VyIiwibmFtZSIsImN1c3RvbUxldmVscyIsImdldExvZ2dlciIsImNvbmZpZ3VyZSIsImNvbmZpZ09wdGlvbnMiLCJleHRlbmQiLCJmbHVzaCIsImNiIiwiQ29uc29sZUFkYXB0ZXIiLCJkZWZhdWx0T3B0aW9ucyIsIm1lcmdlRGVmYXVsdHMiLCJhZGFwdGVyIiwib3B0aW9ucyIsImRlZmF1bHRzQW5kT3B0aW9ucyIsImN1cnJlbnRPcHRpb25zIiwic3VwcG9ydHNMZXZlbHMiLCJtaXNzaW5nTGV2ZWwiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmluZCIsImtleSIsImxvZ0xldmVscyIsImF0IiwidG9TdHJpbmciLCJMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsImxvZ0xldmVsIiwicmVzb2x2ZUxvZ0xldmVsIiwiRGVmYXVsdExvZ0xldmVsIiwicmVkYWN0aW9ucyIsIkRlZmF1bHRSZWRhY3Rpb25zIl0sIm1hcHBpbmdzIjoiOzs7OytCQWVhQTs7O2VBQUFBOzs7Z0NBZmtCO3FCQUNDO3dCQUNVO3VCQUc2QjtBQVVoRSxNQUFNQTtJQUNKQyxlQUE4QjtJQUN0QyxPQUFlQyxXQUFtQixJQUFJRixTQUFTO0lBRS9DLE9BQWNHLE9BQ2JDLElBQWEsRUFDYkMsWUFFQyxFQUN1QjtRQUN4QixPQUFPTCxPQUFPRSxRQUFRLENBQUNJLFNBQVMsQ0FBZ0JGLE1BQU1DO0lBSXZEO0lBRUEsT0FBY0UsVUFDYkMsYUFBa0QsRUFDakQ7UUFDRFIsT0FBT0UsUUFBUSxHQUFHLElBQUlGO1FBQ3RCLE9BQU9BLE9BQU9FLFFBQVEsQ0FBQ0ssU0FBUyxDQUFnQkM7SUFDakQ7SUFFQSxXQUFrQkMsU0FBUztRQUMxQixPQUFPVCxPQUFPRSxRQUFRO0lBQ3ZCO0lBRUEsT0FBY1EsTUFBTUMsRUFBZSxFQUFRO1FBQzFDWCxPQUFPRSxRQUFRLENBQUNELGNBQWMsQ0FBQ1MsS0FBSyxDQUFDQztJQUN0QztJQUVBLGFBQXFCO1FBQ3BCLDBDQUEwQztRQUMxQyxJQUFJLENBQUNWLGNBQWMsR0FBRyxJQUFJVyw4QkFBYztRQUN4QyxNQUFNQyxpQkFBaUIsSUFBSSxDQUFDQyxhQUFhO1FBQ3pDLElBQUksQ0FBQ2IsY0FBYyxDQUFDTSxTQUFTLENBQUNNO0lBQy9CO0lBRU9OLFVBQ05DLGFBQWtELEVBQ1A7UUFDM0MsTUFBTSxFQUFFTyxPQUFPLEVBQUVDLE9BQU8sRUFBRSxHQUFHUjtRQUM3QixJQUFJLENBQUNQLGNBQWMsR0FBR2M7UUFDdEIsTUFBTUUscUJBQXFCLElBQUksQ0FBQ0gsYUFBYSxDQUFnQkU7UUFDN0RELFFBQVFSLFNBQVMsQ0FBQ1U7UUFDbEIsT0FBTyxDQUFDYixPQUFrQlcsUUFBUVQsU0FBUyxDQUFDRjtJQUM3QztJQUVPRSxVQUNORixJQUFhLEVBQ2JDLFlBRUMsRUFDdUI7UUFDeEIsb0VBQW9FO1FBQ3BFLElBQUlBLGNBQWM7WUFDakIsTUFBTWEsaUJBQWlCLElBQUksQ0FBQ0osYUFBYSxDQUFDO2dCQUFFVDtZQUFhO1lBQ3pELElBQUksQ0FBQ0osY0FBYyxDQUFDTSxTQUFTLENBQUNXO1FBQy9CO1FBRUEsTUFBTWYsU0FBUyxJQUFJLENBQUNGLGNBQWMsQ0FBQ0ssU0FBUyxDQUFDRjtRQUM3QyxJQUFJLENBQUNlLGNBQWMsQ0FBQ2QsY0FBY0Y7UUFDbEMsT0FBT0E7SUFDUjtJQUVRZ0IsZUFDUGQsWUFFQyxFQUNERixNQUE2QixFQUM1QjtRQUNELElBQUksQ0FBQ0UsY0FBYztZQUNsQjtRQUNEO1FBRUEsTUFBTWUsZUFBZUMsT0FBT0MsT0FBTyxDQUFDakIsY0FBY2tCLElBQUksQ0FDckQsQ0FBQ0MsTUFBUSxDQUFDckIsT0FBT3NCLFNBQVMsQ0FBQ0QsSUFBSUUsRUFBRSxDQUFDLEdBQUdDLFFBQVEsR0FBRztRQUdqRCxJQUFJUCxnQkFBZ0IsTUFBTTtZQUN6QixNQUFNLElBQUlRLGlDQUF5QixDQUNsQyxDQUFDLG1EQUFtRCxFQUFFUixhQUFhLG9CQUFvQixFQUFFUyxLQUFLQyxTQUFTLENBQUMzQixPQUFPc0IsU0FBUyxHQUFHO1FBRTdIO1FBQ0EsT0FBTztZQUFFTDtRQUFhO0lBQ3ZCO0lBRVFOLGNBQ1BFLE9BQXNDLEVBQ1A7UUFDL0IsTUFBTWUsV0FBV0MsSUFBQUEsb0JBQWUsRUFBQ2hCLFNBQVNlLGFBQWFFLHNCQUFlO1FBQ3RFLE9BQU87WUFBRUY7WUFBVUcsWUFBWUMsd0JBQWlCO1lBQUUsR0FBR25CLE9BQU87UUFBQztJQUM5RDtBQUNEIn0=
@@ -9,15 +9,9 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- get DefaultCensor () {
13
- return DefaultCensor;
14
- },
15
12
  get DefaultLogLevel () {
16
13
  return DefaultLogLevel;
17
14
  },
18
- get DefaultRedactionKeys () {
19
- return DefaultRedactionKeys;
20
- },
21
15
  get DefaultRedactions () {
22
16
  return DefaultRedactions;
23
17
  },
@@ -42,20 +36,11 @@ const LogLevels = {
42
36
  trace: 10
43
37
  };
44
38
  const DefaultLogLevel = "info";
45
- const DefaultCensor = "[Redacted]";
46
- const DefaultRedactionKeys = [
47
- "password",
48
- "secret",
49
- "token",
50
- "otp",
51
- "pw",
52
- "userconfig"
53
- ];
54
39
  const DefaultRedactions = {
55
- paths: DefaultRedactionKeys.flatMap((key)=>[
56
- key,
57
- `*.${key}`
58
- ])
40
+ paths: [
41
+ "*.password",
42
+ "*.secret"
43
+ ]
59
44
  };
60
45
 
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IExPR19MRVZFTFMgPSBbXCJmYXRhbFwiLCBcImVycm9yXCIsIFwid2FyblwiLCBcImluZm9cIiwgXCJkZWJ1Z1wiLCBcInRyYWNlXCJdIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBMb2dMZXZlbCA9IHR5cGVvZiBMT0dfTEVWRUxTO1xuXG5leHBvcnQgdHlwZSBEZWZhdWx0TGV2ZWxzID0gTG9nTGV2ZWxbbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IExvZ0xldmVscyA9IHtcblx0ZmF0YWw6IDYwLFxuXHRlcnJvcjogNTAsXG5cdHdhcm46IDQwLFxuXHRpbmZvOiAzMCxcblx0ZGVidWc6IDIwLFxuXHR0cmFjZTogMTAsXG59IHNhdGlzZmllcyBSZWNvcmQ8RGVmYXVsdExldmVscywgbnVtYmVyPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRMb2dMZXZlbDogRGVmYXVsdExldmVscyA9IFwiaW5mb1wiO1xuXG5leHBvcnQgdHlwZSBSZWRhY3Rpb25PcHRpb25zID0ge1xuXHRwYXRoczogc3RyaW5nW107XG59O1xuXG4vKiogUGlubydzIGRlZmF1bHQgY2Vuc29yLiBDb25zb2xlQWRhcHRlciB1c2VzIHRoZSBzYW1lIHBsYWNlaG9sZGVyLiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDZW5zb3IgPSBcIltSZWRhY3RlZF1cIjtcblxuLyoqXG4gKiBPYmplY3Qga2V5cyBTY3JpYmUgcmVkYWN0cy4gQWRhcHRlcnMgYXBwbHkgdGhpcyBsaXN0IOKAlCBQaW5vIHZpYSBgcmVkYWN0LnBhdGhzYFxuICogKHRvcC1sZXZlbCBhbmQgb25lIG5lc3QpLCBDb25zb2xlQWRhcHRlciB2aWEgYHJlZGFjdC5vYmplY3RgLlxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFJlZGFjdGlvbktleXMgPSBbXG5cdFwicGFzc3dvcmRcIixcblx0XCJzZWNyZXRcIixcblx0XCJ0b2tlblwiLFxuXHRcIm90cFwiLFxuXHRcInB3XCIsXG5cdFwidXNlcmNvbmZpZ1wiLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRSZWRhY3Rpb25zOiBSZWRhY3Rpb25PcHRpb25zID0ge1xuXHRwYXRoczogRGVmYXVsdFJlZGFjdGlvbktleXMuZmxhdE1hcCgoa2V5KSA9PiBba2V5LCBgKi4ke2tleX1gXSksXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjcmliZU9wdGlvbnM8XG5cdFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlcixcblx0Q3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IHVuZGVmaW5lZCxcbj4ge1xuXHRsb2dMZXZlbD86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmc7XG5cdGN1c3RvbUxldmVscz86IHtcblx0XHRbbGV2ZWwgaW4gVF06IG51bWJlcjtcblx0fTtcblx0Y3VzdG9tT25seT86IEN1c3RvbU9ubHk7XG5cdHJlZGFjdGlvbnM/OiBSZWRhY3Rpb25PcHRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBMb2dBZGFwdGVyT3B0aW9ucyA9IFJlY29yZDxzdHJpbmcsIG5ldmVyPjtcbiJdLCJuYW1lcyI6WyJEZWZhdWx0Q2Vuc29yIiwiRGVmYXVsdExvZ0xldmVsIiwiRGVmYXVsdFJlZGFjdGlvbktleXMiLCJEZWZhdWx0UmVkYWN0aW9ucyIsIkxvZ0xldmVscyIsIkxPR19MRVZFTFMiLCJmYXRhbCIsImVycm9yIiwid2FybiIsImluZm8iLCJkZWJ1ZyIsInRyYWNlIiwicGF0aHMiLCJmbGF0TWFwIiwia2V5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQXNCYUE7ZUFBQUE7O1FBUEFDO2VBQUFBOztRQWFBQztlQUFBQTs7UUFTQUM7ZUFBQUE7O1FBL0JBQztlQUFBQTs7O0FBTmIsTUFBTUMsYUFBYTtJQUFDO0lBQVM7SUFBUztJQUFRO0lBQVE7SUFBUztDQUFRO0FBTWhFLE1BQU1ELFlBQVk7SUFDeEJFLE9BQU87SUFDUEMsT0FBTztJQUNQQyxNQUFNO0lBQ05DLE1BQU07SUFDTkMsT0FBTztJQUNQQyxPQUFPO0FBQ1I7QUFFTyxNQUFNVixrQkFBaUM7QUFPdkMsTUFBTUQsZ0JBQWdCO0FBTXRCLE1BQU1FLHVCQUF1QjtJQUNuQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDQTtBQUVNLE1BQU1DLG9CQUFzQztJQUNsRFMsT0FBT1YscUJBQXFCVyxPQUFPLENBQUMsQ0FBQ0MsTUFBUTtZQUFDQTtZQUFLLENBQUMsRUFBRSxFQUFFQSxLQUFLO1NBQUM7QUFDL0QifQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IExPR19MRVZFTFMgPSBbXCJmYXRhbFwiLCBcImVycm9yXCIsIFwid2FyblwiLCBcImluZm9cIiwgXCJkZWJ1Z1wiLCBcInRyYWNlXCJdIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBMb2dMZXZlbCA9IHR5cGVvZiBMT0dfTEVWRUxTO1xuXG5leHBvcnQgdHlwZSBEZWZhdWx0TGV2ZWxzID0gTG9nTGV2ZWxbbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IExvZ0xldmVscyA9IHtcblx0ZmF0YWw6IDYwLFxuXHRlcnJvcjogNTAsXG5cdHdhcm46IDQwLFxuXHRpbmZvOiAzMCxcblx0ZGVidWc6IDIwLFxuXHR0cmFjZTogMTAsXG59IHNhdGlzZmllcyBSZWNvcmQ8RGVmYXVsdExldmVscywgbnVtYmVyPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRMb2dMZXZlbDogRGVmYXVsdExldmVscyA9IFwiaW5mb1wiO1xuXG5leHBvcnQgdHlwZSBSZWRhY3Rpb25PcHRpb25zID0ge1xuXHRwYXRoczogc3RyaW5nW107XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFJlZGFjdGlvbnM6IFJlZGFjdGlvbk9wdGlvbnMgPSB7IHBhdGhzOiBbXCIqLnBhc3N3b3JkXCIsIFwiKi5zZWNyZXRcIl0gfTtcblxuZXhwb3J0IGludGVyZmFjZSBTY3JpYmVPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSB1bmRlZmluZWQsXG4+IHtcblx0bG9nTGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nO1xuXHRjdXN0b21MZXZlbHM/OiB7XG5cdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdH07XG5cdGN1c3RvbU9ubHk/OiBDdXN0b21Pbmx5O1xuXHRyZWRhY3Rpb25zPzogUmVkYWN0aW9uT3B0aW9ucztcbn1cblxuZXhwb3J0IHR5cGUgTG9nQWRhcHRlck9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBuZXZlcj47XG4iXSwibmFtZXMiOlsiRGVmYXVsdExvZ0xldmVsIiwiRGVmYXVsdFJlZGFjdGlvbnMiLCJMb2dMZXZlbHMiLCJMT0dfTEVWRUxTIiwiZmF0YWwiLCJlcnJvciIsIndhcm4iLCJpbmZvIiwiZGVidWciLCJ0cmFjZSIsInBhdGhzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQWVhQTtlQUFBQTs7UUFNQUM7ZUFBQUE7O1FBZkFDO2VBQUFBOzs7QUFOYixNQUFNQyxhQUFhO0lBQUM7SUFBUztJQUFTO0lBQVE7SUFBUTtJQUFTO0NBQVE7QUFNaEUsTUFBTUQsWUFBWTtJQUN4QkUsT0FBTztJQUNQQyxPQUFPO0lBQ1BDLE1BQU07SUFDTkMsTUFBTTtJQUNOQyxPQUFPO0lBQ1BDLE9BQU87QUFDUjtBQUVPLE1BQU1ULGtCQUFpQztBQU12QyxNQUFNQyxvQkFBc0M7SUFBRVMsT0FBTztRQUFDO1FBQWM7S0FBVztBQUFDIn0=
@@ -1,30 +1,28 @@
1
- import { formatError, LogAdapter } from "./logger.adapter.js";
2
- import { redact } from "./redact.js";
1
+ import { LogAdapter } from "./logger.adapter.js";
3
2
  import { DefaultLogLevel, LogLevels } from "./types.js";
4
3
  export class ConsoleAdapter extends LogAdapter {
5
4
  configuredLevels;
6
5
  configuredLogLevel = DefaultLogLevel;
7
6
  configuredLogLevelValue = LogLevels.info;
8
- redactionKeys = redact.fromOptions();
9
7
  constructor(_options = {}){
10
8
  super();
11
9
  }
12
10
  configure(scribeOptions) {
11
+ // Get merged log levels (default + custom) using parent class method
13
12
  this.configuredLevels = this.getLogLevels(scribeOptions);
14
13
  const logLevelStr = scribeOptions.logLevel ?? DefaultLogLevel;
15
14
  this.configuredLogLevel = logLevelStr;
16
15
  this.configuredLogLevelValue = this.configuredLevels[logLevelStr] ?? LogLevels.info;
17
- this.redactionKeys = redact.fromOptions(scribeOptions.redactions);
18
16
  }
19
17
  getLogger(name) {
20
18
  const loggerName = name || "default";
21
19
  return this.createConsoleLogger(loggerName);
22
20
  }
23
21
  createConsoleLogger(name) {
22
+ // Use the levels configured during the configure() call
24
23
  const allLevels = this.configuredLevels;
25
24
  const currentLevel = this.configuredLogLevel;
26
25
  const threshold = this.configuredLogLevelValue;
27
- const redactionKeys = this.redactionKeys;
28
26
  const baseLogger = {
29
27
  get currentLevel () {
30
28
  return currentLevel;
@@ -37,22 +35,24 @@ export class ConsoleAdapter extends LogAdapter {
37
35
  const timestamp = new Date().toISOString();
38
36
  let message;
39
37
  if (typeof msg === "object") {
40
- message = msg instanceof Error ? formatError(msg) : JSON.stringify(redact.object(msg, redactionKeys));
38
+ message = JSON.stringify(msg);
41
39
  } else {
42
40
  message = String(msg);
43
41
  }
44
42
  const logLine = `[${timestamp}] ${level.toUpperCase()} [${name}]: ${message}`;
45
- const payload = args.map((arg)=>redact.object(arg, redactionKeys));
46
- if (payload.length > 0) {
47
- console.log(logLine, ...payload);
43
+ if (args.length > 0) {
44
+ console.log(logLine, ...args);
48
45
  } else {
49
46
  console.log(logLine);
50
47
  }
51
48
  };
52
49
  const noop = ()=>{};
50
+ // Start with base logger and isLevelEnabled method
53
51
  const logger = Object.assign(baseLogger, {
54
52
  isLevelEnabled: (level)=>(allLevels[level] ?? 0) >= threshold
55
53
  });
54
+ // Dynamically add all log level methods (default + custom)
55
+ // Levels below the configured threshold are patched to noop
56
56
  for (const [levelName, levelValue] of Object.entries(allLevels)){
57
57
  // biome-ignore lint/suspicious/noExplicitAny: Dynamic logger level creation requires any
58
58
  logger[levelName] = levelValue >= threshold ? logFunction(levelName) : noop;
@@ -61,4 +61,4 @@ export class ConsoleAdapter extends LogAdapter {
61
61
  }
62
62
  }
63
63
 
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2NvbnNvbGUuYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXRFcnJvciwgTG9nQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEJhc2VMb2dnZXIsIExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyByZWRhY3QgfSBmcm9tIFwiLi9yZWRhY3QuanNcIjtcbmltcG9ydCB7XG5cdERlZmF1bHRMb2dMZXZlbCxcblx0dHlwZSBMb2dBZGFwdGVyT3B0aW9ucyxcblx0TG9nTGV2ZWxzLFxuXHR0eXBlIFNjcmliZU9wdGlvbnMsXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbnNvbGVBZGFwdGVyT3B0aW9ucyA9IHt9ICYgTG9nQWRhcHRlck9wdGlvbnM7XG5cbmV4cG9ydCBjbGFzcyBDb25zb2xlQWRhcHRlciBleHRlbmRzIExvZ0FkYXB0ZXIge1xuXHRwcml2YXRlIGNvbmZpZ3VyZWRMZXZlbHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG5cdHByaXZhdGUgY29uZmlndXJlZExvZ0xldmVsOiBzdHJpbmcgPSBEZWZhdWx0TG9nTGV2ZWw7XG5cdHByaXZhdGUgY29uZmlndXJlZExvZ0xldmVsVmFsdWU6IG51bWJlciA9IExvZ0xldmVscy5pbmZvO1xuXHRwcml2YXRlIHJlZGFjdGlvbktleXM6IFJlYWRvbmx5U2V0PHN0cmluZz4gPSByZWRhY3QuZnJvbU9wdGlvbnMoKTtcblxuXHRwdWJsaWMgY29uc3RydWN0b3IoX29wdGlvbnM6IENvbnNvbGVBZGFwdGVyT3B0aW9ucyA9IHt9KSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdHB1YmxpYyBjb25maWd1cmU8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdHNjcmliZU9wdGlvbnM6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdHRoaXMuY29uZmlndXJlZExldmVscyA9IHRoaXMuZ2V0TG9nTGV2ZWxzKHNjcmliZU9wdGlvbnMpO1xuXHRcdGNvbnN0IGxvZ0xldmVsU3RyID0gc2NyaWJlT3B0aW9ucy5sb2dMZXZlbCA/PyBEZWZhdWx0TG9nTGV2ZWw7XG5cdFx0dGhpcy5jb25maWd1cmVkTG9nTGV2ZWwgPSBsb2dMZXZlbFN0cjtcblx0XHR0aGlzLmNvbmZpZ3VyZWRMb2dMZXZlbFZhbHVlID0gdGhpcy5jb25maWd1cmVkTGV2ZWxzW2xvZ0xldmVsU3RyXSA/PyBMb2dMZXZlbHMuaW5mbztcblx0XHR0aGlzLnJlZGFjdGlvbktleXMgPSByZWRhY3QuZnJvbU9wdGlvbnMoc2NyaWJlT3B0aW9ucy5yZWRhY3Rpb25zKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgbG9nZ2VyTmFtZSA9IG5hbWUgfHwgXCJkZWZhdWx0XCI7XG5cdFx0cmV0dXJuIHRoaXMuY3JlYXRlQ29uc29sZUxvZ2dlcjxULCBDdXN0b21Pbmx5Pihsb2dnZXJOYW1lKTtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlQ29uc29sZUxvZ2dlcjxcblx0XHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdFx0Q3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlLFxuXHQ+KG5hbWU6IHN0cmluZyk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgYWxsTGV2ZWxzID0gdGhpcy5jb25maWd1cmVkTGV2ZWxzO1xuXHRcdGNvbnN0IGN1cnJlbnRMZXZlbCA9IHRoaXMuY29uZmlndXJlZExvZ0xldmVsO1xuXHRcdGNvbnN0IHRocmVzaG9sZCA9IHRoaXMuY29uZmlndXJlZExvZ0xldmVsVmFsdWU7XG5cdFx0Y29uc3QgcmVkYWN0aW9uS2V5cyA9IHRoaXMucmVkYWN0aW9uS2V5cztcblxuXHRcdGNvbnN0IGJhc2VMb2dnZXI6IEJhc2VMb2dnZXIgPSB7XG5cdFx0XHRnZXQgY3VycmVudExldmVsKCkge1xuXHRcdFx0XHRyZXR1cm4gY3VycmVudExldmVsO1xuXHRcdFx0fSxcblx0XHRcdGdldCBsb2dMZXZlbHMoKSB7XG5cdFx0XHRcdHJldHVybiBhbGxMZXZlbHM7XG5cdFx0XHR9LFxuXHRcdH07XG5cblx0XHRjb25zdCBsb2dGdW5jdGlvbiA9XG5cdFx0XHQobGV2ZWw6IHN0cmluZykgPT5cblx0XHRcdChtc2c6IHN0cmluZyB8IG51bWJlciB8IG9iamVjdCwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcblx0XHRcdFx0bGV0IG1lc3NhZ2U6IHN0cmluZztcblxuXHRcdFx0XHRpZiAodHlwZW9mIG1zZyA9PT0gXCJvYmplY3RcIikge1xuXHRcdFx0XHRcdG1lc3NhZ2UgPVxuXHRcdFx0XHRcdFx0bXNnIGluc3RhbmNlb2YgRXJyb3Jcblx0XHRcdFx0XHRcdFx0PyBmb3JtYXRFcnJvcihtc2cpXG5cdFx0XHRcdFx0XHRcdDogSlNPTi5zdHJpbmdpZnkocmVkYWN0Lm9iamVjdChtc2csIHJlZGFjdGlvbktleXMpKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRtZXNzYWdlID0gU3RyaW5nKG1zZyk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBsb2dMaW5lID0gYFske3RpbWVzdGFtcH1dICR7bGV2ZWwudG9VcHBlckNhc2UoKX0gWyR7bmFtZX1dOiAke21lc3NhZ2V9YDtcblx0XHRcdFx0Y29uc3QgcGF5bG9hZCA9IGFyZ3MubWFwKChhcmcpID0+IHJlZGFjdC5vYmplY3QoYXJnLCByZWRhY3Rpb25LZXlzKSk7XG5cblx0XHRcdFx0aWYgKHBheWxvYWQubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGxvZ0xpbmUsIC4uLnBheWxvYWQpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGxvZ0xpbmUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0Y29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG5cdFx0Y29uc3QgbG9nZ2VyID0gT2JqZWN0LmFzc2lnbihiYXNlTG9nZ2VyLCB7XG5cdFx0XHRpc0xldmVsRW5hYmxlZDogKGxldmVsOiBzdHJpbmcpID0+IChhbGxMZXZlbHNbbGV2ZWxdID8/IDApID49IHRocmVzaG9sZCxcblx0XHR9KTtcblxuXHRcdGZvciAoY29uc3QgW2xldmVsTmFtZSwgbGV2ZWxWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoYWxsTGV2ZWxzKSkge1xuXHRcdFx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0V4cGxpY2l0QW55OiBEeW5hbWljIGxvZ2dlciBsZXZlbCBjcmVhdGlvbiByZXF1aXJlcyBhbnlcblx0XHRcdChsb2dnZXIgYXMgYW55KVtsZXZlbE5hbWVdID0gbGV2ZWxWYWx1ZSA+PSB0aHJlc2hvbGQgPyBsb2dGdW5jdGlvbihsZXZlbE5hbWUpIDogbm9vcDtcblx0XHR9XG5cblx0XHRyZXR1cm4gbG9nZ2VyIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0fVxufVxuIl0sIm5hbWVzIjpbImZvcm1hdEVycm9yIiwiTG9nQWRhcHRlciIsInJlZGFjdCIsIkRlZmF1bHRMb2dMZXZlbCIsIkxvZ0xldmVscyIsIkNvbnNvbGVBZGFwdGVyIiwiY29uZmlndXJlZExldmVscyIsImNvbmZpZ3VyZWRMb2dMZXZlbCIsImNvbmZpZ3VyZWRMb2dMZXZlbFZhbHVlIiwiaW5mbyIsInJlZGFjdGlvbktleXMiLCJmcm9tT3B0aW9ucyIsIl9vcHRpb25zIiwiY29uZmlndXJlIiwic2NyaWJlT3B0aW9ucyIsImdldExvZ0xldmVscyIsImxvZ0xldmVsU3RyIiwibG9nTGV2ZWwiLCJyZWRhY3Rpb25zIiwiZ2V0TG9nZ2VyIiwibmFtZSIsImxvZ2dlck5hbWUiLCJjcmVhdGVDb25zb2xlTG9nZ2VyIiwiYWxsTGV2ZWxzIiwiY3VycmVudExldmVsIiwidGhyZXNob2xkIiwiYmFzZUxvZ2dlciIsImxvZ0xldmVscyIsImxvZ0Z1bmN0aW9uIiwibGV2ZWwiLCJtc2ciLCJhcmdzIiwidGltZXN0YW1wIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwibWVzc2FnZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9iamVjdCIsIlN0cmluZyIsImxvZ0xpbmUiLCJ0b1VwcGVyQ2FzZSIsInBheWxvYWQiLCJtYXAiLCJhcmciLCJsZW5ndGgiLCJjb25zb2xlIiwibG9nIiwibm9vcCIsImxvZ2dlciIsIk9iamVjdCIsImFzc2lnbiIsImlzTGV2ZWxFbmFibGVkIiwibGV2ZWxOYW1lIiwibGV2ZWxWYWx1ZSIsImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFdBQVcsRUFBRUMsVUFBVSxRQUFRLHNCQUFzQjtBQUU5RCxTQUFTQyxNQUFNLFFBQVEsY0FBYztBQUNyQyxTQUNDQyxlQUFlLEVBRWZDLFNBQVMsUUFFSCxhQUFhO0FBSXBCLE9BQU8sTUFBTUMsdUJBQXVCSjtJQUMzQkssaUJBQXlDO0lBQ3pDQyxxQkFBNkJKLGdCQUFnQjtJQUM3Q0ssMEJBQWtDSixVQUFVSyxJQUFJLENBQUM7SUFDakRDLGdCQUFxQ1IsT0FBT1MsV0FBVyxHQUFHO0lBRWxFLFlBQW1CQyxXQUFrQyxDQUFDLENBQUMsQ0FBRTtRQUN4RCxLQUFLO0lBQ047SUFFT0MsVUFDTkMsYUFBMkMsRUFDMUM7UUFDRCxJQUFJLENBQUNSLGdCQUFnQixHQUFHLElBQUksQ0FBQ1MsWUFBWSxDQUFDRDtRQUMxQyxNQUFNRSxjQUFjRixjQUFjRyxRQUFRLElBQUlkO1FBQzlDLElBQUksQ0FBQ0ksa0JBQWtCLEdBQUdTO1FBQzFCLElBQUksQ0FBQ1IsdUJBQXVCLEdBQUcsSUFBSSxDQUFDRixnQkFBZ0IsQ0FBQ1UsWUFBWSxJQUFJWixVQUFVSyxJQUFJO1FBQ25GLElBQUksQ0FBQ0MsYUFBYSxHQUFHUixPQUFPUyxXQUFXLENBQUNHLGNBQWNJLFVBQVU7SUFDakU7SUFFT0MsVUFDTkMsSUFBYSxFQUNXO1FBQ3hCLE1BQU1DLGFBQWFELFFBQVE7UUFDM0IsT0FBTyxJQUFJLENBQUNFLG1CQUFtQixDQUFnQkQ7SUFDaEQ7SUFFUUMsb0JBR05GLElBQVksRUFBeUI7UUFDdEMsTUFBTUcsWUFBWSxJQUFJLENBQUNqQixnQkFBZ0I7UUFDdkMsTUFBTWtCLGVBQWUsSUFBSSxDQUFDakIsa0JBQWtCO1FBQzVDLE1BQU1rQixZQUFZLElBQUksQ0FBQ2pCLHVCQUF1QjtRQUM5QyxNQUFNRSxnQkFBZ0IsSUFBSSxDQUFDQSxhQUFhO1FBRXhDLE1BQU1nQixhQUF5QjtZQUM5QixJQUFJRixnQkFBZTtnQkFDbEIsT0FBT0E7WUFDUjtZQUNBLElBQUlHLGFBQVk7Z0JBQ2YsT0FBT0o7WUFDUjtRQUNEO1FBRUEsTUFBTUssY0FDTCxDQUFDQyxRQUNELENBQUNDLEtBQStCLEdBQUdDO2dCQUNsQyxNQUFNQyxZQUFZLElBQUlDLE9BQU9DLFdBQVc7Z0JBQ3hDLElBQUlDO2dCQUVKLElBQUksT0FBT0wsUUFBUSxVQUFVO29CQUM1QkssVUFDQ0wsZUFBZU0sUUFDWnBDLFlBQVk4QixPQUNaTyxLQUFLQyxTQUFTLENBQUNwQyxPQUFPcUMsTUFBTSxDQUFDVCxLQUFLcEI7Z0JBQ3ZDLE9BQU87b0JBQ055QixVQUFVSyxPQUFPVjtnQkFDbEI7Z0JBRUEsTUFBTVcsVUFBVSxDQUFDLENBQUMsRUFBRVQsVUFBVSxFQUFFLEVBQUVILE1BQU1hLFdBQVcsR0FBRyxFQUFFLEVBQUV0QixLQUFLLEdBQUcsRUFBRWUsU0FBUztnQkFDN0UsTUFBTVEsVUFBVVosS0FBS2EsR0FBRyxDQUFDLENBQUNDLE1BQVEzQyxPQUFPcUMsTUFBTSxDQUFDTSxLQUFLbkM7Z0JBRXJELElBQUlpQyxRQUFRRyxNQUFNLEdBQUcsR0FBRztvQkFDdkJDLFFBQVFDLEdBQUcsQ0FBQ1AsWUFBWUU7Z0JBQ3pCLE9BQU87b0JBQ05JLFFBQVFDLEdBQUcsQ0FBQ1A7Z0JBQ2I7WUFDRDtRQUVELE1BQU1RLE9BQU8sS0FBTztRQUVwQixNQUFNQyxTQUFTQyxPQUFPQyxNQUFNLENBQUMxQixZQUFZO1lBQ3hDMkIsZ0JBQWdCLENBQUN4QixRQUFrQixBQUFDTixDQUFBQSxTQUFTLENBQUNNLE1BQU0sSUFBSSxDQUFBLEtBQU1KO1FBQy9EO1FBRUEsS0FBSyxNQUFNLENBQUM2QixXQUFXQyxXQUFXLElBQUlKLE9BQU9LLE9BQU8sQ0FBQ2pDLFdBQVk7WUFDaEUseUZBQXlGO1lBQ3hGMkIsTUFBYyxDQUFDSSxVQUFVLEdBQUdDLGNBQWM5QixZQUFZRyxZQUFZMEIsYUFBYUw7UUFDakY7UUFFQSxPQUFPQztJQUNSO0FBQ0QifQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2NvbnNvbGUuYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dBZGFwdGVyIH0gZnJvbSBcIi4vbG9nZ2VyLmFkYXB0ZXIuanNcIjtcbmltcG9ydCB0eXBlIHsgQmFzZUxvZ2dlciwgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7XG5cdERlZmF1bHRMb2dMZXZlbCxcblx0dHlwZSBMb2dBZGFwdGVyT3B0aW9ucyxcblx0TG9nTGV2ZWxzLFxuXHR0eXBlIFNjcmliZU9wdGlvbnMsXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbnNvbGVBZGFwdGVyT3B0aW9ucyA9IHt9ICYgTG9nQWRhcHRlck9wdGlvbnM7XG5cbmV4cG9ydCBjbGFzcyBDb25zb2xlQWRhcHRlciBleHRlbmRzIExvZ0FkYXB0ZXIge1xuXHRwcml2YXRlIGNvbmZpZ3VyZWRMZXZlbHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG5cdHByaXZhdGUgY29uZmlndXJlZExvZ0xldmVsOiBzdHJpbmcgPSBEZWZhdWx0TG9nTGV2ZWw7XG5cdHByaXZhdGUgY29uZmlndXJlZExvZ0xldmVsVmFsdWU6IG51bWJlciA9IExvZ0xldmVscy5pbmZvO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihfb3B0aW9uczogQ29uc29sZUFkYXB0ZXJPcHRpb25zID0ge30pIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0cHVibGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0c2NyaWJlT3B0aW9uczogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0Ly8gR2V0IG1lcmdlZCBsb2cgbGV2ZWxzIChkZWZhdWx0ICsgY3VzdG9tKSB1c2luZyBwYXJlbnQgY2xhc3MgbWV0aG9kXG5cdFx0dGhpcy5jb25maWd1cmVkTGV2ZWxzID0gdGhpcy5nZXRMb2dMZXZlbHMoc2NyaWJlT3B0aW9ucyk7XG5cdFx0Y29uc3QgbG9nTGV2ZWxTdHIgPSBzY3JpYmVPcHRpb25zLmxvZ0xldmVsID8/IERlZmF1bHRMb2dMZXZlbDtcblx0XHR0aGlzLmNvbmZpZ3VyZWRMb2dMZXZlbCA9IGxvZ0xldmVsU3RyO1xuXHRcdHRoaXMuY29uZmlndXJlZExvZ0xldmVsVmFsdWUgPSB0aGlzLmNvbmZpZ3VyZWRMZXZlbHNbbG9nTGV2ZWxTdHJdID8/IExvZ0xldmVscy5pbmZvO1xuXHR9XG5cblx0cHVibGljIGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZT86IHN0cmluZyxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHRjb25zdCBsb2dnZXJOYW1lID0gbmFtZSB8fCBcImRlZmF1bHRcIjtcblx0XHRyZXR1cm4gdGhpcy5jcmVhdGVDb25zb2xlTG9nZ2VyPFQsIEN1c3RvbU9ubHk+KGxvZ2dlck5hbWUpO1xuXHR9XG5cblx0cHJpdmF0ZSBjcmVhdGVDb25zb2xlTG9nZ2VyPFxuXHRcdFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlcixcblx0XHRDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2UsXG5cdD4obmFtZTogc3RyaW5nKTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHQvLyBVc2UgdGhlIGxldmVscyBjb25maWd1cmVkIGR1cmluZyB0aGUgY29uZmlndXJlKCkgY2FsbFxuXHRcdGNvbnN0IGFsbExldmVscyA9IHRoaXMuY29uZmlndXJlZExldmVscztcblx0XHRjb25zdCBjdXJyZW50TGV2ZWwgPSB0aGlzLmNvbmZpZ3VyZWRMb2dMZXZlbDtcblx0XHRjb25zdCB0aHJlc2hvbGQgPSB0aGlzLmNvbmZpZ3VyZWRMb2dMZXZlbFZhbHVlO1xuXG5cdFx0Y29uc3QgYmFzZUxvZ2dlcjogQmFzZUxvZ2dlciA9IHtcblx0XHRcdGdldCBjdXJyZW50TGV2ZWwoKSB7XG5cdFx0XHRcdHJldHVybiBjdXJyZW50TGV2ZWw7XG5cdFx0XHR9LFxuXHRcdFx0Z2V0IGxvZ0xldmVscygpIHtcblx0XHRcdFx0cmV0dXJuIGFsbExldmVscztcblx0XHRcdH0sXG5cdFx0fTtcblxuXHRcdGNvbnN0IGxvZ0Z1bmN0aW9uID1cblx0XHRcdChsZXZlbDogc3RyaW5nKSA9PlxuXHRcdFx0KG1zZzogc3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcblx0XHRcdFx0Y29uc3QgdGltZXN0YW1wID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuXHRcdFx0XHRsZXQgbWVzc2FnZTogc3RyaW5nO1xuXG5cdFx0XHRcdGlmICh0eXBlb2YgbXNnID09PSBcIm9iamVjdFwiKSB7XG5cdFx0XHRcdFx0bWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KG1zZyk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0bWVzc2FnZSA9IFN0cmluZyhtc2cpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y29uc3QgbG9nTGluZSA9IGBbJHt0aW1lc3RhbXB9XSAke2xldmVsLnRvVXBwZXJDYXNlKCl9IFske25hbWV9XTogJHttZXNzYWdlfWA7XG5cblx0XHRcdFx0aWYgKGFyZ3MubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGxvZ0xpbmUsIC4uLmFyZ3MpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGxvZ0xpbmUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0Y29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG5cdFx0Ly8gU3RhcnQgd2l0aCBiYXNlIGxvZ2dlciBhbmQgaXNMZXZlbEVuYWJsZWQgbWV0aG9kXG5cdFx0Y29uc3QgbG9nZ2VyID0gT2JqZWN0LmFzc2lnbihiYXNlTG9nZ2VyLCB7XG5cdFx0XHRpc0xldmVsRW5hYmxlZDogKGxldmVsOiBzdHJpbmcpID0+IChhbGxMZXZlbHNbbGV2ZWxdID8/IDApID49IHRocmVzaG9sZCxcblx0XHR9KTtcblxuXHRcdC8vIER5bmFtaWNhbGx5IGFkZCBhbGwgbG9nIGxldmVsIG1ldGhvZHMgKGRlZmF1bHQgKyBjdXN0b20pXG5cdFx0Ly8gTGV2ZWxzIGJlbG93IHRoZSBjb25maWd1cmVkIHRocmVzaG9sZCBhcmUgcGF0Y2hlZCB0byBub29wXG5cdFx0Zm9yIChjb25zdCBbbGV2ZWxOYW1lLCBsZXZlbFZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhbGxMZXZlbHMpKSB7XG5cdFx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IER5bmFtaWMgbG9nZ2VyIGxldmVsIGNyZWF0aW9uIHJlcXVpcmVzIGFueVxuXHRcdFx0KGxvZ2dlciBhcyBhbnkpW2xldmVsTmFtZV0gPSBsZXZlbFZhbHVlID49IHRocmVzaG9sZCA/IGxvZ0Z1bmN0aW9uKGxldmVsTmFtZSkgOiBub29wO1xuXHRcdH1cblxuXHRcdHJldHVybiBsb2dnZXIgYXMgTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xuXHR9XG59XG4iXSwibmFtZXMiOlsiTG9nQWRhcHRlciIsIkRlZmF1bHRMb2dMZXZlbCIsIkxvZ0xldmVscyIsIkNvbnNvbGVBZGFwdGVyIiwiY29uZmlndXJlZExldmVscyIsImNvbmZpZ3VyZWRMb2dMZXZlbCIsImNvbmZpZ3VyZWRMb2dMZXZlbFZhbHVlIiwiaW5mbyIsIl9vcHRpb25zIiwiY29uZmlndXJlIiwic2NyaWJlT3B0aW9ucyIsImdldExvZ0xldmVscyIsImxvZ0xldmVsU3RyIiwibG9nTGV2ZWwiLCJnZXRMb2dnZXIiLCJuYW1lIiwibG9nZ2VyTmFtZSIsImNyZWF0ZUNvbnNvbGVMb2dnZXIiLCJhbGxMZXZlbHMiLCJjdXJyZW50TGV2ZWwiLCJ0aHJlc2hvbGQiLCJiYXNlTG9nZ2VyIiwibG9nTGV2ZWxzIiwibG9nRnVuY3Rpb24iLCJsZXZlbCIsIm1zZyIsImFyZ3MiLCJ0aW1lc3RhbXAiLCJEYXRlIiwidG9JU09TdHJpbmciLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsIlN0cmluZyIsImxvZ0xpbmUiLCJ0b1VwcGVyQ2FzZSIsImxlbmd0aCIsImNvbnNvbGUiLCJsb2ciLCJub29wIiwibG9nZ2VyIiwiT2JqZWN0IiwiYXNzaWduIiwiaXNMZXZlbEVuYWJsZWQiLCJsZXZlbE5hbWUiLCJsZXZlbFZhbHVlIiwiZW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLHNCQUFzQjtBQUVqRCxTQUNDQyxlQUFlLEVBRWZDLFNBQVMsUUFFSCxhQUFhO0FBSXBCLE9BQU8sTUFBTUMsdUJBQXVCSDtJQUMzQkksaUJBQXlDO0lBQ3pDQyxxQkFBNkJKLGdCQUFnQjtJQUM3Q0ssMEJBQWtDSixVQUFVSyxJQUFJLENBQUM7SUFFekQsWUFBbUJDLFdBQWtDLENBQUMsQ0FBQyxDQUFFO1FBQ3hELEtBQUs7SUFDTjtJQUVPQyxVQUNOQyxhQUEyQyxFQUMxQztRQUNELHFFQUFxRTtRQUNyRSxJQUFJLENBQUNOLGdCQUFnQixHQUFHLElBQUksQ0FBQ08sWUFBWSxDQUFDRDtRQUMxQyxNQUFNRSxjQUFjRixjQUFjRyxRQUFRLElBQUlaO1FBQzlDLElBQUksQ0FBQ0ksa0JBQWtCLEdBQUdPO1FBQzFCLElBQUksQ0FBQ04sdUJBQXVCLEdBQUcsSUFBSSxDQUFDRixnQkFBZ0IsQ0FBQ1EsWUFBWSxJQUFJVixVQUFVSyxJQUFJO0lBQ3BGO0lBRU9PLFVBQ05DLElBQWEsRUFDVztRQUN4QixNQUFNQyxhQUFhRCxRQUFRO1FBQzNCLE9BQU8sSUFBSSxDQUFDRSxtQkFBbUIsQ0FBZ0JEO0lBQ2hEO0lBRVFDLG9CQUdORixJQUFZLEVBQXlCO1FBQ3RDLHdEQUF3RDtRQUN4RCxNQUFNRyxZQUFZLElBQUksQ0FBQ2QsZ0JBQWdCO1FBQ3ZDLE1BQU1lLGVBQWUsSUFBSSxDQUFDZCxrQkFBa0I7UUFDNUMsTUFBTWUsWUFBWSxJQUFJLENBQUNkLHVCQUF1QjtRQUU5QyxNQUFNZSxhQUF5QjtZQUM5QixJQUFJRixnQkFBZTtnQkFDbEIsT0FBT0E7WUFDUjtZQUNBLElBQUlHLGFBQVk7Z0JBQ2YsT0FBT0o7WUFDUjtRQUNEO1FBRUEsTUFBTUssY0FDTCxDQUFDQyxRQUNELENBQUNDLEtBQStCLEdBQUdDO2dCQUNsQyxNQUFNQyxZQUFZLElBQUlDLE9BQU9DLFdBQVc7Z0JBQ3hDLElBQUlDO2dCQUVKLElBQUksT0FBT0wsUUFBUSxVQUFVO29CQUM1QkssVUFBVUMsS0FBS0MsU0FBUyxDQUFDUDtnQkFDMUIsT0FBTztvQkFDTkssVUFBVUcsT0FBT1I7Z0JBQ2xCO2dCQUVBLE1BQU1TLFVBQVUsQ0FBQyxDQUFDLEVBQUVQLFVBQVUsRUFBRSxFQUFFSCxNQUFNVyxXQUFXLEdBQUcsRUFBRSxFQUFFcEIsS0FBSyxHQUFHLEVBQUVlLFNBQVM7Z0JBRTdFLElBQUlKLEtBQUtVLE1BQU0sR0FBRyxHQUFHO29CQUNwQkMsUUFBUUMsR0FBRyxDQUFDSixZQUFZUjtnQkFDekIsT0FBTztvQkFDTlcsUUFBUUMsR0FBRyxDQUFDSjtnQkFDYjtZQUNEO1FBRUQsTUFBTUssT0FBTyxLQUFPO1FBRXBCLG1EQUFtRDtRQUNuRCxNQUFNQyxTQUFTQyxPQUFPQyxNQUFNLENBQUNyQixZQUFZO1lBQ3hDc0IsZ0JBQWdCLENBQUNuQixRQUFrQixBQUFDTixDQUFBQSxTQUFTLENBQUNNLE1BQU0sSUFBSSxDQUFBLEtBQU1KO1FBQy9EO1FBRUEsMkRBQTJEO1FBQzNELDREQUE0RDtRQUM1RCxLQUFLLE1BQU0sQ0FBQ3dCLFdBQVdDLFdBQVcsSUFBSUosT0FBT0ssT0FBTyxDQUFDNUIsV0FBWTtZQUNoRSx5RkFBeUY7WUFDeEZzQixNQUFjLENBQUNJLFVBQVUsR0FBR0MsY0FBY3pCLFlBQVlHLFlBQVlxQixhQUFhTDtRQUNqRjtRQUVBLE9BQU9DO0lBQ1I7QUFDRCJ9
package/es6/src/index.js CHANGED
@@ -4,7 +4,6 @@ export * from "./errors.js";
4
4
  export * from "./logger.adapter.js";
5
5
  export * from "./logger.factory.js";
6
6
  export * from "./logger.type.js";
7
- export * from "./redact.js";
8
7
  export * from "./types.js";
9
8
 
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnNvbGUuYWRhcHRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2dnZXIuZmFjdG9yeS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlZGFjdC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMuanNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QjtBQUNyQyxjQUFjLFdBQVc7QUFDekIsY0FBYyxjQUFjO0FBQzVCLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsY0FBYztBQUM1QixjQUFjLGFBQWEifQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnNvbGUuYWRhcHRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2dnZXIuZmFjdG9yeS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzLmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxXQUFXO0FBQ3pCLGNBQWMsY0FBYztBQUM1QixjQUFjLHNCQUFzQjtBQUNwQyxjQUFjLHNCQUFzQjtBQUNwQyxjQUFjLG1CQUFtQjtBQUNqQyxjQUFjLGFBQWEifQ==
@@ -1,20 +1,8 @@
1
1
  import { LogLevels } from "./types.js";
2
- export function formatError(err) {
3
- return err.stack ?? err.message;
4
- }
5
2
  export class LogAdapter {
6
3
  flush(cb) {
7
4
  cb?.();
8
5
  }
9
- retire() {
10
- // Console / no-op adapters have nothing to release.
11
- }
12
- async stop() {
13
- await this[Symbol.asyncDispose]();
14
- }
15
- async [Symbol.asyncDispose]() {
16
- // Console / no-op adapters have nothing to release.
17
- }
18
6
  // biome-ignore lint/suspicious/noExplicitAny: Generic utility method needs flexible typing
19
7
  getLogLevels(options) {
20
8
  const { customOnly, customLevels } = options;
@@ -33,4 +21,4 @@ export class LogAdapter {
33
21
  }
34
22
  }
35
23
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5hZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7IExvZ0xldmVscywgdHlwZSBTY3JpYmVPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yKGVycjogRXJyb3IpOiBzdHJpbmcge1xuXHRyZXR1cm4gZXJyLnN0YWNrID8/IGVyci5tZXNzYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dlckFkYXB0ZXIgZXh0ZW5kcyBBc3luY0Rpc3Bvc2FibGUge1xuXHRjb25maWd1cmU8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG9wdGlvbnM6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk7XG5cdGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZTogc3RyaW5nLFxuXHQpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT47XG5cdGZsdXNoKGNiPzogKCkgPT4gdm9pZCk6IHZvaWQ7XG5cdC8qKlxuXHQgKiBTeW5jaHJvbm91c2x5IHN0b3AgYWNjZXB0aW5nIHdyaXRlcyAoa2lsbCBUaHJlYWRTdHJlYW0gLyBjbG9zZSBmZHMpLlxuXHQgKiBDYWxsIGJlZm9yZSBzd2FwcGluZyBhZGFwdGVycyBzbyBhIGRlYWQgd29ya2VyIGNhbm5vdCBzcGFtIG9uIGZ1cnRoZXIgbG9ncy5cblx0ICogSWRlbXBvdGVudCDigJQgc2FmZSB0byBjYWxsIG1vcmUgdGhhbiBvbmNlLlxuXHQgKi9cblx0cmV0aXJlKCk6IHZvaWQ7XG5cdC8qKlxuXHQgKiBEcmFpbiBidWZmZXJlZCBvdXRwdXQgYW5kIHJlbGVhc2UgdW5tYW5hZ2VkIGhhbmRsZXMgKHdvcmtlcnMsIGZkcykuXG5cdCAqIElkZW1wb3RlbnQg4oCUIHNhZmUgdG8gY2FsbCBtb3JlIHRoYW4gb25jZS5cblx0ICovXG5cdHN0b3AoKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ0FkYXB0ZXIgaW1wbGVtZW50cyBMb2dnZXJBZGFwdGVyIHtcblx0cHVibGljIGFic3RyYWN0IGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0b3B0aW9uczogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KTtcblxuXHRwdWJsaWMgYWJzdHJhY3QgZ2V0TG9nZ2VyPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRuYW1lOiBzdHJpbmcsXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PjtcblxuXHRwdWJsaWMgZmx1c2goY2I/OiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0Y2I/LigpO1xuXHR9XG5cblx0cHVibGljIHJldGlyZSgpOiB2b2lkIHtcblx0XHQvLyBDb25zb2xlIC8gbm8tb3AgYWRhcHRlcnMgaGF2ZSBub3RoaW5nIHRvIHJlbGVhc2UuXG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRhd2FpdCB0aGlzW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdC8vIENvbnNvbGUgLyBuby1vcCBhZGFwdGVycyBoYXZlIG5vdGhpbmcgdG8gcmVsZWFzZS5cblx0fVxuXG5cdC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9FeHBsaWNpdEFueTogR2VuZXJpYyB1dGlsaXR5IG1ldGhvZCBuZWVkcyBmbGV4aWJsZSB0eXBpbmdcblx0cHJvdGVjdGVkIGdldExvZ0xldmVscyhvcHRpb25zOiBTY3JpYmVPcHRpb25zPGFueSwgYW55Pik6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4ge1xuXHRcdGNvbnN0IHsgY3VzdG9tT25seSwgY3VzdG9tTGV2ZWxzIH0gPSBvcHRpb25zO1xuXHRcdGlmIChjdXN0b21Pbmx5KSB7XG5cdFx0XHRyZXR1cm4gY3VzdG9tTGV2ZWxzO1xuXHRcdH1cblx0XHRjb25zdCBsZXZlbHMgPSB0aGlzLmdldFVuaXF1ZUxldmVscyhMb2dMZXZlbHMsIGN1c3RvbUxldmVscyk7XG5cdFx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhsZXZlbHMpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGdldFVuaXF1ZUxldmVscyhcblx0XHRkZWZhdWx0TGV2ZWxzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+LFxuXHRcdGN1c3RvbUxldmVsczogUmVjb3JkPHN0cmluZywgbnVtYmVyPixcblx0KSB7XG5cdFx0Y29uc3QgZGVmYXVsdEVudHJpZXMgPSBPYmplY3QuZW50cmllcyhkZWZhdWx0TGV2ZWxzID8/IHt9KTtcblx0XHRjb25zdCBjdXN0b21FbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoY3VzdG9tTGV2ZWxzID8/IHt9KTtcblx0XHRjb25zdCBkZWZhdWx0Tm90SW5DdXN0b20gPSBkZWZhdWx0RW50cmllcy5maWx0ZXIoXG5cdFx0XHQoW2RrXSkgPT4gY3VzdG9tRW50cmllcy5maW5kSW5kZXgoKFtja10pID0+IGNrID09PSBkaykgPT09IC0xLFxuXHRcdCk7XG5cblx0XHRjb25zdCB1bmlxdWUgPSBkZWZhdWx0Tm90SW5DdXN0b20uY29uY2F0KGN1c3RvbUVudHJpZXMpO1xuXHRcdHJldHVybiB1bmlxdWU7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJMb2dMZXZlbHMiLCJmb3JtYXRFcnJvciIsImVyciIsInN0YWNrIiwibWVzc2FnZSIsIkxvZ0FkYXB0ZXIiLCJmbHVzaCIsImNiIiwicmV0aXJlIiwic3RvcCIsIlN5bWJvbCIsImFzeW5jRGlzcG9zZSIsImdldExvZ0xldmVscyIsIm9wdGlvbnMiLCJjdXN0b21Pbmx5IiwiY3VzdG9tTGV2ZWxzIiwibGV2ZWxzIiwiZ2V0VW5pcXVlTGV2ZWxzIiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJkZWZhdWx0TGV2ZWxzIiwiZGVmYXVsdEVudHJpZXMiLCJlbnRyaWVzIiwiY3VzdG9tRW50cmllcyIsImRlZmF1bHROb3RJbkN1c3RvbSIsImZpbHRlciIsImRrIiwiZmluZEluZGV4IiwiY2siLCJ1bmlxdWUiLCJjb25jYXQiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFNBQVMsUUFBNEIsYUFBYTtBQUUzRCxPQUFPLFNBQVNDLFlBQVlDLEdBQVU7SUFDckMsT0FBT0EsSUFBSUMsS0FBSyxJQUFJRCxJQUFJRSxPQUFPO0FBQ2hDO0FBdUJBLE9BQU8sTUFBZUM7SUFTZEMsTUFBTUMsRUFBZSxFQUFRO1FBQ25DQTtJQUNEO0lBRU9DLFNBQWU7SUFDckIsb0RBQW9EO0lBQ3JEO0lBRUEsTUFBYUMsT0FBc0I7UUFDbEMsTUFBTSxJQUFJLENBQUNDLE9BQU9DLFlBQVksQ0FBQztJQUNoQztJQUVBLE1BQWEsQ0FBQ0QsT0FBT0MsWUFBWSxDQUFDLEdBQWtCO0lBQ25ELG9EQUFvRDtJQUNyRDtJQUVBLDJGQUEyRjtJQUNqRkMsYUFBYUMsT0FBZ0MsRUFBMEI7UUFDaEYsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLFlBQVksRUFBRSxHQUFHRjtRQUNyQyxJQUFJQyxZQUFZO1lBQ2YsT0FBT0M7UUFDUjtRQUNBLE1BQU1DLFNBQVMsSUFBSSxDQUFDQyxlQUFlLENBQUNqQixXQUFXZTtRQUMvQyxPQUFPRyxPQUFPQyxXQUFXLENBQUNIO0lBQzNCO0lBRVVDLGdCQUNURyxhQUFxQyxFQUNyQ0wsWUFBb0MsRUFDbkM7UUFDRCxNQUFNTSxpQkFBaUJILE9BQU9JLE9BQU8sQ0FBQ0YsaUJBQWlCLENBQUM7UUFDeEQsTUFBTUcsZ0JBQWdCTCxPQUFPSSxPQUFPLENBQUNQLGdCQUFnQixDQUFDO1FBQ3RELE1BQU1TLHFCQUFxQkgsZUFBZUksTUFBTSxDQUMvQyxDQUFDLENBQUNDLEdBQUcsR0FBS0gsY0FBY0ksU0FBUyxDQUFDLENBQUMsQ0FBQ0MsR0FBRyxHQUFLQSxPQUFPRixRQUFRLENBQUM7UUFHN0QsTUFBTUcsU0FBU0wsbUJBQW1CTSxNQUFNLENBQUNQO1FBQ3pDLE9BQU9NO0lBQ1I7QUFDRCJ9
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5hZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7IExvZ0xldmVscywgdHlwZSBTY3JpYmVPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBMb2dnZXJBZGFwdGVyIHtcblx0Y29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRvcHRpb25zOiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHQpO1xuXHRnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU6IHN0cmluZyxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xuXHRmbHVzaChjYj86ICgpID0+IHZvaWQpOiB2b2lkO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTG9nQWRhcHRlciBpbXBsZW1lbnRzIExvZ2dlckFkYXB0ZXIge1xuXHRwdWJsaWMgYWJzdHJhY3QgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRvcHRpb25zOiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHQpO1xuXG5cdHB1YmxpYyBhYnN0cmFjdCBnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU6IHN0cmluZyxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xuXG5cdHB1YmxpYyBmbHVzaChjYj86ICgpID0+IHZvaWQpOiB2b2lkIHtcblx0XHRjYj8uKCk7XG5cdH1cblxuXHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IEdlbmVyaWMgdXRpbGl0eSBtZXRob2QgbmVlZHMgZmxleGlibGUgdHlwaW5nXG5cdHByb3RlY3RlZCBnZXRMb2dMZXZlbHMob3B0aW9uczogU2NyaWJlT3B0aW9uczxhbnksIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+IHtcblx0XHRjb25zdCB7IGN1c3RvbU9ubHksIGN1c3RvbUxldmVscyB9ID0gb3B0aW9ucztcblx0XHRpZiAoY3VzdG9tT25seSkge1xuXHRcdFx0cmV0dXJuIGN1c3RvbUxldmVscztcblx0XHR9XG5cdFx0Y29uc3QgbGV2ZWxzID0gdGhpcy5nZXRVbmlxdWVMZXZlbHMoTG9nTGV2ZWxzLCBjdXN0b21MZXZlbHMpO1xuXHRcdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMobGV2ZWxzKTtcblx0fVxuXG5cdHByb3RlY3RlZCBnZXRVbmlxdWVMZXZlbHMoXG5cdFx0ZGVmYXVsdExldmVsczogUmVjb3JkPHN0cmluZywgbnVtYmVyPixcblx0XHRjdXN0b21MZXZlbHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4sXG5cdCkge1xuXHRcdGNvbnN0IGRlZmF1bHRFbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoZGVmYXVsdExldmVscyA/PyB7fSk7XG5cdFx0Y29uc3QgY3VzdG9tRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGN1c3RvbUxldmVscyA/PyB7fSk7XG5cdFx0Y29uc3QgZGVmYXVsdE5vdEluQ3VzdG9tID0gZGVmYXVsdEVudHJpZXMuZmlsdGVyKFxuXHRcdFx0KFtka10pID0+IGN1c3RvbUVudHJpZXMuZmluZEluZGV4KChbY2tdKSA9PiBjayA9PT0gZGspID09PSAtMSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgdW5pcXVlID0gZGVmYXVsdE5vdEluQ3VzdG9tLmNvbmNhdChjdXN0b21FbnRyaWVzKTtcblx0XHRyZXR1cm4gdW5pcXVlO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiTG9nTGV2ZWxzIiwiTG9nQWRhcHRlciIsImZsdXNoIiwiY2IiLCJnZXRMb2dMZXZlbHMiLCJvcHRpb25zIiwiY3VzdG9tT25seSIsImN1c3RvbUxldmVscyIsImxldmVscyIsImdldFVuaXF1ZUxldmVscyIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwiZGVmYXVsdExldmVscyIsImRlZmF1bHRFbnRyaWVzIiwiZW50cmllcyIsImN1c3RvbUVudHJpZXMiLCJkZWZhdWx0Tm90SW5DdXN0b20iLCJmaWx0ZXIiLCJkayIsImZpbmRJbmRleCIsImNrIiwidW5pcXVlIiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxTQUFTLFFBQTRCLGFBQWE7QUFZM0QsT0FBTyxNQUFlQztJQVNkQyxNQUFNQyxFQUFlLEVBQVE7UUFDbkNBO0lBQ0Q7SUFFQSwyRkFBMkY7SUFDakZDLGFBQWFDLE9BQWdDLEVBQTBCO1FBQ2hGLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxZQUFZLEVBQUUsR0FBR0Y7UUFDckMsSUFBSUMsWUFBWTtZQUNmLE9BQU9DO1FBQ1I7UUFDQSxNQUFNQyxTQUFTLElBQUksQ0FBQ0MsZUFBZSxDQUFDVCxXQUFXTztRQUMvQyxPQUFPRyxPQUFPQyxXQUFXLENBQUNIO0lBQzNCO0lBRVVDLGdCQUNURyxhQUFxQyxFQUNyQ0wsWUFBb0MsRUFDbkM7UUFDRCxNQUFNTSxpQkFBaUJILE9BQU9JLE9BQU8sQ0FBQ0YsaUJBQWlCLENBQUM7UUFDeEQsTUFBTUcsZ0JBQWdCTCxPQUFPSSxPQUFPLENBQUNQLGdCQUFnQixDQUFDO1FBQ3RELE1BQU1TLHFCQUFxQkgsZUFBZUksTUFBTSxDQUMvQyxDQUFDLENBQUNDLEdBQUcsR0FBS0gsY0FBY0ksU0FBUyxDQUFDLENBQUMsQ0FBQ0MsR0FBRyxHQUFLQSxPQUFPRixRQUFRLENBQUM7UUFHN0QsTUFBTUcsU0FBU0wsbUJBQW1CTSxNQUFNLENBQUNQO1FBQ3pDLE9BQU9NO0lBQ1I7QUFDRCJ9
@@ -4,54 +4,20 @@ import { LoggingConfigurationError } from "./errors.js";
4
4
  import { DefaultLogLevel, DefaultRedactions } from "./types.js";
5
5
  export class scribe {
6
6
  loggerProvider;
7
- /** True after `configure({ adapter })` — the constructor’s ConsoleAdapter is only a fallback. */ adapterConfigured = false;
8
- defaultAdapterWarned = false;
9
7
  static instance = new scribe();
10
8
  static logger(name, customLevels) {
11
- // Apply custom levels once against the active adapter; the live handle
12
- // re-resolves the underlying logger on each use (CU-869egxmg2).
13
- if (customLevels) {
14
- scribe.instance.getLogger(name, customLevels);
15
- }
16
- return scribe.createLiveLogger(name);
9
+ return scribe.instance.getLogger(name, customLevels);
17
10
  }
18
11
  static configure(configOptions) {
19
- const previous = scribe.instance;
20
- // Sync: stop writes into the old ThreadStream before a new worker starts.
21
- previous.retire();
22
12
  scribe.instance = new scribe();
23
- scribe.instance.configure(configOptions);
24
- // Async drain of the retired adapter (flush / end). Flux/App.dispose may
25
- // have already done this; reconfigure without stop still needs it.
26
- void previous.stop();
27
- return (name)=>scribe.logger(name);
13
+ return scribe.instance.configure(configOptions);
14
+ }
15
+ static get extend() {
16
+ return scribe.instance;
28
17
  }
29
18
  static flush(cb) {
30
19
  scribe.instance.loggerProvider.flush(cb);
31
20
  }
32
- /** Synchronously stop accepting writes on the active adapter. */ static retire() {
33
- scribe.instance.retire();
34
- }
35
- /** Drain the active adapter and release workers / destinations. */ static async stop() {
36
- await scribe.instance.stop();
37
- }
38
- /**
39
- * Module-level `const log = scribe.logger(...)` must follow a later
40
- * `scribe.configure()` (CLI / Flux / HotReloadServer). Forward every use to
41
- * the active adapter logger for `name`.
42
- */ static createLiveLogger(name) {
43
- return new Proxy({}, {
44
- get (_target, prop) {
45
- const underlying = scribe.instance.getLogger(name);
46
- const value = Reflect.get(underlying, prop, underlying);
47
- return typeof value === "function" ? value.bind(underlying) : value;
48
- },
49
- has (_target, prop) {
50
- const underlying = scribe.instance.getLogger(name);
51
- return Reflect.has(underlying, prop);
52
- }
53
- });
54
- }
55
21
  constructor(){
56
22
  // Initialize with default console adapter
57
23
  this.loggerProvider = new ConsoleAdapter();
@@ -60,30 +26,12 @@ export class scribe {
60
26
  }
61
27
  configure(configOptions) {
62
28
  const { adapter, options } = configOptions;
63
- const previous = this.loggerProvider;
64
- if (previous !== adapter) {
65
- previous.retire();
66
- }
67
29
  this.loggerProvider = adapter;
68
- this.adapterConfigured = true;
69
30
  const defaultsAndOptions = this.mergeDefaults(options);
70
31
  adapter.configure(defaultsAndOptions);
71
- if (previous !== adapter) {
72
- void previous.stop();
73
- }
74
- return (name)=>scribe.logger(name);
75
- }
76
- retire() {
77
- this.loggerProvider.retire();
78
- }
79
- async stop() {
80
- await this.loggerProvider.stop();
81
- }
82
- async [Symbol.asyncDispose]() {
83
- await this.stop();
32
+ return (name)=>adapter.getLogger(name);
84
33
  }
85
34
  getLogger(name, customLevels) {
86
- this.warnIfDefaultAdapter();
87
35
  // If custom levels are provided, we need to reconfigure the adapter
88
36
  if (customLevels) {
89
37
  const currentOptions = this.mergeDefaults({
@@ -95,13 +43,6 @@ export class scribe {
95
43
  this.supportsLevels(customLevels, logger);
96
44
  return logger;
97
45
  }
98
- warnIfDefaultAdapter() {
99
- if (this.adapterConfigured || this.defaultAdapterWarned) {
100
- return;
101
- }
102
- this.defaultAdapterWarned = true;
103
- process.stderr.write("[scribe] No logger adapter configured; using the default ConsoleAdapter. " + "Configure an adapter at your composition root (for production, prefer " + "@decohere/scribe-pino → JSON on stdout). See " + "https://github.com/typesmiths/decohere/blob/main/projects/scribe/README.md\n");
104
- }
105
46
  supportsLevels(customLevels, logger) {
106
47
  if (!customLevels) {
107
48
  return;
@@ -116,14 +57,12 @@ export class scribe {
116
57
  }
117
58
  mergeDefaults(options) {
118
59
  const logLevel = resolveLogLevel(options?.logLevel) ?? DefaultLogLevel;
119
- // Resolved logLevel must win over options spread (invalid explicit values
120
- // would otherwise stick — CU-869emqjq8).
121
60
  return {
61
+ logLevel,
122
62
  redactions: DefaultRedactions,
123
- ...options,
124
- logLevel
63
+ ...options
125
64
  };
126
65
  }
127
66
  }
128
67
 
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnNvbGVBZGFwdGVyIH0gZnJvbSBcIi4vY29uc29sZS5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlTG9nTGV2ZWwgfSBmcm9tIFwiLi9lbnYuanNcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0TG9nTGV2ZWwsIERlZmF1bHRSZWRhY3Rpb25zLCB0eXBlIFNjcmliZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG50eXBlIExvZ2dlckZhY3RvcnlPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZSxcbj4gPSB7XG5cdG9wdGlvbnM/OiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+O1xuXHRhZGFwdGVyOiBMb2dnZXJBZGFwdGVyO1xufTtcblxuZXhwb3J0IGNsYXNzIHNjcmliZSBpbXBsZW1lbnRzIEFzeW5jRGlzcG9zYWJsZSB7XG5cdHByaXZhdGUgbG9nZ2VyUHJvdmlkZXI6IExvZ2dlckFkYXB0ZXI7XG5cdC8qKiBUcnVlIGFmdGVyIGBjb25maWd1cmUoeyBhZGFwdGVyIH0pYCDigJQgdGhlIGNvbnN0cnVjdG9y4oCZcyBDb25zb2xlQWRhcHRlciBpcyBvbmx5IGEgZmFsbGJhY2suICovXG5cdHByaXZhdGUgYWRhcHRlckNvbmZpZ3VyZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBkZWZhdWx0QWRhcHRlcldhcm5lZCA9IGZhbHNlO1xuXHRwcml2YXRlIHN0YXRpYyBpbnN0YW5jZTogc2NyaWJlID0gbmV3IHNjcmliZSgpO1xuXG5cdHB1YmxpYyBzdGF0aWMgbG9nZ2VyPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRuYW1lPzogc3RyaW5nLFxuXHRcdGN1c3RvbUxldmVscz86IHtcblx0XHRcdFtsZXZlbCBpbiBUXTogbnVtYmVyO1xuXHRcdH0sXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Ly8gQXBwbHkgY3VzdG9tIGxldmVscyBvbmNlIGFnYWluc3QgdGhlIGFjdGl2ZSBhZGFwdGVyOyB0aGUgbGl2ZSBoYW5kbGVcblx0XHQvLyByZS1yZXNvbHZlcyB0aGUgdW5kZXJseWluZyBsb2dnZXIgb24gZWFjaCB1c2UgKENVLTg2OWVneG1nMikuXG5cdFx0aWYgKGN1c3RvbUxldmVscykge1xuXHRcdFx0c2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lLCBjdXN0b21MZXZlbHMpO1xuXHRcdH1cblx0XHRyZXR1cm4gc2NyaWJlLmNyZWF0ZUxpdmVMb2dnZXI8VCwgQ3VzdG9tT25seT4obmFtZSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0Y29uZmlnT3B0aW9uczogTG9nZ2VyRmFjdG9yeU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdGNvbnN0IHByZXZpb3VzID0gc2NyaWJlLmluc3RhbmNlO1xuXHRcdC8vIFN5bmM6IHN0b3Agd3JpdGVzIGludG8gdGhlIG9sZCBUaHJlYWRTdHJlYW0gYmVmb3JlIGEgbmV3IHdvcmtlciBzdGFydHMuXG5cdFx0cHJldmlvdXMucmV0aXJlKCk7XG5cdFx0c2NyaWJlLmluc3RhbmNlID0gbmV3IHNjcmliZSgpO1xuXHRcdHNjcmliZS5pbnN0YW5jZS5jb25maWd1cmU8VCwgQ3VzdG9tT25seT4oY29uZmlnT3B0aW9ucyk7XG5cdFx0Ly8gQXN5bmMgZHJhaW4gb2YgdGhlIHJldGlyZWQgYWRhcHRlciAoZmx1c2ggLyBlbmQpLiBGbHV4L0FwcC5kaXNwb3NlIG1heVxuXHRcdC8vIGhhdmUgYWxyZWFkeSBkb25lIHRoaXM7IHJlY29uZmlndXJlIHdpdGhvdXQgc3RvcCBzdGlsbCBuZWVkcyBpdC5cblx0XHR2b2lkIHByZXZpb3VzLnN0b3AoKTtcblx0XHRyZXR1cm4gKG5hbWU/OiBzdHJpbmcpID0+IHNjcmliZS5sb2dnZXI8VCwgQ3VzdG9tT25seT4obmFtZSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGZsdXNoKGNiPzogKCkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdHNjcmliZS5pbnN0YW5jZS5sb2dnZXJQcm92aWRlci5mbHVzaChjYik7XG5cdH1cblxuXHQvKiogU3luY2hyb25vdXNseSBzdG9wIGFjY2VwdGluZyB3cml0ZXMgb24gdGhlIGFjdGl2ZSBhZGFwdGVyLiAqL1xuXHRwdWJsaWMgc3RhdGljIHJldGlyZSgpOiB2b2lkIHtcblx0XHRzY3JpYmUuaW5zdGFuY2UucmV0aXJlKCk7XG5cdH1cblxuXHQvKiogRHJhaW4gdGhlIGFjdGl2ZSBhZGFwdGVyIGFuZCByZWxlYXNlIHdvcmtlcnMgLyBkZXN0aW5hdGlvbnMuICovXG5cdHB1YmxpYyBzdGF0aWMgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRhd2FpdCBzY3JpYmUuaW5zdGFuY2Uuc3RvcCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1vZHVsZS1sZXZlbCBgY29uc3QgbG9nID0gc2NyaWJlLmxvZ2dlciguLi4pYCBtdXN0IGZvbGxvdyBhIGxhdGVyXG5cdCAqIGBzY3JpYmUuY29uZmlndXJlKClgIChDTEkgLyBGbHV4IC8gSG90UmVsb2FkU2VydmVyKS4gRm9yd2FyZCBldmVyeSB1c2UgdG9cblx0ICogdGhlIGFjdGl2ZSBhZGFwdGVyIGxvZ2dlciBmb3IgYG5hbWVgLlxuXHQgKi9cblx0cHJpdmF0ZSBzdGF0aWMgY3JlYXRlTGl2ZUxvZ2dlcjxcblx0XHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdFx0Q3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlLFxuXHQ+KG5hbWU/OiBzdHJpbmcpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdHJldHVybiBuZXcgUHJveHkoe30gYXMgTG9nZ2VyPFQsIEN1c3RvbU9ubHk+LCB7XG5cdFx0XHRnZXQoX3RhcmdldCwgcHJvcCkge1xuXHRcdFx0XHRjb25zdCB1bmRlcmx5aW5nID0gc2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lKSBhcyBvYmplY3Q7XG5cdFx0XHRcdGNvbnN0IHZhbHVlID0gUmVmbGVjdC5nZXQodW5kZXJseWluZywgcHJvcCwgdW5kZXJseWluZyk7XG5cdFx0XHRcdHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIlxuXHRcdFx0XHRcdD8gKHZhbHVlIGFzICguLi5hcmdzOiBuZXZlcltdKSA9PiB1bmtub3duKS5iaW5kKHVuZGVybHlpbmcpXG5cdFx0XHRcdFx0OiB2YWx1ZTtcblx0XHRcdH0sXG5cdFx0XHRoYXMoX3RhcmdldCwgcHJvcCkge1xuXHRcdFx0XHRjb25zdCB1bmRlcmx5aW5nID0gc2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lKSBhcyBvYmplY3Q7XG5cdFx0XHRcdHJldHVybiBSZWZsZWN0Lmhhcyh1bmRlcmx5aW5nLCBwcm9wKTtcblx0XHRcdH0sXG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IoKSB7XG5cdFx0Ly8gSW5pdGlhbGl6ZSB3aXRoIGRlZmF1bHQgY29uc29sZSBhZGFwdGVyXG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlciA9IG5ldyBDb25zb2xlQWRhcHRlcigpO1xuXHRcdGNvbnN0IGRlZmF1bHRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzKCk7XG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlci5jb25maWd1cmUoZGVmYXVsdE9wdGlvbnMpO1xuXHR9XG5cblx0cHVibGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0Y29uZmlnT3B0aW9uczogTG9nZ2VyRmFjdG9yeU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk6IChuYW1lPzogc3RyaW5nKSA9PiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IHsgYWRhcHRlciwgb3B0aW9ucyB9ID0gY29uZmlnT3B0aW9ucztcblx0XHRjb25zdCBwcmV2aW91cyA9IHRoaXMubG9nZ2VyUHJvdmlkZXI7XG5cdFx0aWYgKHByZXZpb3VzICE9PSBhZGFwdGVyKSB7XG5cdFx0XHRwcmV2aW91cy5yZXRpcmUoKTtcblx0XHR9XG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlciA9IGFkYXB0ZXI7XG5cdFx0dGhpcy5hZGFwdGVyQ29uZmlndXJlZCA9IHRydWU7XG5cdFx0Y29uc3QgZGVmYXVsdHNBbmRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzPFQsIEN1c3RvbU9ubHk+KG9wdGlvbnMpO1xuXHRcdGFkYXB0ZXIuY29uZmlndXJlKGRlZmF1bHRzQW5kT3B0aW9ucyk7XG5cdFx0aWYgKHByZXZpb3VzICE9PSBhZGFwdGVyKSB7XG5cdFx0XHR2b2lkIHByZXZpb3VzLnN0b3AoKTtcblx0XHR9XG5cdFx0cmV0dXJuIChuYW1lPzogc3RyaW5nKSA9PiBzY3JpYmUubG9nZ2VyPFQsIEN1c3RvbU9ubHk+KG5hbWUpO1xuXHR9XG5cblx0cHVibGljIHJldGlyZSgpOiB2b2lkIHtcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyLnJldGlyZSgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0YXdhaXQgdGhpcy5sb2dnZXJQcm92aWRlci5zdG9wKCk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGF3YWl0IHRoaXMuc3RvcCgpO1xuXHR9XG5cblx0cHVibGljIGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZT86IHN0cmluZyxcblx0XHRjdXN0b21MZXZlbHM/OiB7XG5cdFx0XHRbbGV2ZWwgaW4gVF06IG51bWJlcjtcblx0XHR9LFxuXHQpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdHRoaXMud2FybklmRGVmYXVsdEFkYXB0ZXIoKTtcblxuXHRcdC8vIElmIGN1c3RvbSBsZXZlbHMgYXJlIHByb3ZpZGVkLCB3ZSBuZWVkIHRvIHJlY29uZmlndXJlIHRoZSBhZGFwdGVyXG5cdFx0aWYgKGN1c3RvbUxldmVscykge1xuXHRcdFx0Y29uc3QgY3VycmVudE9wdGlvbnMgPSB0aGlzLm1lcmdlRGVmYXVsdHMoeyBjdXN0b21MZXZlbHMgfSk7XG5cdFx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyLmNvbmZpZ3VyZShjdXJyZW50T3B0aW9ucyk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbG9nZ2VyID0gdGhpcy5sb2dnZXJQcm92aWRlci5nZXRMb2dnZXIobmFtZSkgYXMgTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xuXHRcdHRoaXMuc3VwcG9ydHNMZXZlbHMoY3VzdG9tTGV2ZWxzLCBsb2dnZXIpO1xuXHRcdHJldHVybiBsb2dnZXI7XG5cdH1cblxuXHRwcml2YXRlIHdhcm5JZkRlZmF1bHRBZGFwdGVyKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmFkYXB0ZXJDb25maWd1cmVkIHx8IHRoaXMuZGVmYXVsdEFkYXB0ZXJXYXJuZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5kZWZhdWx0QWRhcHRlcldhcm5lZCA9IHRydWU7XG5cdFx0cHJvY2Vzcy5zdGRlcnIud3JpdGUoXG5cdFx0XHRcIltzY3JpYmVdIE5vIGxvZ2dlciBhZGFwdGVyIGNvbmZpZ3VyZWQ7IHVzaW5nIHRoZSBkZWZhdWx0IENvbnNvbGVBZGFwdGVyLiBcIiArXG5cdFx0XHRcdFwiQ29uZmlndXJlIGFuIGFkYXB0ZXIgYXQgeW91ciBjb21wb3NpdGlvbiByb290IChmb3IgcHJvZHVjdGlvbiwgcHJlZmVyIFwiICtcblx0XHRcdFx0XCJAZGVjb2hlcmUvc2NyaWJlLXBpbm8g4oaSIEpTT04gb24gc3Rkb3V0KS4gU2VlIFwiICtcblx0XHRcdFx0XCJodHRwczovL2dpdGh1Yi5jb20vdHlwZXNtaXRocy9kZWNvaGVyZS9ibG9iL21haW4vcHJvamVjdHMvc2NyaWJlL1JFQURNRS5tZFxcblwiLFxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIHN1cHBvcnRzTGV2ZWxzPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgPSB1bmRlZmluZWQ+KFxuXHRcdGN1c3RvbUxldmVsczoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0XHRsb2dnZXI6IExvZ2dlcjxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0aWYgKCFjdXN0b21MZXZlbHMpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBtaXNzaW5nTGV2ZWwgPSBPYmplY3QuZW50cmllcyhjdXN0b21MZXZlbHMpLmZpbmQoXG5cdFx0XHQoa2V5KSA9PiAhbG9nZ2VyLmxvZ0xldmVsc1trZXkuYXQoMCkudG9TdHJpbmcoKV0sXG5cdFx0KTtcblxuXHRcdGlmIChtaXNzaW5nTGV2ZWwgIT0gbnVsbCkge1xuXHRcdFx0dGhyb3cgbmV3IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IoXG5cdFx0XHRcdGBDdXJyZW50IGxvZ2dlciB3YXMgbm90IGNvbmZpZ3VyZWQgZm9yIGN1c3RvbSBsZXZlbCAke21pc3NpbmdMZXZlbH0sIHZhbGlkIGxldmVscyBhcmU6ICR7SlNPTi5zdHJpbmdpZnkobG9nZ2VyLmxvZ0xldmVscyl9YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7IG1pc3NpbmdMZXZlbCB9O1xuXHR9XG5cblx0cHJpdmF0ZSBtZXJnZURlZmF1bHRzPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRvcHRpb25zPzogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KTogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgbG9nTGV2ZWwgPSByZXNvbHZlTG9nTGV2ZWwob3B0aW9ucz8ubG9nTGV2ZWwpID8/IERlZmF1bHRMb2dMZXZlbDtcblx0XHQvLyBSZXNvbHZlZCBsb2dMZXZlbCBtdXN0IHdpbiBvdmVyIG9wdGlvbnMgc3ByZWFkIChpbnZhbGlkIGV4cGxpY2l0IHZhbHVlc1xuXHRcdC8vIHdvdWxkIG90aGVyd2lzZSBzdGljayDigJQgQ1UtODY5ZW1xanE4KS5cblx0XHRyZXR1cm4geyByZWRhY3Rpb25zOiBEZWZhdWx0UmVkYWN0aW9ucywgLi4ub3B0aW9ucywgbG9nTGV2ZWwgfTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkNvbnNvbGVBZGFwdGVyIiwicmVzb2x2ZUxvZ0xldmVsIiwiTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvciIsIkRlZmF1bHRMb2dMZXZlbCIsIkRlZmF1bHRSZWRhY3Rpb25zIiwic2NyaWJlIiwibG9nZ2VyUHJvdmlkZXIiLCJhZGFwdGVyQ29uZmlndXJlZCIsImRlZmF1bHRBZGFwdGVyV2FybmVkIiwiaW5zdGFuY2UiLCJsb2dnZXIiLCJuYW1lIiwiY3VzdG9tTGV2ZWxzIiwiZ2V0TG9nZ2VyIiwiY3JlYXRlTGl2ZUxvZ2dlciIsImNvbmZpZ3VyZSIsImNvbmZpZ09wdGlvbnMiLCJwcmV2aW91cyIsInJldGlyZSIsInN0b3AiLCJmbHVzaCIsImNiIiwiUHJveHkiLCJnZXQiLCJfdGFyZ2V0IiwicHJvcCIsInVuZGVybHlpbmciLCJ2YWx1ZSIsIlJlZmxlY3QiLCJiaW5kIiwiaGFzIiwiZGVmYXVsdE9wdGlvbnMiLCJtZXJnZURlZmF1bHRzIiwiYWRhcHRlciIsIm9wdGlvbnMiLCJkZWZhdWx0c0FuZE9wdGlvbnMiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiLCJ3YXJuSWZEZWZhdWx0QWRhcHRlciIsImN1cnJlbnRPcHRpb25zIiwic3VwcG9ydHNMZXZlbHMiLCJwcm9jZXNzIiwic3RkZXJyIiwid3JpdGUiLCJtaXNzaW5nTGV2ZWwiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmluZCIsImtleSIsImxvZ0xldmVscyIsImF0IiwidG9TdHJpbmciLCJKU09OIiwic3RyaW5naWZ5IiwibG9nTGV2ZWwiLCJyZWRhY3Rpb25zIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLFFBQVEsdUJBQXVCO0FBQ3RELFNBQVNDLGVBQWUsUUFBUSxXQUFXO0FBQzNDLFNBQVNDLHlCQUF5QixRQUFRLGNBQWM7QUFHeEQsU0FBU0MsZUFBZSxFQUFFQyxpQkFBaUIsUUFBNEIsYUFBYTtBQVVwRixPQUFPLE1BQU1DO0lBQ0pDLGVBQThCO0lBQ3RDLCtGQUErRixHQUMvRixBQUFRQyxvQkFBb0IsTUFBTTtJQUMxQkMsdUJBQXVCLE1BQU07SUFDckMsT0FBZUMsV0FBbUIsSUFBSUosU0FBUztJQUUvQyxPQUFjSyxPQUNiQyxJQUFhLEVBQ2JDLFlBRUMsRUFDdUI7UUFDeEIsdUVBQXVFO1FBQ3ZFLGdFQUFnRTtRQUNoRSxJQUFJQSxjQUFjO1lBQ2pCUCxPQUFPSSxRQUFRLENBQUNJLFNBQVMsQ0FBZ0JGLE1BQU1DO1FBQ2hEO1FBQ0EsT0FBT1AsT0FBT1MsZ0JBQWdCLENBQWdCSDtJQUMvQztJQUVBLE9BQWNJLFVBQ2JDLGFBQWtELEVBQ2pEO1FBQ0QsTUFBTUMsV0FBV1osT0FBT0ksUUFBUTtR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
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnNvbGVBZGFwdGVyIH0gZnJvbSBcIi4vY29uc29sZS5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlTG9nTGV2ZWwgfSBmcm9tIFwiLi9lbnYuanNcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0TG9nTGV2ZWwsIERlZmF1bHRSZWRhY3Rpb25zLCB0eXBlIFNjcmliZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG50eXBlIExvZ2dlckZhY3RvcnlPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZSxcbj4gPSB7XG5cdG9wdGlvbnM/OiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+O1xuXHRhZGFwdGVyOiBMb2dnZXJBZGFwdGVyO1xufTtcblxuZXhwb3J0IGNsYXNzIHNjcmliZSB7XG5cdHByaXZhdGUgbG9nZ2VyUHJvdmlkZXI6IExvZ2dlckFkYXB0ZXI7XG5cdHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBzY3JpYmUgPSBuZXcgc2NyaWJlKCk7XG5cblx0cHVibGljIHN0YXRpYyBsb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdFx0Y3VzdG9tTGV2ZWxzPzoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHRyZXR1cm4gc2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lLCBjdXN0b21MZXZlbHMpIGFzIExvZ2dlcjxcblx0XHRcdFQsXG5cdFx0XHRDdXN0b21Pbmx5XG5cdFx0Pjtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRjb25maWdPcHRpb25zOiBMb2dnZXJGYWN0b3J5T3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0c2NyaWJlLmluc3RhbmNlID0gbmV3IHNjcmliZSgpO1xuXHRcdHJldHVybiBzY3JpYmUuaW5zdGFuY2UuY29uZmlndXJlPFQsIEN1c3RvbU9ubHk+KGNvbmZpZ09wdGlvbnMpO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBnZXQgZXh0ZW5kKCkge1xuXHRcdHJldHVybiBzY3JpYmUuaW5zdGFuY2U7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGZsdXNoKGNiPzogKCkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdHNjcmliZS5pbnN0YW5jZS5sb2dnZXJQcm92aWRlci5mbHVzaChjYik7XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IoKSB7XG5cdFx0Ly8gSW5pdGlhbGl6ZSB3aXRoIGRlZmF1bHQgY29uc29sZSBhZGFwdGVyXG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlciA9IG5ldyBDb25zb2xlQWRhcHRlcigpO1xuXHRcdGNvbnN0IGRlZmF1bHRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzKCk7XG5cdFx0dGhpcy5sb2dnZXJQcm92aWRlci5jb25maWd1cmUoZGVmYXVsdE9wdGlvbnMpO1xuXHR9XG5cblx0cHVibGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0Y29uZmlnT3B0aW9uczogTG9nZ2VyRmFjdG9yeU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk6IChuYW1lPzogc3RyaW5nKSA9PiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IHsgYWRhcHRlciwgb3B0aW9ucyB9ID0gY29uZmlnT3B0aW9ucztcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyID0gYWRhcHRlcjtcblx0XHRjb25zdCBkZWZhdWx0c0FuZE9wdGlvbnMgPSB0aGlzLm1lcmdlRGVmYXVsdHM8VCwgQ3VzdG9tT25seT4ob3B0aW9ucyk7XG5cdFx0YWRhcHRlci5jb25maWd1cmUoZGVmYXVsdHNBbmRPcHRpb25zKTtcblx0XHRyZXR1cm4gKG5hbWU/OiBzdHJpbmcpID0+IGFkYXB0ZXIuZ2V0TG9nZ2VyKG5hbWUpIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0fVxuXG5cdHB1YmxpYyBnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdFx0Y3VzdG9tTGV2ZWxzPzoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHQvLyBJZiBjdXN0b20gbGV2ZWxzIGFyZSBwcm92aWRlZCwgd2UgbmVlZCB0byByZWNvbmZpZ3VyZSB0aGUgYWRhcHRlclxuXHRcdGlmIChjdXN0b21MZXZlbHMpIHtcblx0XHRcdGNvbnN0IGN1cnJlbnRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzKHsgY3VzdG9tTGV2ZWxzIH0pO1xuXHRcdFx0dGhpcy5sb2dnZXJQcm92aWRlci5jb25maWd1cmUoY3VycmVudE9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGxvZ2dlciA9IHRoaXMubG9nZ2VyUHJvdmlkZXIuZ2V0TG9nZ2VyKG5hbWUpIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0XHR0aGlzLnN1cHBvcnRzTGV2ZWxzKGN1c3RvbUxldmVscywgbG9nZ2VyKTtcblx0XHRyZXR1cm4gbG9nZ2VyO1xuXHR9XG5cblx0cHJpdmF0ZSBzdXBwb3J0c0xldmVsczxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPihcblx0XHRjdXN0b21MZXZlbHM6IHtcblx0XHRcdFtsZXZlbCBpbiBUXTogbnVtYmVyO1xuXHRcdH0sXG5cdFx0bG9nZ2VyOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdGlmICghY3VzdG9tTGV2ZWxzKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgbWlzc2luZ0xldmVsID0gT2JqZWN0LmVudHJpZXMoY3VzdG9tTGV2ZWxzKS5maW5kKFxuXHRcdFx0KGtleSkgPT4gIWxvZ2dlci5sb2dMZXZlbHNba2V5LmF0KDApLnRvU3RyaW5nKCldLFxuXHRcdCk7XG5cblx0XHRpZiAobWlzc2luZ0xldmVsICE9IG51bGwpIHtcblx0XHRcdHRocm93IG5ldyBMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yKFxuXHRcdFx0XHRgQ3VycmVudCBsb2dnZXIgd2FzIG5vdCBjb25maWd1cmVkIGZvciBjdXN0b20gbGV2ZWwgJHttaXNzaW5nTGV2ZWx9LCB2YWxpZCBsZXZlbHMgYXJlOiAke0pTT04uc3RyaW5naWZ5KGxvZ2dlci5sb2dMZXZlbHMpfWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4geyBtaXNzaW5nTGV2ZWwgfTtcblx0fVxuXG5cdHByaXZhdGUgbWVyZ2VEZWZhdWx0czxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0b3B0aW9ucz86IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IGxvZ0xldmVsID0gcmVzb2x2ZUxvZ0xldmVsKG9wdGlvbnM/LmxvZ0xldmVsKSA/PyBEZWZhdWx0TG9nTGV2ZWw7XG5cdFx0cmV0dXJuIHsgbG9nTGV2ZWwsIHJlZGFjdGlvbnM6IERlZmF1bHRSZWRhY3Rpb25zLCAuLi5vcHRpb25zIH07XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJDb25zb2xlQWRhcHRlciIsInJlc29sdmVMb2dMZXZlbCIsIkxvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IiLCJEZWZhdWx0TG9nTGV2ZWwiLCJEZWZhdWx0UmVkYWN0aW9ucyIsInNjcmliZSIsImxvZ2dlclByb3ZpZGVyIiwiaW5zdGFuY2UiLCJsb2dnZXIiLCJuYW1lIiwiY3VzdG9tTGV2ZWxzIiwiZ2V0TG9nZ2VyIiwiY29uZmlndXJlIiwiY29uZmlnT3B0aW9ucyIsImV4dGVuZCIsImZsdXNoIiwiY2IiLCJkZWZhdWx0T3B0aW9ucyIsIm1lcmdlRGVmYXVsdHMiLCJhZGFwdGVyIiwib3B0aW9ucyIsImRlZmF1bHRzQW5kT3B0aW9ucyIsImN1cnJlbnRPcHRpb25zIiwic3VwcG9ydHNMZXZlbHMiLCJtaXNzaW5nTGV2ZWwiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmluZCIsImtleSIsImxvZ0xldmVscyIsImF0IiwidG9TdHJpbmciLCJKU09OIiwic3RyaW5naWZ5IiwibG9nTGV2ZWwiLCJyZWRhY3Rpb25zIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLFFBQVEsdUJBQXVCO0FBQ3RELFNBQVNDLGVBQWUsUUFBUSxXQUFXO0FBQzNDLFNBQVNDLHlCQUF5QixRQUFRLGNBQWM7QUFHeEQsU0FBU0MsZUFBZSxFQUFFQyxpQkFBaUIsUUFBNEIsYUFBYTtBQVVwRixPQUFPLE1BQU1DO0lBQ0pDLGVBQThCO0lBQ3RDLE9BQWVDLFdBQW1CLElBQUlGLFNBQVM7SUFFL0MsT0FBY0csT0FDYkMsSUFBYSxFQUNiQyxZQUVDLEVBQ3VCO1FBQ3hCLE9BQU9MLE9BQU9FLFFBQVEsQ0FBQ0ksU0FBUyxDQUFnQkYsTUFBTUM7SUFJdkQ7SUFFQSxPQUFjRSxVQUNiQyxhQUFrRCxFQUNqRDtRQUNEUixPQUFPRSxRQUFRLEdBQUcsSUFBSUY7UUFDdEIsT0FBT0EsT0FBT0UsUUFBUSxDQUFDSyxTQUFTLENBQWdCQztJQUNqRDtJQUVBLFdBQWtCQyxTQUFTO1FBQzFCLE9BQU9ULE9BQU9FLFFBQVE7SUFDdkI7SUFFQSxPQUFjUSxNQUFNQyxFQUFlLEVBQVE7UUFDMUNYLE9BQU9FLFFBQVEsQ0FBQ0QsY0FBYyxDQUFDUyxLQUFLLENBQUNDO0lBQ3RDO0lBRUEsYUFBcUI7UUFDcEIsMENBQTBDO1FBQzFDLElBQUksQ0FBQ1YsY0FBYyxHQUFHLElBQUlOO1FBQzFCLE1BQU1pQixpQkFBaUIsSUFBSSxDQUFDQyxhQUFhO1FBQ3pDLElBQUksQ0FBQ1osY0FBYyxDQUFDTSxTQUFTLENBQUNLO0lBQy9CO0lBRU9MLFVBQ05DLGFBQWtELEVBQ1A7UUFDM0MsTUFBTSxFQUFFTSxPQUFPLEVBQUVDLE9BQU8sRUFBRSxHQUFHUDtRQUM3QixJQUFJLENBQUNQLGNBQWMsR0FBR2E7UUFDdEIsTUFBTUUscUJBQXFCLElBQUksQ0FBQ0gsYUFBYSxDQUFnQkU7UUFDN0RELFFBQVFQLFNBQVMsQ0FBQ1M7UUFDbEIsT0FBTyxDQUFDWixPQUFrQlUsUUFBUVIsU0FBUyxDQUFDRjtJQUM3QztJQUVPRSxVQUNORixJQUFhLEVBQ2JDLFlBRUMsRUFDdUI7UUFDeEIsb0VBQW9FO1FBQ3BFLElBQUlBLGNBQWM7WUFDakIsTUFBTVksaUJBQWlCLElBQUksQ0FBQ0osYUFBYSxDQUFDO2dCQUFFUjtZQUFhO1lBQ3pELElBQUksQ0FBQ0osY0FBYyxDQUFDTSxTQUFTLENBQUNVO1FBQy9CO1FBRUEsTUFBTWQsU0FBUyxJQUFJLENBQUNGLGNBQWMsQ0FBQ0ssU0FBUyxDQUFDRjtRQUM3QyxJQUFJLENBQUNjLGNBQWMsQ0FBQ2IsY0FBY0Y7UUFDbEMsT0FBT0E7SUFDUjtJQUVRZSxlQUNQYixZQUVDLEVBQ0RGLE1BQTZCLEVBQzVCO1FBQ0QsSUFBSSxDQUFDRSxjQUFjO1lBQ2xCO1FBQ0Q7UUFFQSxNQUFNYyxlQUFlQyxPQUFPQyxPQUFPLENBQUNoQixjQUFjaUIsSUFBSSxDQUNyRCxDQUFDQyxNQUFRLENBQUNwQixPQUFPcUIsU0FBUyxDQUFDRCxJQUFJRSxFQUFFLENBQUMsR0FBR0MsUUFBUSxHQUFHO1FBR2pELElBQUlQLGdCQUFnQixNQUFNO1lBQ3pCLE1BQU0sSUFBSXRCLDBCQUNULENBQUMsbURBQW1ELEVBQUVzQixhQUFhLG9CQUFvQixFQUFFUSxLQUFLQyxTQUFTLENBQUN6QixPQUFPcUIsU0FBUyxHQUFHO1FBRTdIO1FBQ0EsT0FBTztZQUFFTDtRQUFhO0lBQ3ZCO0lBRVFOLGNBQ1BFLE9BQXNDLEVBQ1A7UUFDL0IsTUFBTWMsV0FBV2pDLGdCQUFnQm1CLFNBQVNjLGFBQWEvQjtRQUN2RCxPQUFPO1lBQUUrQjtZQUFVQyxZQUFZL0I7WUFBbUIsR0FBR2dCLE9BQU87UUFBQztJQUM5RDtBQUNEIn0=
package/es6/src/types.js CHANGED
@@ -15,23 +15,11 @@ export const LogLevels = {
15
15
  trace: 10
16
16
  };
17
17
  export const DefaultLogLevel = "info";
18
- /** Pino's default censor. ConsoleAdapter uses the same placeholder. */ export const DefaultCensor = "[Redacted]";
19
- /**
20
- * Object keys Scribe redacts. Adapters apply this list — Pino via `redact.paths`
21
- * (top-level and one nest), ConsoleAdapter via `redact.object`.
22
- */ export const DefaultRedactionKeys = [
23
- "password",
24
- "secret",
25
- "token",
26
- "otp",
27
- "pw",
28
- "userconfig"
29
- ];
30
18
  export const DefaultRedactions = {
31
- paths: DefaultRedactionKeys.flatMap((key)=>[
32
- key,
33
- `*.${key}`
34
- ])
19
+ paths: [
20
+ "*.password",
21
+ "*.secret"
22
+ ]
35
23
  };
36
24
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IExPR19MRVZFTFMgPSBbXCJmYXRhbFwiLCBcImVycm9yXCIsIFwid2FyblwiLCBcImluZm9cIiwgXCJkZWJ1Z1wiLCBcInRyYWNlXCJdIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBMb2dMZXZlbCA9IHR5cGVvZiBMT0dfTEVWRUxTO1xuXG5leHBvcnQgdHlwZSBEZWZhdWx0TGV2ZWxzID0gTG9nTGV2ZWxbbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IExvZ0xldmVscyA9IHtcblx0ZmF0YWw6IDYwLFxuXHRlcnJvcjogNTAsXG5cdHdhcm46IDQwLFxuXHRpbmZvOiAzMCxcblx0ZGVidWc6IDIwLFxuXHR0cmFjZTogMTAsXG59IHNhdGlzZmllcyBSZWNvcmQ8RGVmYXVsdExldmVscywgbnVtYmVyPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRMb2dMZXZlbDogRGVmYXVsdExldmVscyA9IFwiaW5mb1wiO1xuXG5leHBvcnQgdHlwZSBSZWRhY3Rpb25PcHRpb25zID0ge1xuXHRwYXRoczogc3RyaW5nW107XG59O1xuXG4vKiogUGlubydzIGRlZmF1bHQgY2Vuc29yLiBDb25zb2xlQWRhcHRlciB1c2VzIHRoZSBzYW1lIHBsYWNlaG9sZGVyLiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDZW5zb3IgPSBcIltSZWRhY3RlZF1cIjtcblxuLyoqXG4gKiBPYmplY3Qga2V5cyBTY3JpYmUgcmVkYWN0cy4gQWRhcHRlcnMgYXBwbHkgdGhpcyBsaXN0IOKAlCBQaW5vIHZpYSBgcmVkYWN0LnBhdGhzYFxuICogKHRvcC1sZXZlbCBhbmQgb25lIG5lc3QpLCBDb25zb2xlQWRhcHRlciB2aWEgYHJlZGFjdC5vYmplY3RgLlxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFJlZGFjdGlvbktleXMgPSBbXG5cdFwicGFzc3dvcmRcIixcblx0XCJzZWNyZXRcIixcblx0XCJ0b2tlblwiLFxuXHRcIm90cFwiLFxuXHRcInB3XCIsXG5cdFwidXNlcmNvbmZpZ1wiLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRSZWRhY3Rpb25zOiBSZWRhY3Rpb25PcHRpb25zID0ge1xuXHRwYXRoczogRGVmYXVsdFJlZGFjdGlvbktleXMuZmxhdE1hcCgoa2V5KSA9PiBba2V5LCBgKi4ke2tleX1gXSksXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjcmliZU9wdGlvbnM8XG5cdFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlcixcblx0Q3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IHVuZGVmaW5lZCxcbj4ge1xuXHRsb2dMZXZlbD86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmc7XG5cdGN1c3RvbUxldmVscz86IHtcblx0XHRbbGV2ZWwgaW4gVF06IG51bWJlcjtcblx0fTtcblx0Y3VzdG9tT25seT86IEN1c3RvbU9ubHk7XG5cdHJlZGFjdGlvbnM/OiBSZWRhY3Rpb25PcHRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBMb2dBZGFwdGVyT3B0aW9ucyA9IFJlY29yZDxzdHJpbmcsIG5ldmVyPjtcbiJdLCJuYW1lcyI6WyJMT0dfTEVWRUxTIiwiTG9nTGV2ZWxzIiwiZmF0YWwiLCJlcnJvciIsIndhcm4iLCJpbmZvIiwiZGVidWciLCJ0cmFjZSIsIkRlZmF1bHRMb2dMZXZlbCIsIkRlZmF1bHRDZW5zb3IiLCJEZWZhdWx0UmVkYWN0aW9uS2V5cyIsIkRlZmF1bHRSZWRhY3Rpb25zIiwicGF0aHMiLCJmbGF0TWFwIiwia2V5Il0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSxhQUFhO0lBQUM7SUFBUztJQUFTO0lBQVE7SUFBUTtJQUFTO0NBQVE7QUFNdkUsT0FBTyxNQUFNQyxZQUFZO0lBQ3hCQyxPQUFPO0lBQ1BDLE9BQU87SUFDUEMsTUFBTTtJQUNOQyxNQUFNO0lBQ05DLE9BQU87SUFDUEMsT0FBTztBQUNSLEVBQTBDO0FBRTFDLE9BQU8sTUFBTUMsa0JBQWlDLE9BQU87QUFNckQscUVBQXFFLEdBQ3JFLE9BQU8sTUFBTUMsZ0JBQWdCLGFBQWE7QUFFMUM7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQyx1QkFBdUI7SUFDbkM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0EsQ0FBVTtBQUVYLE9BQU8sTUFBTUMsb0JBQXNDO0lBQ2xEQyxPQUFPRixxQkFBcUJHLE9BQU8sQ0FBQyxDQUFDQyxNQUFRO1lBQUNBO1lBQUssQ0FBQyxFQUFFLEVBQUVBLEtBQUs7U0FBQztBQUMvRCxFQUFFIn0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IExPR19MRVZFTFMgPSBbXCJmYXRhbFwiLCBcImVycm9yXCIsIFwid2FyblwiLCBcImluZm9cIiwgXCJkZWJ1Z1wiLCBcInRyYWNlXCJdIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBMb2dMZXZlbCA9IHR5cGVvZiBMT0dfTEVWRUxTO1xuXG5leHBvcnQgdHlwZSBEZWZhdWx0TGV2ZWxzID0gTG9nTGV2ZWxbbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IExvZ0xldmVscyA9IHtcblx0ZmF0YWw6IDYwLFxuXHRlcnJvcjogNTAsXG5cdHdhcm46IDQwLFxuXHRpbmZvOiAzMCxcblx0ZGVidWc6IDIwLFxuXHR0cmFjZTogMTAsXG59IHNhdGlzZmllcyBSZWNvcmQ8RGVmYXVsdExldmVscywgbnVtYmVyPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRMb2dMZXZlbDogRGVmYXVsdExldmVscyA9IFwiaW5mb1wiO1xuXG5leHBvcnQgdHlwZSBSZWRhY3Rpb25PcHRpb25zID0ge1xuXHRwYXRoczogc3RyaW5nW107XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFJlZGFjdGlvbnM6IFJlZGFjdGlvbk9wdGlvbnMgPSB7IHBhdGhzOiBbXCIqLnBhc3N3b3JkXCIsIFwiKi5zZWNyZXRcIl0gfTtcblxuZXhwb3J0IGludGVyZmFjZSBTY3JpYmVPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSB1bmRlZmluZWQsXG4+IHtcblx0bG9nTGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nO1xuXHRjdXN0b21MZXZlbHM/OiB7XG5cdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdH07XG5cdGN1c3RvbU9ubHk/OiBDdXN0b21Pbmx5O1xuXHRyZWRhY3Rpb25zPzogUmVkYWN0aW9uT3B0aW9ucztcbn1cblxuZXhwb3J0IHR5cGUgTG9nQWRhcHRlck9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBuZXZlcj47XG4iXSwibmFtZXMiOlsiTE9HX0xFVkVMUyIsIkxvZ0xldmVscyIsImZhdGFsIiwiZXJyb3IiLCJ3YXJuIiwiaW5mbyIsImRlYnVnIiwidHJhY2UiLCJEZWZhdWx0TG9nTGV2ZWwiLCJEZWZhdWx0UmVkYWN0aW9ucyIsInBhdGhzIl0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSxhQUFhO0lBQUM7SUFBUztJQUFTO0lBQVE7SUFBUTtJQUFTO0NBQVE7QUFNdkUsT0FBTyxNQUFNQyxZQUFZO0lBQ3hCQyxPQUFPO0lBQ1BDLE9BQU87SUFDUEMsTUFBTTtJQUNOQyxNQUFNO0lBQ05DLE9BQU87SUFDUEMsT0FBTztBQUNSLEVBQTBDO0FBRTFDLE9BQU8sTUFBTUMsa0JBQWlDLE9BQU87QUFNckQsT0FBTyxNQUFNQyxvQkFBc0M7SUFBRUMsT0FBTztRQUFDO1FBQWM7S0FBVztBQUFDLEVBQUUifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decohere/scribe",
3
- "version": "0.0.1-dev.89",
3
+ "version": "0.0.1-dev.9",
4
4
  "description": "Structured logging interface with pluggable adapters",
5
5
  "keywords": [
6
6
  "typescript",
@@ -6,7 +6,6 @@ export declare class ConsoleAdapter extends LogAdapter {
6
6
  private configuredLevels;
7
7
  private configuredLogLevel;
8
8
  private configuredLogLevelValue;
9
- private redactionKeys;
10
9
  constructor(_options?: ConsoleAdapterOptions);
11
10
  configure<T extends string = never, CustomOnly extends true | false = false>(scribeOptions: ScribeOptions<T, CustomOnly>): void;
12
11
  getLogger<T extends string = never, CustomOnly extends true | false = false>(name?: string): Logger<T, CustomOnly>;
@@ -4,5 +4,4 @@ export * from "./errors.js";
4
4
  export * from "./logger.adapter.js";
5
5
  export * from "./logger.factory.js";
6
6
  export * from "./logger.type.js";
7
- export * from "./redact.js";
8
7
  export * from "./types.js";
@@ -1,29 +1,14 @@
1
1
  import type { Logger } from "./logger.type.js";
2
2
  import { type ScribeOptions } from "./types.js";
3
- export declare function formatError(err: Error): string;
4
- export interface LoggerAdapter extends AsyncDisposable {
3
+ export interface LoggerAdapter {
5
4
  configure<T extends string = never, CustomOnly extends true | false = false>(options: ScribeOptions<T, CustomOnly>): any;
6
5
  getLogger<T extends string = never, CustomOnly extends true | false = false>(name: string): Logger<T, CustomOnly>;
7
6
  flush(cb?: () => void): void;
8
- /**
9
- * Synchronously stop accepting writes (kill ThreadStream / close fds).
10
- * Call before swapping adapters so a dead worker cannot spam on further logs.
11
- * Idempotent — safe to call more than once.
12
- */
13
- retire(): void;
14
- /**
15
- * Drain buffered output and release unmanaged handles (workers, fds).
16
- * Idempotent — safe to call more than once.
17
- */
18
- stop(): Promise<void>;
19
7
  }
20
8
  export declare abstract class LogAdapter implements LoggerAdapter {
21
9
  abstract configure<T extends string = never, CustomOnly extends true | false = false>(options: ScribeOptions<T, CustomOnly>): any;
22
10
  abstract getLogger<T extends string = never, CustomOnly extends true | false = false>(name: string): Logger<T, CustomOnly>;
23
11
  flush(cb?: () => void): void;
24
- retire(): void;
25
- stop(): Promise<void>;
26
- [Symbol.asyncDispose](): Promise<void>;
27
12
  protected getLogLevels(options: ScribeOptions<any, any>): Record<string, number>;
28
13
  protected getUniqueLevels(defaultLevels: Record<string, number>, customLevels: Record<string, number>): [string, number][];
29
14
  }
@@ -5,36 +5,20 @@ type LoggerFactoryOptions<T extends string = never, CustomOnly extends true | fa
5
5
  options?: ScribeOptions<T, CustomOnly>;
6
6
  adapter: LoggerAdapter;
7
7
  };
8
- export declare class scribe implements AsyncDisposable {
8
+ export declare class scribe {
9
9
  private loggerProvider;
10
- /** True after `configure({ adapter })` — the constructor’s ConsoleAdapter is only a fallback. */
11
- private adapterConfigured;
12
- private defaultAdapterWarned;
13
10
  private static instance;
14
11
  static logger<T extends string = never, CustomOnly extends true | false = false>(name?: string, customLevels?: {
15
12
  [level in T]: number;
16
13
  }): Logger<T, CustomOnly>;
17
14
  static configure<T extends string = never, CustomOnly extends true | false = false>(configOptions: LoggerFactoryOptions<T, CustomOnly>): (name?: string) => Logger<T, CustomOnly>;
15
+ static get extend(): scribe;
18
16
  static flush(cb?: () => void): void;
19
- /** Synchronously stop accepting writes on the active adapter. */
20
- static retire(): void;
21
- /** Drain the active adapter and release workers / destinations. */
22
- static stop(): Promise<void>;
23
- /**
24
- * Module-level `const log = scribe.logger(...)` must follow a later
25
- * `scribe.configure()` (CLI / Flux / HotReloadServer). Forward every use to
26
- * the active adapter logger for `name`.
27
- */
28
- private static createLiveLogger;
29
17
  constructor();
30
18
  configure<T extends string = never, CustomOnly extends true | false = false>(configOptions: LoggerFactoryOptions<T, CustomOnly>): (name?: string) => Logger<T, CustomOnly>;
31
- retire(): void;
32
- stop(): Promise<void>;
33
- [Symbol.asyncDispose](): Promise<void>;
34
19
  getLogger<T extends string = never, CustomOnly extends true | false = false>(name?: string, customLevels?: {
35
20
  [level in T]: number;
36
21
  }): Logger<T, CustomOnly>;
37
- private warnIfDefaultAdapter;
38
22
  private supportsLevels;
39
23
  private mergeDefaults;
40
24
  }
@@ -13,13 +13,6 @@ export declare const DefaultLogLevel: DefaultLevels;
13
13
  export type RedactionOptions = {
14
14
  paths: string[];
15
15
  };
16
- /** Pino's default censor. ConsoleAdapter uses the same placeholder. */
17
- export declare const DefaultCensor = "[Redacted]";
18
- /**
19
- * Object keys Scribe redacts. Adapters apply this list — Pino via `redact.paths`
20
- * (top-level and one nest), ConsoleAdapter via `redact.object`.
21
- */
22
- export declare const DefaultRedactionKeys: readonly ["password", "secret", "token", "otp", "pw", "userconfig"];
23
16
  export declare const DefaultRedactions: RedactionOptions;
24
17
  export interface ScribeOptions<T extends string = never, CustomOnly extends true | false = undefined> {
25
18
  logLevel?: DefaultLevels | string;
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "redact", {
6
- enumerable: true,
7
- get: function() {
8
- return redact;
9
- }
10
- });
11
- const _types = require("./types.js");
12
- function keysFromPaths(paths) {
13
- const keys = new Set();
14
- for (const path of paths){
15
- const segments = path.split(".").filter((segment)=>segment.length > 0 && segment !== "*");
16
- const key = segments.at(-1);
17
- if (key != null) {
18
- keys.add(key);
19
- }
20
- }
21
- return keys;
22
- }
23
- function isPlainObject(value) {
24
- if (value == null || typeof value !== "object" || Array.isArray(value) || value instanceof Error) {
25
- return false;
26
- }
27
- const proto = Object.getPrototypeOf(value);
28
- return proto === Object.prototype || proto === null;
29
- }
30
- function object(value, keys, censor = _types.DefaultCensor, seen = new WeakSet()) {
31
- if (value == null || typeof value !== "object") {
32
- return value;
33
- }
34
- if (value instanceof Error) {
35
- return value;
36
- }
37
- if (seen.has(value)) {
38
- return value;
39
- }
40
- seen.add(value);
41
- if (Array.isArray(value)) {
42
- return value.map((item)=>object(item, keys, censor, seen));
43
- }
44
- if (!isPlainObject(value)) {
45
- return value;
46
- }
47
- const out = {};
48
- for (const [key, nested] of Object.entries(value)){
49
- out[key] = keys.has(key) ? censor : object(nested, keys, censor, seen);
50
- }
51
- return out;
52
- }
53
- function fromOptions(options) {
54
- return keysFromPaths(options?.paths ?? _types.DefaultRedactions.paths);
55
- }
56
- const redact = {
57
- object,
58
- keysFromPaths,
59
- fromOptions
60
- };
61
-
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL3JlZGFjdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWZhdWx0Q2Vuc29yLCBEZWZhdWx0UmVkYWN0aW9ucywgdHlwZSBSZWRhY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZnVuY3Rpb24ga2V5c0Zyb21QYXRocyhwYXRoczogc3RyaW5nW10pOiBTZXQ8c3RyaW5nPiB7XG5cdGNvbnN0IGtleXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0Zm9yIChjb25zdCBwYXRoIG9mIHBhdGhzKSB7XG5cdFx0Y29uc3Qgc2VnbWVudHMgPSBwYXRoXG5cdFx0XHQuc3BsaXQoXCIuXCIpXG5cdFx0XHQuZmlsdGVyKChzZWdtZW50KSA9PiBzZWdtZW50Lmxlbmd0aCA+IDAgJiYgc2VnbWVudCAhPT0gXCIqXCIpO1xuXHRcdGNvbnN0IGtleSA9IHNlZ21lbnRzLmF0KC0xKTtcblx0XHRpZiAoa2V5ICE9IG51bGwpIHtcblx0XHRcdGtleXMuYWRkKGtleSk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRpZiAoXG5cdFx0dmFsdWUgPT0gbnVsbCB8fFxuXHRcdHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIiB8fFxuXHRcdEFycmF5LmlzQXJyYXkodmFsdWUpIHx8XG5cdFx0dmFsdWUgaW5zdGFuY2VvZiBFcnJvclxuXHQpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0Y29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuXHRyZXR1cm4gcHJvdG8gPT09IE9iamVjdC5wcm90b3R5cGUgfHwgcHJvdG8gPT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIG9iamVjdChcblx0dmFsdWU6IHVua25vd24sXG5cdGtleXM6IFJlYWRvbmx5U2V0PHN0cmluZz4sXG5cdGNlbnNvcjogc3RyaW5nID0gRGVmYXVsdENlbnNvcixcblx0c2VlbjogV2Vha1NldDxvYmplY3Q+ID0gbmV3IFdlYWtTZXQoKSxcbik6IHVua25vd24ge1xuXHRpZiAodmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHtcblx0XHRyZXR1cm4gdmFsdWU7XG5cdH1cblx0aWYgKHZhbHVlIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRyZXR1cm4gdmFsdWU7XG5cdH1cblx0aWYgKHNlZW4uaGFzKHZhbHVlKSkge1xuXHRcdHJldHVybiB2YWx1ZTtcblx0fVxuXHRzZWVuLmFkZCh2YWx1ZSk7XG5cdGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdHJldHVybiB2YWx1ZS5tYXAoKGl0ZW0pID0+IG9iamVjdChpdGVtLCBrZXlzLCBjZW5zb3IsIHNlZW4pKTtcblx0fVxuXHRpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG5cdFx0cmV0dXJuIHZhbHVlO1xuXHR9XG5cdGNvbnN0IG91dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblx0Zm9yIChjb25zdCBba2V5LCBuZXN0ZWRdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlKSkge1xuXHRcdG91dFtrZXldID0ga2V5cy5oYXMoa2V5KSA/IGNlbnNvciA6IG9iamVjdChuZXN0ZWQsIGtleXMsIGNlbnNvciwgc2Vlbik7XG5cdH1cblx0cmV0dXJuIG91dDtcbn1cblxuZnVuY3Rpb24gZnJvbU9wdGlvbnMob3B0aW9ucz86IFJlZGFjdGlvbk9wdGlvbnMpOiBTZXQ8c3RyaW5nPiB7XG5cdHJldHVybiBrZXlzRnJvbVBhdGhzKG9wdGlvbnM/LnBhdGhzID8/IERlZmF1bHRSZWRhY3Rpb25zLnBhdGhzKTtcbn1cblxuZXhwb3J0IGNvbnN0IHJlZGFjdCA9IHsgb2JqZWN0LCBrZXlzRnJvbVBhdGhzLCBmcm9tT3B0aW9ucyB9O1xuIl0sIm5hbWVzIjpbInJlZGFjdCIsImtleXNGcm9tUGF0aHMiLCJwYXRocyIsImtleXMiLCJTZXQiLCJwYXRoIiwic2VnbWVudHMiLCJzcGxpdCIsImZpbHRlciIsInNlZ21lbnQiLCJsZW5ndGgiLCJrZXkiLCJhdCIsImFkZCIsImlzUGxhaW5PYmplY3QiLCJ2YWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsIkVycm9yIiwicHJvdG8iLCJPYmplY3QiLCJnZXRQcm90b3R5cGVPZiIsInByb3RvdHlwZSIsIm9iamVjdCIsImNlbnNvciIsIkRlZmF1bHRDZW5zb3IiLCJzZWVuIiwiV2Vha1NldCIsImhhcyIsIm1hcCIsIml0ZW0iLCJvdXQiLCJuZXN0ZWQiLCJlbnRyaWVzIiwiZnJvbU9wdGlvbnMiLCJvcHRpb25zIiwiRGVmYXVsdFJlZGFjdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBOERhQTs7O2VBQUFBOzs7dUJBOUQyRDtBQUV4RSxTQUFTQyxjQUFjQyxLQUFlO0lBQ3JDLE1BQU1DLE9BQU8sSUFBSUM7SUFDakIsS0FBSyxNQUFNQyxRQUFRSCxNQUFPO1FBQ3pCLE1BQU1JLFdBQVdELEtBQ2ZFLEtBQUssQ0FBQyxLQUNOQyxNQUFNLENBQUMsQ0FBQ0MsVUFBWUEsUUFBUUMsTUFBTSxHQUFHLEtBQUtELFlBQVk7UUFDeEQsTUFBTUUsTUFBTUwsU0FBU00sRUFBRSxDQUFDLENBQUM7UUFDekIsSUFBSUQsT0FBTyxNQUFNO1lBQ2hCUixLQUFLVSxHQUFHLENBQUNGO1FBQ1Y7SUFDRDtJQUNBLE9BQU9SO0FBQ1I7QUFFQSxTQUFTVyxjQUFjQyxLQUFjO0lBQ3BDLElBQ0NBLFNBQVMsUUFDVCxPQUFPQSxVQUFVLFlBQ2pCQyxNQUFNQyxPQUFPLENBQUNGLFVBQ2RBLGlCQUFpQkcsT0FDaEI7UUFDRCxPQUFPO0lBQ1I7SUFDQSxNQUFNQyxRQUFRQyxPQUFPQyxjQUFjLENBQUNOO0lBQ3BDLE9BQU9JLFVBQVVDLE9BQU9FLFNBQVMsSUFBSUgsVUFBVTtBQUNoRDtBQUVBLFNBQVNJLE9BQ1JSLEtBQWMsRUFDZFosSUFBeUIsRUFDekJxQixTQUFpQkMsb0JBQWEsRUFDOUJDLE9BQXdCLElBQUlDLFNBQVM7SUFFckMsSUFBSVosU0FBUyxRQUFRLE9BQU9BLFVBQVUsVUFBVTtRQUMvQyxPQUFPQTtJQUNSO0lBQ0EsSUFBSUEsaUJBQWlCRyxPQUFPO1FBQzNCLE9BQU9IO0lBQ1I7SUFDQSxJQUFJVyxLQUFLRSxHQUFHLENBQUNiLFFBQVE7UUFDcEIsT0FBT0E7SUFDUjtJQUNBVyxLQUFLYixHQUFHLENBQUNFO0lBQ1QsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixRQUFRO1FBQ3pCLE9BQU9BLE1BQU1jLEdBQUcsQ0FBQyxDQUFDQyxPQUFTUCxPQUFPTyxNQUFNM0IsTUFBTXFCLFFBQVFFO0lBQ3ZEO0lBQ0EsSUFBSSxDQUFDWixjQUFjQyxRQUFRO1FBQzFCLE9BQU9BO0lBQ1I7SUFDQSxNQUFNZ0IsTUFBK0IsQ0FBQztJQUN0QyxLQUFLLE1BQU0sQ0FBQ3BCLEtBQUtxQixPQUFPLElBQUlaLE9BQU9hLE9BQU8sQ0FBQ2xCLE9BQVE7UUFDbERnQixHQUFHLENBQUNwQixJQUFJLEdBQUdSLEtBQUt5QixHQUFHLENBQUNqQixPQUFPYSxTQUFTRCxPQUFPUyxRQUFRN0IsTUFBTXFCLFFBQVFFO0lBQ2xFO0lBQ0EsT0FBT0s7QUFDUjtBQUVBLFNBQVNHLFlBQVlDLE9BQTBCO0lBQzlDLE9BQU9sQyxjQUFja0MsU0FBU2pDLFNBQVNrQyx3QkFBaUIsQ0FBQ2xDLEtBQUs7QUFDL0Q7QUFFTyxNQUFNRixTQUFTO0lBQUV1QjtJQUFRdEI7SUFBZWlDO0FBQVkifQ==
package/es6/src/redact.js DELETED
@@ -1,52 +0,0 @@
1
- import { DefaultCensor, DefaultRedactions } from "./types.js";
2
- function keysFromPaths(paths) {
3
- const keys = new Set();
4
- for (const path of paths){
5
- const segments = path.split(".").filter((segment)=>segment.length > 0 && segment !== "*");
6
- const key = segments.at(-1);
7
- if (key != null) {
8
- keys.add(key);
9
- }
10
- }
11
- return keys;
12
- }
13
- function isPlainObject(value) {
14
- if (value == null || typeof value !== "object" || Array.isArray(value) || value instanceof Error) {
15
- return false;
16
- }
17
- const proto = Object.getPrototypeOf(value);
18
- return proto === Object.prototype || proto === null;
19
- }
20
- function object(value, keys, censor = DefaultCensor, seen = new WeakSet()) {
21
- if (value == null || typeof value !== "object") {
22
- return value;
23
- }
24
- if (value instanceof Error) {
25
- return value;
26
- }
27
- if (seen.has(value)) {
28
- return value;
29
- }
30
- seen.add(value);
31
- if (Array.isArray(value)) {
32
- return value.map((item)=>object(item, keys, censor, seen));
33
- }
34
- if (!isPlainObject(value)) {
35
- return value;
36
- }
37
- const out = {};
38
- for (const [key, nested] of Object.entries(value)){
39
- out[key] = keys.has(key) ? censor : object(nested, keys, censor, seen);
40
- }
41
- return out;
42
- }
43
- function fromOptions(options) {
44
- return keysFromPaths(options?.paths ?? DefaultRedactions.paths);
45
- }
46
- export const redact = {
47
- object,
48
- keysFromPaths,
49
- fromOptions
50
- };
51
-
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL3JlZGFjdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWZhdWx0Q2Vuc29yLCBEZWZhdWx0UmVkYWN0aW9ucywgdHlwZSBSZWRhY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZnVuY3Rpb24ga2V5c0Zyb21QYXRocyhwYXRoczogc3RyaW5nW10pOiBTZXQ8c3RyaW5nPiB7XG5cdGNvbnN0IGtleXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0Zm9yIChjb25zdCBwYXRoIG9mIHBhdGhzKSB7XG5cdFx0Y29uc3Qgc2VnbWVudHMgPSBwYXRoXG5cdFx0XHQuc3BsaXQoXCIuXCIpXG5cdFx0XHQuZmlsdGVyKChzZWdtZW50KSA9PiBzZWdtZW50Lmxlbmd0aCA+IDAgJiYgc2VnbWVudCAhPT0gXCIqXCIpO1xuXHRcdGNvbnN0IGtleSA9IHNlZ21lbnRzLmF0KC0xKTtcblx0XHRpZiAoa2V5ICE9IG51bGwpIHtcblx0XHRcdGtleXMuYWRkKGtleSk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRpZiAoXG5cdFx0dmFsdWUgPT0gbnVsbCB8fFxuXHRcdHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIiB8fFxuXHRcdEFycmF5LmlzQXJyYXkodmFsdWUpIHx8XG5cdFx0dmFsdWUgaW5zdGFuY2VvZiBFcnJvclxuXHQpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0Y29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuXHRyZXR1cm4gcHJvdG8gPT09IE9iamVjdC5wcm90b3R5cGUgfHwgcHJvdG8gPT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIG9iamVjdChcblx0dmFsdWU6IHVua25vd24sXG5cdGtleXM6IFJlYWRvbmx5U2V0PHN0cmluZz4sXG5cdGNlbnNvcjogc3RyaW5nID0gRGVmYXVsdENlbnNvcixcblx0c2VlbjogV2Vha1NldDxvYmplY3Q+ID0gbmV3IFdlYWtTZXQoKSxcbik6IHVua25vd24ge1xuXHRpZiAodmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHtcblx0XHRyZXR1cm4gdmFsdWU7XG5cdH1cblx0aWYgKHZhbHVlIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRyZXR1cm4gdmFsdWU7XG5cdH1cblx0aWYgKHNlZW4uaGFzKHZhbHVlKSkge1xuXHRcdHJldHVybiB2YWx1ZTtcblx0fVxuXHRzZWVuLmFkZCh2YWx1ZSk7XG5cdGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdHJldHVybiB2YWx1ZS5tYXAoKGl0ZW0pID0+IG9iamVjdChpdGVtLCBrZXlzLCBjZW5zb3IsIHNlZW4pKTtcblx0fVxuXHRpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG5cdFx0cmV0dXJuIHZhbHVlO1xuXHR9XG5cdGNvbnN0IG91dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblx0Zm9yIChjb25zdCBba2V5LCBuZXN0ZWRdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlKSkge1xuXHRcdG91dFtrZXldID0ga2V5cy5oYXMoa2V5KSA/IGNlbnNvciA6IG9iamVjdChuZXN0ZWQsIGtleXMsIGNlbnNvciwgc2Vlbik7XG5cdH1cblx0cmV0dXJuIG91dDtcbn1cblxuZnVuY3Rpb24gZnJvbU9wdGlvbnMob3B0aW9ucz86IFJlZGFjdGlvbk9wdGlvbnMpOiBTZXQ8c3RyaW5nPiB7XG5cdHJldHVybiBrZXlzRnJvbVBhdGhzKG9wdGlvbnM/LnBhdGhzID8/IERlZmF1bHRSZWRhY3Rpb25zLnBhdGhzKTtcbn1cblxuZXhwb3J0IGNvbnN0IHJlZGFjdCA9IHsgb2JqZWN0LCBrZXlzRnJvbVBhdGhzLCBmcm9tT3B0aW9ucyB9O1xuIl0sIm5hbWVzIjpbIkRlZmF1bHRDZW5zb3IiLCJEZWZhdWx0UmVkYWN0aW9ucyIsImtleXNGcm9tUGF0aHMiLCJwYXRocyIsImtleXMiLCJTZXQiLCJwYXRoIiwic2VnbWVudHMiLCJzcGxpdCIsImZpbHRlciIsInNlZ21lbnQiLCJsZW5ndGgiLCJrZXkiLCJhdCIsImFkZCIsImlzUGxhaW5PYmplY3QiLCJ2YWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsIkVycm9yIiwicHJvdG8iLCJPYmplY3QiLCJnZXRQcm90b3R5cGVPZiIsInByb3RvdHlwZSIsIm9iamVjdCIsImNlbnNvciIsInNlZW4iLCJXZWFrU2V0IiwiaGFzIiwibWFwIiwiaXRlbSIsIm91dCIsIm5lc3RlZCIsImVudHJpZXMiLCJmcm9tT3B0aW9ucyIsIm9wdGlvbnMiLCJyZWRhY3QiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsRUFBRUMsaUJBQWlCLFFBQStCLGFBQWE7QUFFckYsU0FBU0MsY0FBY0MsS0FBZTtJQUNyQyxNQUFNQyxPQUFPLElBQUlDO0lBQ2pCLEtBQUssTUFBTUMsUUFBUUgsTUFBTztRQUN6QixNQUFNSSxXQUFXRCxLQUNmRSxLQUFLLENBQUMsS0FDTkMsTUFBTSxDQUFDLENBQUNDLFVBQVlBLFFBQVFDLE1BQU0sR0FBRyxLQUFLRCxZQUFZO1FBQ3hELE1BQU1FLE1BQU1MLFNBQVNNLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLElBQUlELE9BQU8sTUFBTTtZQUNoQlIsS0FBS1UsR0FBRyxDQUFDRjtRQUNWO0lBQ0Q7SUFDQSxPQUFPUjtBQUNSO0FBRUEsU0FBU1csY0FBY0MsS0FBYztJQUNwQyxJQUNDQSxTQUFTLFFBQ1QsT0FBT0EsVUFBVSxZQUNqQkMsTUFBTUMsT0FBTyxDQUFDRixVQUNkQSxpQkFBaUJHLE9BQ2hCO1FBQ0QsT0FBTztJQUNSO0lBQ0EsTUFBTUMsUUFBUUMsT0FBT0MsY0FBYyxDQUFDTjtJQUNwQyxPQUFPSSxVQUFVQyxPQUFPRSxTQUFTLElBQUlILFVBQVU7QUFDaEQ7QUFFQSxTQUFTSSxPQUNSUixLQUFjLEVBQ2RaLElBQXlCLEVBQ3pCcUIsU0FBaUJ6QixhQUFhLEVBQzlCMEIsT0FBd0IsSUFBSUMsU0FBUztJQUVyQyxJQUFJWCxTQUFTLFFBQVEsT0FBT0EsVUFBVSxVQUFVO1FBQy9DLE9BQU9BO0lBQ1I7SUFDQSxJQUFJQSxpQkFBaUJHLE9BQU87UUFDM0IsT0FBT0g7SUFDUjtJQUNBLElBQUlVLEtBQUtFLEdBQUcsQ0FBQ1osUUFBUTtRQUNwQixPQUFPQTtJQUNSO0lBQ0FVLEtBQUtaLEdBQUcsQ0FBQ0U7SUFDVCxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLFFBQVE7UUFDekIsT0FBT0EsTUFBTWEsR0FBRyxDQUFDLENBQUNDLE9BQVNOLE9BQU9NLE1BQU0xQixNQUFNcUIsUUFBUUM7SUFDdkQ7SUFDQSxJQUFJLENBQUNYLGNBQWNDLFFBQVE7UUFDMUIsT0FBT0E7SUFDUjtJQUNBLE1BQU1lLE1BQStCLENBQUM7SUFDdEMsS0FBSyxNQUFNLENBQUNuQixLQUFLb0IsT0FBTyxJQUFJWCxPQUFPWSxPQUFPLENBQUNqQixPQUFRO1FBQ2xEZSxHQUFHLENBQUNuQixJQUFJLEdBQUdSLEtBQUt3QixHQUFHLENBQUNoQixPQUFPYSxTQUFTRCxPQUFPUSxRQUFRNUIsTUFBTXFCLFFBQVFDO0lBQ2xFO0lBQ0EsT0FBT0s7QUFDUjtBQUVBLFNBQVNHLFlBQVlDLE9BQTBCO0lBQzlDLE9BQU9qQyxjQUFjaUMsU0FBU2hDLFNBQVNGLGtCQUFrQkUsS0FBSztBQUMvRDtBQUVBLE9BQU8sTUFBTWlDLFNBQVM7SUFBRVo7SUFBUXRCO0lBQWVnQztBQUFZLEVBQUUifQ==
@@ -1,10 +0,0 @@
1
- import { type RedactionOptions } from "./types.js";
2
- declare function keysFromPaths(paths: string[]): Set<string>;
3
- declare function object(value: unknown, keys: ReadonlySet<string>, censor?: string, seen?: WeakSet<object>): unknown;
4
- declare function fromOptions(options?: RedactionOptions): Set<string>;
5
- export declare const redact: {
6
- object: typeof object;
7
- keysFromPaths: typeof keysFromPaths;
8
- fromOptions: typeof fromOptions;
9
- };
10
- export {};