@decohere/scribe-pino 0.0.1-dev.88 → 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.
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  _export_star(require("./pino.adapater.js"), exports);
6
- _export_star(require("./pino.recipe.js"), exports);
7
6
  _export_star(require("./scribe-pino.js"), exports);
8
7
  function _export_star(from, to) {
9
8
  Object.keys(from).forEach(function(k) {
@@ -19,4 +18,4 @@ function _export_star(from, to) {
19
18
  return from;
20
19
  }
21
20
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcGluby5hZGFwYXRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGluby5yZWNpcGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NjcmliZS1waW5vLmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBYztxQkFDQTtxQkFDQSJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcGluby5hZGFwYXRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2NyaWJlLXBpbm8uanNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUFjO3FCQUNBIn0=
@@ -19,8 +19,6 @@ class PinoAdapter extends _scribe.LogAdapter {
19
19
  _pino;
20
20
  options;
21
21
  stream;
22
- disposed = false;
23
- retired = false;
24
22
  constructor(options, stream){
25
23
  super();
26
24
  this.options = options;
@@ -50,132 +48,12 @@ class PinoAdapter extends _scribe.LogAdapter {
50
48
  return logger;
51
49
  }
52
50
  flush(cb) {
53
- if (this.retired || !this._pino) {
54
- cb?.();
55
- return;
56
- }
57
51
  this._pino.flush(cb);
58
52
  }
59
- /**
60
- * Immediately stop accepting writes into the destination (ThreadStream).
61
- * Does not wait for flush — use `stop()` for async drain after retire.
62
- */ retire() {
63
- if (this.retired) {
64
- return;
65
- }
66
- this.retired = true;
67
- const guarded = this.stream;
68
- if (typeof guarded?.retire === "function") {
69
- guarded.retire("adapter retired");
70
- return;
71
- }
72
- destroyDestination(this.stream);
73
- }
74
- async [Symbol.asyncDispose]() {
75
- if (this.disposed) {
76
- return;
77
- }
78
- this.disposed = true;
79
- if (!this.retired) {
80
- const dest = this.stream;
81
- if (dest != null && typeof dest.end === "function") {
82
- // pino.transport() is a ThreadStream: pino.flush() → Atomics.waitAsync can
83
- // hang forever after concurrent writes. end() flushSyncs then signals
84
- // finish/close (it does not accept a Node Writable callback).
85
- await endDestination(dest);
86
- } else if (this._pino) {
87
- await new Promise((resolve, reject)=>{
88
- try {
89
- this._pino.flush((err)=>{
90
- if (err != null) {
91
- reject(err);
92
- return;
93
- }
94
- resolve();
95
- });
96
- } catch (err) {
97
- reject(err instanceof Error ? err : new Error(String(err)));
98
- }
99
- });
100
- }
101
- }
102
- // Mark dead after graceful end (or immediately if already force-retired).
103
- this.retire();
104
- }
105
- }
106
- function destroyDestination(stream) {
107
- const destroyable = stream;
108
- if (typeof destroyable?.destroy === "function") {
109
- try {
110
- destroyable.destroy();
111
- } catch {
112
- // already dead
113
- }
114
- }
115
- }
116
- /**
117
- * Drain a pino destination.
118
- *
119
- * Node `Writable.end(cb)` invokes `cb`. `pino.transport()` returns a
120
- * ThreadStream whose `end()` takes no callback and signals via `finish`/`close`
121
- * instead — waiting only on `end(cb)` hangs forever and blocks Flux HMR.
122
- */ function endDestination(stream) {
123
- if (typeof stream.end !== "function") {
124
- return Promise.resolve();
125
- }
126
- if (stream.destroyed || stream.closed || stream.writableFinished) {
127
- return Promise.resolve();
128
- }
129
- return new Promise((resolve, reject)=>{
130
- let settled = false;
131
- const settle = (err)=>{
132
- if (settled) {
133
- return;
134
- }
135
- settled = true;
136
- stream.off?.("finish", onFinish);
137
- stream.off?.("close", onClose);
138
- stream.off?.("error", onError);
139
- if (err != null) {
140
- reject(err);
141
- return;
142
- }
143
- resolve();
144
- };
145
- const onFinish = ()=>settle();
146
- const onClose = ()=>settle();
147
- const onError = (err)=>{
148
- // ThreadStream may emit error then close during teardown; closed = done.
149
- if (stream.destroyed || stream.closed) {
150
- settle();
151
- return;
152
- }
153
- settle(err);
154
- };
155
- stream.once?.("finish", onFinish);
156
- stream.once?.("close", onClose);
157
- stream.once?.("error", onError);
158
- try {
159
- stream.end((err)=>settle(err));
160
- } catch (err) {
161
- settle(err instanceof Error ? err : new Error(String(err)));
162
- return;
163
- }
164
- // ThreadStream.end() is a no-op when already destroyed (no events).
165
- if (stream.destroyed || stream.closed || stream.writableFinished) {
166
- settle();
167
- }
168
- });
169
53
  }
170
54
  function logMethod(args, method) {
171
55
  let message = args.at(0);
172
56
  const data = args.at(1);
173
- if (message instanceof Error) {
174
- method.call(this, {
175
- err: message
176
- }, (0, _scribe.formatError)(message));
177
- return;
178
- }
179
57
  if (data instanceof Error) {
180
58
  message = {
181
59
  msg: message,
@@ -207,4 +85,4 @@ function pinoMix(logger) {
207
85
  });
208
86
  }
209
87
 
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvcGluby5hZGFwYXRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHR0eXBlIEJhc2VMb2dnZXIsXG5cdGZvcm1hdEVycm9yLFxuXHRMb2dBZGFwdGVyLFxuXHR0eXBlIExvZ2dlcixcblx0dHlwZSBTY3JpYmVPcHRpb25zLFxufSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHBpbm8sIHsgdHlwZSBMb2dGbiB9IGZyb20gXCJwaW5vXCI7XG5cbmltcG9ydCB0eXBlIHsgR3VhcmRlZFRyYW5zcG9ydCB9IGZyb20gXCIuL3Bpbm8udHJhbnNwb3J0LWd1YXJkLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFBpbm9BZGFwYXRlck9wdGlvbnMgPSB7XG5cdG9wdGlvbnM/OiBwaW5vLkxvZ2dlck9wdGlvbnM7XG5cdHN0cmVhbT86IHBpbm8uRGVzdGluYXRpb25TdHJlYW07XG59O1xuXG50eXBlIEVuZGFibGVTdHJlYW0gPSB7XG5cdGVuZD86IChjYj86IChlcnI/OiBFcnJvciB8IG51bGwpID0+IHZvaWQpID0+IHZvaWQ7XG5cdGRlc3Ryb3k/OiAoZXJyb3I/OiBFcnJvcikgPT4gdm9pZDtcblx0ZGVzdHJveWVkPzogYm9vbGVhbjtcblx0Y2xvc2VkPzogYm9vbGVhbjtcblx0d3JpdGFibGVGaW5pc2hlZD86IGJvb2xlYW47XG5cdG9uY2U/OiAoXG5cdFx0ZXZlbnQ6IFwiZmluaXNoXCIgfCBcImNsb3NlXCIgfCBcImVycm9yXCIsXG5cdFx0bGlzdGVuZXI6ICguLi5hcmdzOiBuZXZlcltdKSA9PiB2b2lkLFxuXHQpID0+IHVua25vd247XG5cdG9mZj86IChldmVudDogXCJmaW5pc2hcIiB8IFwiY2xvc2VcIiB8IFwiZXJyb3JcIiwgbGlzdGVuZXI6ICguLi5hcmdzOiBuZXZlcltdKSA9PiB2b2lkKSA9PiB1bmtub3duO1xufTtcblxuZXhwb3J0IGNsYXNzIFBpbm9BZGFwdGVyIGV4dGVuZHMgTG9nQWRhcHRlciB7XG5cdHByaXZhdGUgX3Bpbm86IHBpbm8uTG9nZ2VyO1xuXHRwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IHBpbm8uTG9nZ2VyT3B0aW9ucztcblx0cHJpdmF0ZSByZWFkb25seSBzdHJlYW06IHBpbm8uRGVzdGluYXRpb25TdHJlYW0gfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgZGlzcG9zZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSByZXRpcmVkID0gZmFsc2U7XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IHBpbm8uTG9nZ2VyT3B0aW9ucywgc3RyZWFtPzogcGluby5EZXN0aW5hdGlvblN0cmVhbSkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5vcHRpb25zID0gb3B0aW9ucztcblx0XHR0aGlzLnN0cmVhbSA9IHN0cmVhbTtcblx0fVxuXG5cdHB1YmxpYyBjb25maWd1cmU8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdHNjcmliZU9wdGlvbnM6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdGNvbnN0IHsgbG9nTGV2ZWwsIHJlZGFjdGlvbnMgfSA9IHNjcmliZU9wdGlvbnM7XG5cdFx0Y29uc3QgY3VzdG9tTGV2ZWxzID0gdGhpcy5nZXRMb2dMZXZlbHMoc2NyaWJlT3B0aW9ucyk7XG5cblx0XHRjb25zdCBwaW5vT3B0aW9uczogcGluby5Mb2dnZXJPcHRpb25zID0ge1xuXHRcdFx0Y3VzdG9tTGV2ZWxzLFxuXHRcdFx0bGV2ZWw6IGxvZ0xldmVsLFxuXHRcdFx0aG9va3M6IHsgbG9nTWV0aG9kIH0sXG5cdFx0XHRzZXJpYWxpemVyczoge1xuXHRcdFx0XHRlcnJvcjogcGluby5zdGRTZXJpYWxpemVycy5lcnIsXG5cdFx0XHR9LFxuXHRcdFx0cmVkYWN0OiByZWRhY3Rpb25zLFxuXHRcdFx0Li4udGhpcy5vcHRpb25zLFxuXHRcdH07XG5cdFx0dGhpcy5fcGlubyA9IHBpbm8ocGlub09wdGlvbnMsIHRoaXMuc3RyZWFtKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU6IHN0cmluZyxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHRjb25zdCBsb2dnZXIgPSBwaW5vTWl4PFQsIEN1c3RvbU9ubHk+KHRoaXMuX3Bpbm8uY2hpbGQoeyBuYW1lIH0pKTtcblx0XHRyZXR1cm4gbG9nZ2VyO1xuXHR9XG5cblx0cHVibGljIGZsdXNoKGNiPzogKCkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnJldGlyZWQgfHwgIXRoaXMuX3Bpbm8pIHtcblx0XHRcdGNiPy4oKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5fcGluby5mbHVzaChjYik7XG5cdH1cblxuXHQvKipcblx0ICogSW1tZWRpYXRlbHkgc3RvcCBhY2NlcHRpbmcgd3JpdGVzIGludG8gdGhlIGRlc3RpbmF0aW9uIChUaHJlYWRTdHJlYW0pLlxuXHQgKiBEb2VzIG5vdCB3YWl0IGZvciBmbHVzaCDigJQgdXNlIGBzdG9wKClgIGZvciBhc3luYyBkcmFpbiBhZnRlciByZXRpcmUuXG5cdCAqL1xuXHRwdWJsaWMgcmV0aXJlKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnJldGlyZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5yZXRpcmVkID0gdHJ1ZTtcblx0XHRjb25zdCBndWFyZGVkID0gdGhpcy5zdHJlYW0gYXMgR3VhcmRlZFRyYW5zcG9ydCB8IHVuZGVmaW5lZDtcblx0XHRpZiAodHlwZW9mIGd1YXJkZWQ/LnJldGlyZSA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRndWFyZGVkLnJldGlyZShcImFkYXB0ZXIgcmV0aXJlZFwiKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0ZGVzdHJveURlc3RpbmF0aW9uKHRoaXMuc3RyZWFtKTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBbU3ltYm9sLmFzeW5jRGlzcG9zZV0oKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHRoaXMuZGlzcG9zZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5kaXNwb3NlZCA9IHRydWU7XG5cdFx0aWYgKCF0aGlzLnJldGlyZWQpIHtcblx0XHRcdGNvbnN0IGRlc3QgPSB0aGlzLnN0cmVhbSBhcyBFbmRhYmxlU3RyZWFtIHwgdW5kZWZpbmVkO1xuXHRcdFx0aWYgKGRlc3QgIT0gbnVsbCAmJiB0eXBlb2YgZGVzdC5lbmQgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHQvLyBwaW5vLnRyYW5zcG9ydCgpIGlzIGEgVGhyZWFkU3RyZWFtOiBwaW5vLmZsdXNoKCkg4oaSIEF0b21pY3Mud2FpdEFzeW5jIGNhblxuXHRcdFx0XHQvLyBoYW5nIGZvcmV2ZXIgYWZ0ZXIgY29uY3VycmVudCB3cml0ZXMuIGVuZCgpIGZsdXNoU3luY3MgdGhlbiBzaWduYWxzXG5cdFx0XHRcdC8vIGZpbmlzaC9jbG9zZSAoaXQgZG9lcyBub3QgYWNjZXB0IGEgTm9kZSBXcml0YWJsZSBjYWxsYmFjaykuXG5cdFx0XHRcdGF3YWl0IGVuZERlc3RpbmF0aW9uKGRlc3QpO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLl9waW5vKSB7XG5cdFx0XHRcdGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0dGhpcy5fcGluby5mbHVzaCgoZXJyPzogRXJyb3IgfCBudWxsKSA9PiB7XG5cdFx0XHRcdFx0XHRcdGlmIChlcnIgIT0gbnVsbCkge1xuXHRcdFx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKCk7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0XHRcdHJlamVjdChlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyciA6IG5ldyBFcnJvcihTdHJpbmcoZXJyKSkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIE1hcmsgZGVhZCBhZnRlciBncmFjZWZ1bCBlbmQgKG9yIGltbWVkaWF0ZWx5IGlmIGFscmVhZHkgZm9yY2UtcmV0aXJlZCkuXG5cdFx0dGhpcy5yZXRpcmUoKTtcblx0fVxufVxuXG5mdW5jdGlvbiBkZXN0cm95RGVzdGluYXRpb24oc3RyZWFtOiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtIHwgdW5kZWZpbmVkKTogdm9pZCB7XG5cdGNvbnN0IGRlc3Ryb3lhYmxlID0gc3RyZWFtIGFzIEVuZGFibGVTdHJlYW0gfCB1bmRlZmluZWQ7XG5cdGlmICh0eXBlb2YgZGVzdHJveWFibGU/LmRlc3Ryb3kgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdHRyeSB7XG5cdFx0XHRkZXN0cm95YWJsZS5kZXN0cm95KCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHQvLyBhbHJlYWR5IGRlYWRcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBEcmFpbiBhIHBpbm8gZGVzdGluYXRpb24uXG4gKlxuICogTm9kZSBgV3JpdGFibGUuZW5kKGNiKWAgaW52b2tlcyBgY2JgLiBgcGluby50cmFuc3BvcnQoKWAgcmV0dXJucyBhXG4gKiBUaHJlYWRTdHJlYW0gd2hvc2UgYGVuZCgpYCB0YWtlcyBubyBjYWxsYmFjayBhbmQgc2lnbmFscyB2aWEgYGZpbmlzaGAvYGNsb3NlYFxuICogaW5zdGVhZCDigJQgd2FpdGluZyBvbmx5IG9uIGBlbmQoY2IpYCBoYW5ncyBmb3JldmVyIGFuZCBibG9ja3MgRmx1eCBITVIuXG4gKi9cbmZ1bmN0aW9uIGVuZERlc3RpbmF0aW9uKHN0cmVhbTogRW5kYWJsZVN0cmVhbSk6IFByb21pc2U8dm9pZD4ge1xuXHRpZiAodHlwZW9mIHN0cmVhbS5lbmQgIT09IFwiZnVuY3Rpb25cIikge1xuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0fVxuXHRpZiAoc3RyZWFtLmRlc3Ryb3llZCB8fCBzdHJlYW0uY2xvc2VkIHx8IHN0cmVhbS53cml0YWJsZUZpbmlzaGVkKSB7XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRsZXQgc2V0dGxlZCA9IGZhbHNlO1xuXHRcdGNvbnN0IHNldHRsZSA9IChlcnI/OiBFcnJvciB8IG51bGwpID0+IHtcblx0XHRcdGlmIChzZXR0bGVkKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdHNldHRsZWQgPSB0cnVlO1xuXHRcdFx0c3RyZWFtLm9mZj8uKFwiZmluaXNoXCIsIG9uRmluaXNoKTtcblx0XHRcdHN0cmVhbS5vZmY/LihcImNsb3NlXCIsIG9uQ2xvc2UpO1xuXHRcdFx0c3RyZWFtLm9mZj8uKFwiZXJyb3JcIiwgb25FcnJvcik7XG5cdFx0XHRpZiAoZXJyICE9IG51bGwpIHtcblx0XHRcdFx0cmVqZWN0KGVycik7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdHJlc29sdmUoKTtcblx0XHR9O1xuXG5cdFx0Y29uc3Qgb25GaW5pc2ggPSAoKSA9PiBzZXR0bGUoKTtcblx0XHRjb25zdCBvbkNsb3NlID0gKCkgPT4gc2V0dGxlKCk7XG5cdFx0Y29uc3Qgb25FcnJvciA9IChlcnI6IEVycm9yKSA9PiB7XG5cdFx0XHQvLyBUaHJlYWRTdHJlYW0gbWF5IGVtaXQgZXJyb3IgdGhlbiBjbG9zZSBkdXJpbmcgdGVhcmRvd247IGNsb3NlZCA9IGRvbmUuXG5cdFx0XHRpZiAoc3RyZWFtLmRlc3Ryb3llZCB8fCBzdHJlYW0uY2xvc2VkKSB7XG5cdFx0XHRcdHNldHRsZSgpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRzZXR0bGUoZXJyKTtcblx0XHR9O1xuXG5cdFx0c3RyZWFtLm9uY2U/LihcImZpbmlzaFwiLCBvbkZpbmlzaCk7XG5cdFx0c3RyZWFtLm9uY2U/LihcImNsb3NlXCIsIG9uQ2xvc2UpO1xuXHRcdHN0cmVhbS5vbmNlPy4oXCJlcnJvclwiLCBvbkVycm9yKTtcblxuXHRcdHRyeSB7XG5cdFx0XHRzdHJlYW0uZW5kKChlcnI/OiBFcnJvciB8IG51bGwpID0+IHNldHRsZShlcnIpKTtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdHNldHRsZShlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyciA6IG5ldyBFcnJvcihTdHJpbmcoZXJyKSkpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIFRocmVhZFN0cmVhbS5lbmQoKSBpcyBhIG5vLW9wIHdoZW4gYWxyZWFkeSBkZXN0cm95ZWQgKG5vIGV2ZW50cykuXG5cdFx0aWYgKHN0cmVhbS5kZXN0cm95ZWQgfHwgc3RyZWFtLmNsb3NlZCB8fCBzdHJlYW0ud3JpdGFibGVGaW5pc2hlZCkge1xuXHRcdFx0c2V0dGxlKCk7XG5cdFx0fVxuXHR9KTtcbn1cblxuZnVuY3Rpb24gbG9nTWV0aG9kKHRoaXM6IHBpbm8uTG9nZ2VyLCBhcmdzOiBQYXJhbWV0ZXJzPExvZ0ZuPiwgbWV0aG9kOiBMb2dGbikge1xuXHRsZXQgbWVzc2FnZSA9IGFyZ3MuYXQoMCk7XG5cdGNvbnN0IGRhdGEgPSBhcmdzLmF0KDEpO1xuXG5cdGlmIChtZXNzYWdlIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRtZXRob2QuY2FsbCh0aGlzLCB7IGVycjogbWVzc2FnZSB9LCBmb3JtYXRFcnJvcihtZXNzYWdlKSk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKGRhdGEgaW5zdGFuY2VvZiBFcnJvcikge1xuXHRcdG1lc3NhZ2UgPSB7IG1zZzogbWVzc2FnZSwgLi4ueyBlcnJvcjogZGF0YSB9IH07XG5cdH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09IFwib2JqZWN0XCIpIHtcblx0XHRtZXNzYWdlID0geyBtc2c6IG1lc3NhZ2UsIC4uLmRhdGEgfTtcblx0fSBlbHNlIHtcblx0XHRtZXNzYWdlID0geyBtc2c6IG1lc3NhZ2UsIGRhdGEgfTtcblx0fVxuXG5cdG1ldGhvZC5jYWxsKHRoaXMsIG1lc3NhZ2UpO1xufVxuXG5mdW5jdGlvbiBwaW5vTWl4PFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0bG9nZ2VyOiBwaW5vLkxvZ2dlcixcbik6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdHJldHVybiBPYmplY3QuYXNzaWduPHBpbm8uTG9nZ2VyLCBCYXNlTG9nZ2VyPihsb2dnZXIsIHtcblx0XHRnZXQgY3VycmVudExldmVsKCkge1xuXHRcdFx0cmV0dXJuIGxvZ2dlci5sZXZlbDtcblx0XHR9LFxuXHRcdGdldCBsb2dMZXZlbHMoKSB7XG5cdFx0XHRyZXR1cm4gbG9nZ2VyLmxldmVscy52YWx1ZXM7XG5cdFx0fSxcblx0fSkgYXMgTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xufVxuIl0sIm5hbWVzIjpbIlBpbm9BZGFwdGVyIiwiTG9nQWRhcHRlciIsIl9waW5vIiwib3B0aW9ucyIsInN0cmVhbSIsImRpc3Bvc2VkIiwicmV0aXJlZCIsImNvbmZpZ3VyZSIsInNjcmliZU9wdGlvbnMiLCJsb2dMZXZlbCIsInJlZGFjdGlvbnMiLCJjdXN0b21MZXZlbHMiLCJnZXRMb2dMZXZlbHMiLCJwaW5vT3B0aW9ucyIsImxldmVsIiwiaG9va3MiLCJsb2dNZXRob2QiLCJzZXJpYWxpemVycyIsImVycm9yIiwicGlubyIsInN0ZFNlcmlhbGl6ZXJzIiwiZXJyIiwicmVkYWN0IiwiZ2V0TG9nZ2VyIiwibmFtZSIsImxvZ2dlciIsInBpbm9NaXgiLCJjaGlsZCIsImZsdXNoIiwiY2IiLCJyZXRpcmUiLCJndWFyZGVkIiwiZGVzdHJveURlc3RpbmF0aW9uIiwiU3ltYm9sIiwiYXN5bmNEaXNwb3NlIiwiZGVzdCIsImVuZCIsImVuZERlc3RpbmF0aW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJFcnJvciIsIlN0cmluZyIsImRlc3Ryb3lhYmxlIiwiZGVzdHJveSIsImRlc3Ryb3llZCIsImNsb3NlZCIsIndyaXRhYmxlRmluaXNoZWQiLCJzZXR0bGVkIiwic2V0dGxlIiwib2ZmIiwib25GaW5pc2giLCJvbkNsb3NlIiwib25FcnJvciIsIm9uY2UiLCJhcmdzIiwibWV0aG9kIiwibWVzc2FnZSIsImF0IiwiZGF0YSIsImNhbGwiLCJmb3JtYXRFcnJvciIsIm1zZyIsIk9iamVjdCIsImFzc2lnbiIsImN1cnJlbnRMZXZlbCIsImxvZ0xldmVscyIsImxldmVscyIsInZhbHVlcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE2QmFBOzs7ZUFBQUE7Ozt3QkF2Qk47NkRBQzBCOzs7Ozs7QUFzQjFCLE1BQU1BLG9CQUFvQkMsa0JBQVU7SUFDbENDLE1BQW1CO0lBQ1ZDLFFBQTRCO0lBQzVCQyxPQUEyQztJQUNwREMsV0FBVyxNQUFNO0lBQ2pCQyxVQUFVLE1BQU07SUFFeEIsWUFBbUJILE9BQTJCLEVBQUVDLE1BQStCLENBQUU7UUFDaEYsS0FBSztRQUNMLElBQUksQ0FBQ0QsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtJQUNmO0lBRU9HLFVBQ05DLGFBQTJDLEVBQzFDO1FBQ0QsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRSxHQUFHRjtRQUNqQyxNQUFNRyxlQUFlLElBQUksQ0FBQ0MsWUFBWSxDQUFDSjtRQUV2QyxNQUFNSyxjQUFrQztZQUN2Q0Y7WUFDQUcsT0FBT0w7WUFDUE0sT0FBTztnQkFBRUM7WUFBVTtZQUNuQkMsYUFBYTtnQkFDWkMsT0FBT0MsYUFBSSxDQUFDQyxjQUFjLENBQUNDLEdBQUc7WUFDL0I7WUFDQUMsUUFBUVo7WUFDUixHQUFHLElBQUksQ0FBQ1AsT0FBTztRQUNoQjtRQUNBLElBQUksQ0FB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
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvcGluby5hZGFwYXRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHR0eXBlIEJhc2VMb2dnZXIsXG5cdExvZ0FkYXB0ZXIsXG5cdHR5cGUgTG9nZ2VyLFxuXHR0eXBlIFNjcmliZU9wdGlvbnMsXG59IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgcGlubywgeyB0eXBlIExvZ0ZuIH0gZnJvbSBcInBpbm9cIjtcblxuZXhwb3J0IHR5cGUgUGlub0FkYXBhdGVyT3B0aW9ucyA9IHtcblx0b3B0aW9ucz86IHBpbm8uTG9nZ2VyT3B0aW9ucztcblx0c3RyZWFtPzogcGluby5EZXN0aW5hdGlvblN0cmVhbTtcbn07XG5cbmV4cG9ydCBjbGFzcyBQaW5vQWRhcHRlciBleHRlbmRzIExvZ0FkYXB0ZXIge1xuXHRwcml2YXRlIF9waW5vOiBwaW5vLkxvZ2dlcjtcblx0cHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnM7XG5cdHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtOiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtO1xuXHRwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogcGluby5Mb2dnZXJPcHRpb25zLCBzdHJlYW0/OiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXHRcdHRoaXMuc3RyZWFtID0gc3RyZWFtO1xuXHR9XG5cblx0cHVibGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0c2NyaWJlT3B0aW9uczogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0Y29uc3QgeyBsb2dMZXZlbCwgcmVkYWN0aW9ucyB9ID0gc2NyaWJlT3B0aW9ucztcblx0XHRjb25zdCBjdXN0b21MZXZlbHMgPSB0aGlzLmdldExvZ0xldmVscyhzY3JpYmVPcHRpb25zKTtcblxuXHRcdGNvbnN0IHBpbm9PcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnMgPSB7XG5cdFx0XHRjdXN0b21MZXZlbHMsXG5cdFx0XHRsZXZlbDogbG9nTGV2ZWwsXG5cdFx0XHRob29rczogeyBsb2dNZXRob2QgfSxcblx0XHRcdHNlcmlhbGl6ZXJzOiB7XG5cdFx0XHRcdGVycm9yOiBwaW5vLnN0ZFNlcmlhbGl6ZXJzLmVycixcblx0XHRcdH0sXG5cdFx0XHRyZWRhY3Q6IHJlZGFjdGlvbnMsXG5cdFx0XHQuLi50aGlzLm9wdGlvbnMsXG5cdFx0fTtcblx0XHR0aGlzLl9waW5vID0gcGlubyhwaW5vT3B0aW9ucywgdGhpcy5zdHJlYW0pO1xuXHR9XG5cblx0cHVibGljIGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZTogc3RyaW5nLFxuXHQpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IGxvZ2dlciA9IHBpbm9NaXg8VCwgQ3VzdG9tT25seT4odGhpcy5fcGluby5jaGlsZCh7IG5hbWUgfSkpO1xuXHRcdHJldHVybiBsb2dnZXI7XG5cdH1cblxuXHRwdWJsaWMgZmx1c2goY2I/OiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5fcGluby5mbHVzaChjYik7XG5cdH1cbn1cblxuZnVuY3Rpb24gbG9nTWV0aG9kKHRoaXM6IHBpbm8uTG9nZ2VyLCBhcmdzOiBQYXJhbWV0ZXJzPExvZ0ZuPiwgbWV0aG9kOiBMb2dGbikge1xuXHRsZXQgbWVzc2FnZSA9IGFyZ3MuYXQoMCk7XG5cdGNvbnN0IGRhdGEgPSBhcmdzLmF0KDEpO1xuXG5cdGlmIChkYXRhIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRtZXNzYWdlID0geyBtc2c6IG1lc3NhZ2UsIC4uLnsgZXJyb3I6IGRhdGEgfSB9O1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiKSB7XG5cdFx0bWVzc2FnZSA9IHsgbXNnOiBtZXNzYWdlLCAuLi5kYXRhIH07XG5cdH0gZWxzZSB7XG5cdFx0bWVzc2FnZSA9IHsgbXNnOiBtZXNzYWdlLCBkYXRhIH07XG5cdH1cblxuXHRtZXRob2QuY2FsbCh0aGlzLCBtZXNzYWdlKTtcbn1cblxuZnVuY3Rpb24gcGlub01peDxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdGxvZ2dlcjogcGluby5Mb2dnZXIsXG4pOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRyZXR1cm4gT2JqZWN0LmFzc2lnbjxwaW5vLkxvZ2dlciwgQmFzZUxvZ2dlcj4obG9nZ2VyLCB7XG5cdFx0Z2V0IGN1cnJlbnRMZXZlbCgpIHtcblx0XHRcdHJldHVybiBsb2dnZXIubGV2ZWw7XG5cdFx0fSxcblx0XHRnZXQgbG9nTGV2ZWxzKCkge1xuXHRcdFx0cmV0dXJuIGxvZ2dlci5sZXZlbHMudmFsdWVzO1xuXHRcdH0sXG5cdH0pIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcbn1cbiJdLCJuYW1lcyI6WyJQaW5vQWRhcHRlciIsIkxvZ0FkYXB0ZXIiLCJfcGlubyIsIm9wdGlvbnMiLCJzdHJlYW0iLCJjb25maWd1cmUiLCJzY3JpYmVPcHRpb25zIiwibG9nTGV2ZWwiLCJyZWRhY3Rpb25zIiwiY3VzdG9tTGV2ZWxzIiwiZ2V0TG9nTGV2ZWxzIiwicGlub09wdGlvbnMiLCJsZXZlbCIsImhvb2tzIiwibG9nTWV0aG9kIiwic2VyaWFsaXplcnMiLCJlcnJvciIsInBpbm8iLCJzdGRTZXJpYWxpemVycyIsImVyciIsInJlZGFjdCIsImdldExvZ2dlciIsIm5hbWUiLCJsb2dnZXIiLCJwaW5vTWl4IiwiY2hpbGQiLCJmbHVzaCIsImNiIiwiYXJncyIsIm1ldGhvZCIsIm1lc3NhZ2UiLCJhdCIsImRhdGEiLCJFcnJvciIsIm1zZyIsImNhbGwiLCJPYmplY3QiLCJhc3NpZ24iLCJjdXJyZW50TGV2ZWwiLCJsb2dMZXZlbHMiLCJsZXZlbHMiLCJ2YWx1ZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7Ozt3QkFSTjs2REFDMEI7Ozs7OztBQU8xQixNQUFNQSxvQkFBb0JDLGtCQUFVO0lBQ2xDQyxNQUFtQjtJQUNWQyxRQUE0QjtJQUM1QkMsT0FBK0I7SUFDaEQsWUFBbUJELE9BQTJCLEVBQUVDLE1BQStCLENBQUU7UUFDaEYsS0FBSztRQUNMLElBQUksQ0FBQ0QsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtJQUNmO0lBRU9DLFVBQ05DLGFBQTJDLEVBQzFDO1FBQ0QsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRSxHQUFHRjtRQUNqQyxNQUFNRyxlQUFlLElBQUksQ0FBQ0MsWUFBWSxDQUFDSjtRQUV2QyxNQUFNSyxjQUFrQztZQUN2Q0Y7WUFDQUcsT0FBT0w7WUFDUE0sT0FBTztnQkFBRUM7WUFBVTtZQUNuQkMsYUFBYTtnQkFDWkMsT0FBT0MsYUFBSSxDQUFDQyxjQUFjLENBQUNDLEdBQUc7WUFDL0I7WUFDQUMsUUFBUVo7WUFDUixHQUFHLElBQUksQ0FBQ0wsT0FBTztRQUNoQjtRQUNBLElBQUksQ0FBQ0QsS0FBSyxHQUFHZSxJQUFBQSxhQUFJLEVBQUNOLGFBQWEsSUFBSSxDQUFDUCxNQUFNO0lBQzNDO0lBRU9pQixVQUNOQyxJQUFZLEVBQ1k7UUFDeEIsTUFBTUMsU0FBU0MsUUFBdUIsSUFBSSxDQUFDdEIsS0FBSyxDQUFDdUIsS0FBSyxDQUFDO1lBQUVIO1FBQUs7UUFDOUQsT0FBT0M7SUFDUjtJQUVPRyxNQUFNQyxFQUFlLEVBQVE7UUFDbkMsSUFBSSxDQUFDekIsS0FBSyxDQUFDd0IsS0FBSyxDQUFDQztJQUNsQjtBQUNEO0FBRUEsU0FBU2IsVUFBNkJjLElBQXVCLEVBQUVDLE1BQWE7SUFDM0UsSUFBSUMsVUFBVUYsS0FBS0csRUFBRSxDQUFDO0lBQ3RCLE1BQU1DLE9BQU9KLEtBQUtHLEVBQUUsQ0FBQztJQUVyQixJQUFJQyxnQkFBZ0JDLE9BQU87UUFDMUJILFVBQVU7WUFBRUksS0FBS0o7WUFBUyxHQUFHO2dCQUFFZCxPQUFPZ0I7WUFBSyxDQUFDO1FBQUM7SUFDOUMsT0FBTyxJQUFJLE9BQU9BLFNBQVMsVUFBVTtRQUNwQ0YsVUFBVTtZQUFFSSxLQUFLSjtZQUFTLEdBQUdFLElBQUk7UUFBQztJQUNuQyxPQUFPO1FBQ05GLFVBQVU7WUFBRUksS0FBS0o7WUFBU0U7UUFBSztJQUNoQztJQUVBSCxPQUFPTSxJQUFJLENBQUMsSUFBSSxFQUFFTDtBQUNuQjtBQUVBLFNBQVNOLFFBQ1JELE1BQW1CO0lBRW5CLE9BQU9hLE9BQU9DLE1BQU0sQ0FBMEJkLFFBQVE7UUFDckQsSUFBSWUsZ0JBQWU7WUFDbEIsT0FBT2YsT0FBT1gsS0FBSztRQUNwQjtRQUNBLElBQUkyQixhQUFZO1lBQ2YsT0FBT2hCLE9BQU9pQixNQUFNLENBQUNDLE1BQU07UUFDNUI7SUFDRDtBQUNEIn0=
@@ -2,35 +2,16 @@
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 PinoExtensions () {
5
+ Object.defineProperty(exports, "PinoExtensions", {
6
+ enumerable: true,
7
+ get: function() {
13
8
  return PinoExtensions;
14
- },
15
- get guardTransport () {
16
- return _pinotransportguard.guardTransport;
17
- },
18
- get pinoTransport () {
19
- return pinoTransport;
20
9
  }
21
10
  });
22
11
  const _extensibility = require("@decohere/nexus/extensibility");
23
12
  const _system = require("@decohere/nexus/system");
24
13
  const _scribe = require("@decohere/scribe");
25
- const _pino = /*#__PURE__*/ _interop_require_default(require("pino"));
26
14
  const _pinoadapater = require("./pino.adapater.js");
27
- const _pinorecipe = require("./pino.recipe.js");
28
- const _pinotransportguard = require("./pino.transport-guard.js");
29
- function _interop_require_default(obj) {
30
- return obj && obj.__esModule ? obj : {
31
- default: obj
32
- };
33
- }
34
15
  function _ts_decorate(decorators, target, key, desc) {
35
16
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
36
17
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -42,32 +23,27 @@ function _ts_metadata(k, v) {
42
23
  }
43
24
  class PinoExtensions {
44
25
  static withPino(factory, config, logLevel) {
45
- return configureScribe(factory, logLevel != null ? {
26
+ return configureScribe(factory, {
46
27
  logLevel
47
- } : undefined, config);
28
+ }, config);
48
29
  }
49
- static withPinoPretty(factory, logLevelOrOptions) {
50
- const pretty = parsePrettyArg(logLevelOrOptions);
51
- return attachRecipe(factory, {
52
- pretty,
53
- logLevel: pretty.logLevel
54
- });
55
- }
56
- static withPinoRoll(factory, options) {
57
- return attachRecipe(factory, {
58
- roll: options,
59
- logLevel: options.logLevel
60
- });
30
+ static withPinoPretty(factory, logLevel) {
31
+ return PinoExtensions.withPino(factory, {
32
+ transports: {
33
+ target: "pino-pretty",
34
+ options: {
35
+ colorize: true
36
+ }
37
+ }
38
+ }, logLevel);
61
39
  }
62
40
  static withPinoCustom(factory, options) {
63
- const { scribe, transports } = options ?? {};
41
+ const { scribe, transports } = options;
64
42
  return configureScribe(factory, scribe, transports);
65
43
  }
66
44
  }
67
45
  _ts_decorate([
68
- (0, _extensibility.extension)(_scribe.scribe, {
69
- static: true
70
- }),
46
+ (0, _extensibility.extension)(_scribe.scribe),
71
47
  _ts_metadata("design:type", Function),
72
48
  _ts_metadata("design:paramtypes", [
73
49
  typeof _scribe.scribe === "undefined" ? Object : _scribe.scribe,
@@ -77,9 +53,7 @@ _ts_decorate([
77
53
  _ts_metadata("design:returntype", void 0)
78
54
  ], PinoExtensions, "withPino", null);
79
55
  _ts_decorate([
80
- (0, _extensibility.extension)(_scribe.scribe, {
81
- static: true
82
- }),
56
+ (0, _extensibility.extension)(_scribe.scribe),
83
57
  _ts_metadata("design:type", Function),
84
58
  _ts_metadata("design:paramtypes", [
85
59
  typeof _scribe.scribe === "undefined" ? Object : _scribe.scribe,
@@ -88,20 +62,7 @@ _ts_decorate([
88
62
  _ts_metadata("design:returntype", void 0)
89
63
  ], PinoExtensions, "withPinoPretty", null);
90
64
  _ts_decorate([
91
- (0, _extensibility.extension)(_scribe.scribe, {
92
- static: true
93
- }),
94
- _ts_metadata("design:type", Function),
95
- _ts_metadata("design:paramtypes", [
96
- typeof _scribe.scribe === "undefined" ? Object : _scribe.scribe,
97
- typeof PinoRollRecipeOptions === "undefined" ? Object : PinoRollRecipeOptions
98
- ]),
99
- _ts_metadata("design:returntype", void 0)
100
- ], PinoExtensions, "withPinoRoll", null);
101
- _ts_decorate([
102
- (0, _extensibility.extension)(_scribe.scribe, {
103
- static: true
104
- }),
65
+ (0, _extensibility.extension)(_scribe.scribe),
105
66
  _ts_metadata("design:type", Function),
106
67
  _ts_metadata("design:paramtypes", [
107
68
  typeof _scribe.scribe === "undefined" ? Object : _scribe.scribe,
@@ -109,87 +70,23 @@ _ts_decorate([
109
70
  ]),
110
71
  _ts_metadata("design:returntype", void 0)
111
72
  ], PinoExtensions, "withPinoCustom", null);
112
- function parsePrettyArg(logLevelOrOptions) {
113
- if (logLevelOrOptions == null) {
114
- return {};
115
- }
116
- if (typeof logLevelOrOptions === "string") {
117
- return {
118
- logLevel: logLevelOrOptions
119
- };
120
- }
121
- return logLevelOrOptions;
122
- }
123
- function attachRecipe(factory, plan) {
124
- const loggerFactory = applyRecipe(factory, plan);
125
- const chain = {
126
- withPinoPretty (logLevelOrOptions) {
127
- const pretty = parsePrettyArg(logLevelOrOptions);
128
- return attachRecipe(factory, {
129
- ...plan,
130
- pretty: {
131
- ...plan.pretty,
132
- ...pretty
133
- },
134
- logLevel: pretty.logLevel ?? plan.logLevel
135
- });
136
- },
137
- withPinoRoll (options) {
138
- return attachRecipe(factory, {
139
- ...plan,
140
- roll: options,
141
- logLevel: options.logLevel ?? plan.logLevel
142
- });
143
- }
144
- };
145
- return Object.assign(loggerFactory, chain, {
146
- and: chain
147
- });
148
- }
149
- /**
150
- * Guard a worker transport so failures (roll EEXIST, worker exit) neither
151
- * crash the process nor spam stderr on every subsequent log write.
152
- */ function createSafeTransport(options) {
153
- return (0, _pinotransportguard.guardTransport)(_pino.default.transport(options));
154
- }
155
- function adapterForTransport(transport) {
156
- if (transport == null) {
157
- return new _pinoadapater.PinoAdapter({});
158
- }
159
- return new _pinoadapater.PinoAdapter({}, createSafeTransport(transport));
160
- }
161
- function applyRecipe(factory, plan) {
162
- const adapter = adapterForTransport(_pinorecipe.pinoRecipe.transport(plan));
163
- // Omit logLevel when unset so mergeDefaults can read LOG_LEVEL / SCRIBE_LOG_LEVEL.
164
- return factory.configure({
165
- options: plan.logLevel != null ? {
166
- logLevel: plan.logLevel
167
- } : {},
168
- adapter
169
- });
170
- }
171
73
  function configureScribe(factory, options, config) {
172
74
  const environment = process.env.NODE_ENV ?? _system.DefaultEnvironment;
173
- const configs = (Array.isArray(config) ? config : config != null ? [
75
+ const configs = Array.isArray(config) ? config : [
174
76
  config
175
- ] : []).filter((item)=>item.environment == null || item.environment === environment);
176
- if (configs.length > 1) {
77
+ ];
78
+ const transports = configs.filter((config)=>config.environment && config.environment === environment || true);
79
+ if (transports.length > 1) {
177
80
  throw new _scribe.LoggingConfigurationError(`There should only be one configuration per environment for logging`);
178
81
  }
179
- const adapter = adapterForTransport(configs.at(0)?.transports);
180
- // Do not force DefaultLogLevel — that would shadow env resolution in mergeDefaults.
82
+ const transport = transports.at(0)?.transports;
83
+ const adapter = new _pinoadapater.PinoAdapter({
84
+ transport
85
+ });
181
86
  return factory.configure({
182
- options: options ?? {},
87
+ options,
183
88
  adapter
184
89
  });
185
90
  }
186
- /** @deprecated Use {@link guardTransport} — kept for callers/tests from the silence-only era. */ function silenceErrors(transport) {
187
- return (0, _pinotransportguard.guardTransport)(transport);
188
- }
189
- const pinoTransport = {
190
- createSafeTransport,
191
- guardTransport: _pinotransportguard.guardTransport,
192
- silenceErrors
193
- };
194
91
 
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvc2NyaWJlLXBpbm8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5zaW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgeyBEZWZhdWx0RW52aXJvbm1lbnQsIHR5cGUgRW52aXJvbm1lbnQgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL3N5c3RlbVwiO1xuaW1wb3J0IHtcblx0dHlwZSBEZWZhdWx0TGV2ZWxzLFxuXHR0eXBlIExvZ2dlcixcblx0TG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvcixcblx0dHlwZSBTY3JpYmVPcHRpb25zLFxuXHRzY3JpYmUsXG59IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgcGlubywge1xuXHR0eXBlIERlc3RpbmF0aW9uU3RyZWFtLFxuXHR0eXBlIFRyYW5zcG9ydE11bHRpT3B0aW9ucyxcblx0dHlwZSBUcmFuc3BvcnRQaXBlbGluZU9wdGlvbnMsXG5cdHR5cGUgVHJhbnNwb3J0U2luZ2xlT3B0aW9ucyxcbn0gZnJvbSBcInBpbm9cIjtcblxuaW1wb3J0IHsgUGlub0FkYXB0ZXIgfSBmcm9tIFwiLi9waW5vLmFkYXBhdGVyLmpzXCI7XG5pbXBvcnQge1xuXHR0eXBlIFBpbm9QcmV0dHlSZWNpcGVPcHRpb25zLFxuXHR0eXBlIFBpbm9SZWNpcGVQbGFuLFxuXHR0eXBlIFBpbm9Sb2xsUmVjaXBlT3B0aW9ucyxcblx0cGlub1JlY2lwZSxcbn0gZnJvbSBcIi4vcGluby5yZWNpcGUuanNcIjtcbmltcG9ydCB7IHR5cGUgR3VhcmRlZFRyYW5zcG9ydCwgZ3VhcmRUcmFuc3BvcnQgfSBmcm9tIFwiLi9waW5vLnRyYW5zcG9ydC1ndWFyZC5qc1wiO1xuXG5leHBvcnQgdHlwZSB7IEd1YXJkZWRUcmFuc3BvcnQgfSBmcm9tIFwiLi9waW5vLnRyYW5zcG9ydC1ndWFyZC5qc1wiO1xuZXhwb3J0IHsgZ3VhcmRUcmFuc3BvcnQgfSBmcm9tIFwiLi9waW5vLnRyYW5zcG9ydC1ndWFyZC5qc1wiO1xuXG50eXBlIFRyYW5zcG9ydE9wdGlvbnMgPVxuXHR8IFRyYW5zcG9ydFNpbmdsZU9wdGlvbnNcblx0fCBUcmFuc3BvcnRNdWx0aU9wdGlvbnNcblx0fCBUcmFuc3BvcnRQaXBlbGluZU9wdGlvbnM7XG5cbnR5cGUgVHJhbnNwb3J0Q29uZmlnID0ge1xuXHRlbnZpcm9ubWVudD86IEVudmlyb25tZW50O1xuXHR0cmFuc3BvcnRzOiBUcmFuc3BvcnRPcHRpb25zO1xufTtcblxudHlwZSBDdXN0b21MZXZlbE9wdGlvbnM8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSA9IHVuZGVmaW5lZD4gPSB7XG5cdHNjcmliZT86IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT47XG5cdHRyYW5zcG9ydHM/OiBUcmFuc3BvcnRDb25maWcgfCBUcmFuc3BvcnRDb25maWdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFBpbm9Mb2dnZXJGYWN0b3J5ID0gKG5hbWU/OiBzdHJpbmcpID0+IExvZ2dlcjtcblxuZXhwb3J0IHR5cGUgUGlub1JlY2lwZUNoYWluID0ge1xuXHR3aXRoUGlub1ByZXR0eShcblx0XHRsb2dMZXZlbE9yT3B0aW9ucz86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmcgfCBQaW5vUHJldHR5UmVjaXBlT3B0aW9ucyxcblx0KTogUGlub1JlY2lwZTtcblx0d2l0aFBpbm9Sb2xsKG9wdGlvbnM6IFBpbm9Sb2xsUmVjaXBlT3B0aW9ucyk6IFBpbm9SZWNpcGU7XG59O1xuXG5leHBvcnQgdHlwZSBQaW5vUmVjaXBlID0gUGlub0xvZ2dlckZhY3RvcnkgJlxuXHRQaW5vUmVjaXBlQ2hhaW4gJiB7XG5cdFx0cmVhZG9ubHkgYW5kOiBQaW5vUmVjaXBlQ2hhaW47XG5cdH07XG5cbmRlY2xhcmUgbW9kdWxlIFwiQGRlY29oZXJlL3NjcmliZVwiIHtcblx0aW50ZXJmYWNlIHNjcmliZSB7XG5cdFx0d2l0aFBpbm8oXG5cdFx0XHR0cmFuc3BvcnRzOiBUcmFuc3BvcnRDb25maWcgfCBUcmFuc3BvcnRDb25maWdbXSxcblx0XHRcdGxvZ2xldmVsPzogRGVmYXVsdExldmVscyB8IHN0cmluZyxcblx0XHQpOiBQaW5vTG9nZ2VyRmFjdG9yeTtcblx0XHQvKipcblx0XHQgKiBDb2xvcml6ZWQgcHJldHR5IHRyYW5zcG9ydC4gRGV2ZWxvcG1lbnQgb25seSB1bmxlc3MgYHsgd2hlbjogXCJhbHdheXNcIiB9YC5cblx0XHQgKiBDaGFpbiB3aXRoIGAuYW5kLndpdGhQaW5vUm9sbCh7IGZpbGUgfSlgLiBQcm9kdWN0aW9uIHdyaXRlcyBKU09OIHRvIHN0ZG91dFxuXHRcdCAqIHNvIGxvZyBzaGlwcGluZyBzdGF5cyBvdXRzaWRlIHRoZSBwcm9jZXNzLlxuXHRcdCAqL1xuXHRcdHdpdGhQaW5vUHJldHR5KFxuXHRcdFx0bG9nTGV2ZWxPck9wdGlvbnM/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nIHwgUGlub1ByZXR0eVJlY2lwZU9wdGlvbnMsXG5cdFx0KTogUGlub1JlY2lwZTtcblx0XHQvKipcblx0XHQgKiBSb2xsaW5nIGxvZyBmaWxlcy4gRGV2ZWxvcG1lbnQgb25seSB1bmxlc3MgYHsgd2hlbjogXCJhbHdheXNcIiB9YC5cblx0XHQgKiBEbyBub3QgZW5hYmxlIGluIHByb2R1Y3Rpb24g4oCUIHNoaXAgc3Rkb3V0IGZyb20gYSBzaWRlY2FyIG9yIHBsYXRmb3JtIGFnZW50LlxuXHRcdCAqIGBzeW1saW5rYCBkZWZhdWx0cyBvZmY7IGVuYWJsaW5nIGl0IGNhbiByYWNlIHVuZGVyIG11bHRpLXdvcmtlciAvIEhNUi5cblx0XHQgKiBPcHMgbWF5IG92ZXJyaWRlIHBhdGgvc2l6ZS9mcmVxdWVuY3kva2VlcCB2aWEgYFNDUklCRV9MT0dfRklMRWAsXG5cdFx0ICogYFNDUklCRV9MT0dfU0laRWAsIGBTQ1JJQkVfTE9HX0ZSRVFVRU5DWWAsIGFuZCBgU0NSSUJFX0xPR19LRUVQYFxuXHRcdCAqIChmaWxlIGVudiB3aW5zIG92ZXIgYG9wdGlvbnMuZmlsZWA7IG90aGVyIGV4cGxpY2l0IG9wdGlvbnMgYmVhdCBlbnYpLlxuXHRcdCAqL1xuXHRcdHdpdGhQaW5vUm9sbChvcHRpb25zOiBQaW5vUm9sbFJlY2lwZU9wdGlvbnMpOiBQaW5vUmVjaXBlO1xuXHRcdHdpdGhQaW5vQ3VzdG9tPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgPSB1bmRlZmluZWQ+KFxuXHRcdFx0b3B0aW9ucz86IEN1c3RvbUxldmVsT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0XHQpOiBQaW5vTG9nZ2VyRmFjdG9yeTtcblx0fVxuXHRuYW1lc3BhY2Ugc2NyaWJlIHtcblx0XHRmdW5jdGlvbiB3aXRoUGlubyhcblx0XHRcdHRyYW5zcG9ydHM6IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdLFxuXHRcdFx0bG9nbGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nLFxuXHRcdCk6IFBpbm9Mb2dnZXJGYWN0b3J5O1xuXHRcdGZ1bmN0aW9uIHdpdGhQaW5vUHJldHR5KFxuXHRcdFx0bG9nTGV2ZWxPck9wdGlvbnM/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nIHwgUGlub1ByZXR0eVJlY2lwZU9wdGlvbnMsXG5cdFx0KTogUGlub1JlY2lwZTtcblx0XHRmdW5jdGlvbiB3aXRoUGlub1JvbGwob3B0aW9uczogUGlub1JvbGxSZWNpcGVPcHRpb25zKTogUGlub1JlY2lwZTtcblx0XHRmdW5jdGlvbiB3aXRoUGlub0N1c3RvbTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPihcblx0XHRcdG9wdGlvbnM/OiBDdXN0b21MZXZlbE9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdFx0KTogUGlub0xvZ2dlckZhY3Rvcnk7XG5cdH1cbn1cblxuZXhwb3J0IGNsYXNzIFBpbm9FeHRlbnNpb25zIHtcblx0QGV4dGVuc2lvbihzY3JpYmUsIHsgc3RhdGljOiB0cnVlIH0pXG5cdHB1YmxpYyBzdGF0aWMgd2l0aFBpbm8oXG5cdFx0ZmFjdG9yeTogc2NyaWJlLFxuXHRcdGNvbmZpZzogVHJhbnNwb3J0Q29uZmlnIHwgVHJhbnNwb3J0Q29uZmlnW10sXG5cdFx0bG9nTGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nLFxuXHQpIHtcblx0XHRyZXR1cm4gY29uZmlndXJlU2NyaWJlKGZhY3RvcnksIGxvZ0xldmVsICE9IG51bGwgPyB7IGxvZ0xldmVsIH0gOiB1bmRlZmluZWQsIGNvbmZpZyk7XG5cdH1cblxuXHRAZXh0ZW5zaW9uKHNjcmliZSwgeyBzdGF0aWM6IHRydWUgfSlcblx0cHVibGljIHN0YXRpYyB3aXRoUGlub1ByZXR0eShcblx0XHRmYWN0b3J5OiBzY3JpYmUsXG5cdFx0bG9nTGV2ZWxPck9wdGlvbnM/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nIHwgUGlub1ByZXR0eVJlY2lwZU9wdGlvbnMsXG5cdCkge1xuXHRcdGNvbnN0IHByZXR0eSA9IHBhcnNlUHJldHR5QXJnKGxvZ0xldmVsT3JPcHRpb25zKTtcblx0XHRyZXR1cm4gYXR0YWNoUmVjaXBlKGZhY3RvcnksIHsgcHJldHR5LCBsb2dMZXZlbDogcHJldHR5LmxvZ0xldmVsIH0pO1xuXHR9XG5cblx0QGV4dGVuc2lvbihzY3JpYmUsIHsgc3RhdGljOiB0cnVlIH0pXG5cdHB1YmxpYyBzdGF0aWMgd2l0aFBpbm9Sb2xsKGZhY3Rvcnk6IHNjcmliZSwgb3B0aW9uczogUGlub1JvbGxSZWNpcGVPcHRpb25zKSB7XG5cdFx0cmV0dXJuIGF0dGFjaFJlY2lwZShmYWN0b3J5LCB7IHJvbGw6IG9wdGlvbnMsIGxvZ0xldmVsOiBvcHRpb25zLmxvZ0xldmVsIH0pO1xuXHR9XG5cblx0QGV4dGVuc2lvbihzY3JpYmUsIHsgc3RhdGljOiB0cnVlIH0pXG5cdHB1YmxpYyBzdGF0aWMgd2l0aFBpbm9DdXN0b208VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSA9IHVuZGVmaW5lZD4oXG5cdFx0ZmFjdG9yeTogc2NyaWJlLFxuXHRcdG9wdGlvbnM/OiBDdXN0b21MZXZlbE9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdGNvbnN0IHsgc2NyaWJlLCB0cmFuc3BvcnRzIH0gPSBvcHRpb25zID8/IHt9O1xuXHRcdHJldHVybiBjb25maWd1cmVTY3JpYmUoZmFjdG9yeSwgc2NyaWJlLCB0cmFuc3BvcnRzKTtcblx0fVxufVxuXG5mdW5jdGlvbiBwYXJzZVByZXR0eUFyZyhcblx0bG9nTGV2ZWxPck9wdGlvbnM/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nIHwgUGlub1ByZXR0eVJlY2lwZU9wdGlvbnMsXG4pOiBQaW5vUHJldHR5UmVjaXBlT3B0aW9ucyB7XG5cdGlmIChsb2dMZXZlbE9yT3B0aW9ucyA9PSBudWxsKSB7XG5cdFx0cmV0dXJuIHt9O1xuXHR9XG5cdGlmICh0eXBlb2YgbG9nTGV2ZWxPck9wdGlvbnMgPT09IFwic3RyaW5nXCIpIHtcblx0XHRyZXR1cm4geyBsb2dMZXZlbDogbG9nTGV2ZWxPck9wdGlvbnMgfTtcblx0fVxuXHRyZXR1cm4gbG9nTGV2ZWxPck9wdGlvbnM7XG59XG5cbmZ1bmN0aW9uIGF0dGFjaFJlY2lwZShmYWN0b3J5OiBzY3JpYmUsIHBsYW46IFBpbm9SZWNpcGVQbGFuKTogUGlub1JlY2lwZSB7XG5cdGNvbnN0IGxvZ2dlckZhY3RvcnkgPSBhcHBseVJlY2lwZShmYWN0b3J5LCBwbGFuKTtcblx0Y29uc3QgY2hhaW46IFBpbm9SZWNpcGVDaGFpbiA9IHtcblx0XHR3aXRoUGlub1ByZXR0eShsb2dMZXZlbE9yT3B0aW9ucykge1xuXHRcdFx0Y29uc3QgcHJldHR5ID0gcGFyc2VQcmV0dHlBcmcobG9nTGV2ZWxPck9wdGlvbnMpO1xuXHRcdFx0cmV0dXJuIGF0dGFjaFJlY2lwZShmYWN0b3J5LCB7XG5cdFx0XHRcdC4uLnBsYW4sXG5cdFx0XHRcdHByZXR0eTogeyAuLi5wbGFuLnByZXR0eSwgLi4ucHJldHR5IH0sXG5cdFx0XHRcdGxvZ0xldmVsOiBwcmV0dHkubG9nTGV2ZWwgPz8gcGxhbi5sb2dMZXZlbCxcblx0XHRcdH0pO1xuXHRcdH0sXG5cdFx0d2l0aFBpbm9Sb2xsKG9wdGlvbnMpIHtcblx0XHRcdHJldHVybiBhdHRhY2hSZWNpcGUoZmFjdG9yeSwge1xuXHRcdFx0XHQuLi5wbGFuLFxuXHRcdFx0XHRyb2xsOiBvcHRpb25zLFxuXHRcdFx0XHRsb2dMZXZlbDogb3B0aW9ucy5sb2dMZXZlbCA/PyBwbGFuLmxvZ0xldmVsLFxuXHRcdFx0fSk7XG5cdFx0fSxcblx0fTtcblx0cmV0dXJuIE9iamVjdC5hc3NpZ24obG9nZ2VyRmFjdG9yeSwgY2hhaW4sIHsgYW5kOiBjaGFpbiB9KTtcbn1cblxuLyoqXG4gKiBHdWFyZCBhIHdvcmtlciB0cmFuc3BvcnQgc28gZmFpbHVyZXMgKHJvbGwgRUVYSVNULCB3b3JrZXIgZXhpdCkgbmVpdGhlclxuICogY3Jhc2ggdGhlIHByb2Nlc3Mgbm9yIHNwYW0gc3RkZXJyIG9uIGV2ZXJ5IHN1YnNlcXVlbnQgbG9nIHdyaXRlLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTYWZlVHJhbnNwb3J0KG9wdGlvbnM6IFRyYW5zcG9ydE9wdGlvbnMpOiBEZXN0aW5hdGlvblN0cmVhbSB7XG5cdHJldHVybiBndWFyZFRyYW5zcG9ydChwaW5vLnRyYW5zcG9ydChvcHRpb25zKSk7XG59XG5cbmZ1bmN0aW9uIGFkYXB0ZXJGb3JUcmFuc3BvcnQodHJhbnNwb3J0PzogVHJhbnNwb3J0T3B0aW9ucyk6IFBpbm9BZGFwdGVyIHtcblx0aWYgKHRyYW5zcG9ydCA9PSBudWxsKSB7XG5cdFx0cmV0dXJuIG5ldyBQaW5vQWRhcHRlcih7fSk7XG5cdH1cblx0cmV0dXJuIG5ldyBQaW5vQWRhcHRlcih7fSwgY3JlYXRlU2FmZVRyYW5zcG9ydCh0cmFuc3BvcnQpKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlSZWNpcGUoZmFjdG9yeTogc2NyaWJlLCBwbGFuOiBQaW5vUmVjaXBlUGxhbik6IFBpbm9Mb2dnZXJGYWN0b3J5IHtcblx0Y29uc3QgYWRhcHRlciA9IGFkYXB0ZXJGb3JUcmFuc3BvcnQocGlub1JlY2lwZS50cmFuc3BvcnQocGxhbikpO1xuXHQvLyBPbWl0IGxvZ0xldmVsIHdoZW4gdW5zZXQgc28gbWVyZ2VEZWZhdWx0cyBjYW4gcmVhZCBMT0dfTEVWRUwgLyBTQ1JJQkVfTE9HX0xFVkVMLlxuXHRyZXR1cm4gZmFjdG9yeS5jb25maWd1cmUoe1xuXHRcdG9wdGlvbnM6IHBsYW4ubG9nTGV2ZWwgIT0gbnVsbCA/IHsgbG9nTGV2ZWw6IHBsYW4ubG9nTGV2ZWwgfSA6IHt9LFxuXHRcdGFkYXB0ZXIsXG5cdH0pO1xufVxuXG5mdW5jdGlvbiBjb25maWd1cmVTY3JpYmU8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRmYWN0b3J5OiBzY3JpYmUsXG5cdG9wdGlvbnM6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4gfCB1bmRlZmluZWQsXG5cdGNvbmZpZz86IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdLFxuKSB7XG5cdGNvbnN0IGVudmlyb25tZW50ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPz8gRGVmYXVsdEVudmlyb25tZW50O1xuXHRjb25zdCBjb25maWdzID0gKEFycmF5LmlzQXJyYXkoY29uZmlnKSA/IGNvbmZpZyA6IGNvbmZpZyAhPSBudWxsID8gW2NvbmZpZ10gOiBbXSkuZmlsdGVyKFxuXHRcdChpdGVtKSA9PiBpdGVtLmVudmlyb25tZW50ID09IG51bGwgfHwgaXRlbS5lbnZpcm9ubWVudCA9PT0gZW52aXJvbm1lbnQsXG5cdCk7XG5cblx0aWYgKGNvbmZpZ3MubGVuZ3RoID4gMSkge1xuXHRcdHRocm93IG5ldyBMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yKFxuXHRcdFx0YFRoZXJlIHNob3VsZCBvbmx5IGJlIG9uZSBjb25maWd1cmF0aW9uIHBlciBlbnZpcm9ubWVudCBmb3IgbG9nZ2luZ2AsXG5cdFx0KTtcblx0fVxuXG5cdGNvbnN0IGFkYXB0ZXIgPSBhZGFwdGVyRm9yVHJhbnNwb3J0KGNvbmZpZ3MuYXQoMCk/LnRyYW5zcG9ydHMpO1xuXHQvLyBEbyBub3QgZm9yY2UgRGVmYXVsdExvZ0xldmVsIOKAlCB0aGF0IHdvdWxkIHNoYWRvdyBlbnYgcmVzb2x1dGlvbiBpbiBtZXJnZURlZmF1bHRzLlxuXHRyZXR1cm4gZmFjdG9yeS5jb25maWd1cmUoe1xuXHRcdG9wdGlvbnM6IG9wdGlvbnMgPz8ge30sXG5cdFx0YWRhcHRlcixcblx0fSk7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIGd1YXJkVHJhbnNwb3J0fSDigJQga2VwdCBmb3IgY2FsbGVycy90ZXN0cyBmcm9tIHRoZSBzaWxlbmNlLW9ubHkgZXJhLiAqL1xuZnVuY3Rpb24gc2lsZW5jZUVycm9ycyh0cmFuc3BvcnQ6IHtcblx0b24oZXZlbnQ6IFwiZXJyb3JcIiwgbGlzdGVuZXI6IChlcnI6IEVycm9yKSA9PiB2b2lkKTogdW5rbm93bjtcblx0d3JpdGU/OiAoLi4uYXJnczogbmV2ZXJbXSkgPT4gdW5rbm93bjtcbn0pOiBHdWFyZGVkVHJhbnNwb3J0IHtcblx0cmV0dXJuIGd1YXJkVHJhbnNwb3J0KHRyYW5zcG9ydCBhcyBEZXN0aW5hdGlvblN0cmVhbSk7XG59XG5cbmV4cG9ydCBjb25zdCBwaW5vVHJhbnNwb3J0ID0geyBjcmVhdGVTYWZlVHJhbnNwb3J0LCBndWFyZFRyYW5zcG9ydCwgc2lsZW5jZUVycm9ycyB9O1xuIl0sIm5hbWVzIjpbIlBpbm9FeHRlbnNpb25zIiwiZ3VhcmRUcmFuc3BvcnQiLCJwaW5vVHJhbnNwb3J0Iiwid2l0aFBpbm8iLCJmYWN0b3J5IiwiY29uZmlnIiwibG9nTGV2ZWwiLCJjb25maWd1cmVTY3JpYmUiLCJ1bmRlZmluZWQiLCJ3aXRoUGlub1ByZXR0eSIsImxvZ0xldmVsT3JPcHRpb25zIiwicHJldHR5IiwicGFyc2VQcmV0dHlBcmciLCJhdHRhY2hSZWNpcGUiLCJ3aXRoUGlub1JvbGwiLCJvcHRpb25zIiwicm9sbCIsIndpdGhQaW5vQ3VzdG9tIiwic2NyaWJlIiwidHJhbnNwb3J0cyIsInN0YXRpYyIsInBsYW4iLCJsb2dnZXJGYWN0b3J5IiwiYXBwbHlSZWNpcGUiLCJjaGFpbiIsIk9iamVjdCIsImFzc2lnbiIsImFuZCIsImNyZWF0ZVNhZmVUcmFuc3BvcnQiLCJwaW5vIiwidHJhbnNwb3J0IiwiYWRhcHRlckZvclRyYW5zcG9ydCIsIlBpbm9BZGFwdGVyIiwiYWRhcHRlciIsInBpbm9SZWNpcGUiLCJjb25maWd1cmUiLCJlbnZpcm9ubWVudCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIkRlZmF1bHRFbnZpcm9ubWVudCIsImNvbmZpZ3MiLCJBcnJheSIsImlzQXJyYXkiLCJmaWx0ZXIiLCJpdGVtIiwibGVuZ3RoIiwiTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvciIsImF0Iiwic2lsZW5jZUVycm9ycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFtR2FBO2VBQUFBOztRQXpFSkM7ZUFBQUEsa0NBQWM7O1FBcU1WQztlQUFBQTs7OytCQS9OYTt3QkFDMkI7d0JBTzlDOzZEQU1BOzhCQUVxQjs0QkFNckI7b0NBQytDOzs7Ozs7Ozs7Ozs7Ozs7QUE0RS9DLE1BQU1GO0lBQ1osT0FDY0csU0FDYkMsT0FBZSxFQUNmQyxNQUEyQyxFQUMzQ0MsUUFBaUMsRUFDaEM7UUFDRCxPQUFPQyxnQkFBZ0JILFNBQVNFLFlBQVksT0FBTztZQUFFQTtRQUFTLElBQUlFLFdBQVdIO0lBQzlFO0lBRUEsT0FDY0ksZUFDYkwsT0FBZSxFQUNmTSxpQkFBb0UsRUFDbkU7UUFDRCxNQUFNQyxTQUFTQyxlQUFlRjtRQUM5QixPQUFPRyxhQUFhVCxTQUFTO1lBQUVPO1lBQVFMLFVBQVVLLE9BQU9MLFFBQVE7UUFBQztJQUNsRTtJQUVBLE9BQ2NRLGFBQWFWLE9BQWUsRUFBRVcs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
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvc2NyaWJlLXBpbm8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5zaW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgeyBEZWZhdWx0RW52aXJvbm1lbnQsIHR5cGUgRW52aXJvbm1lbnQgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL3N5c3RlbVwiO1xuaW1wb3J0IHtcblx0dHlwZSBEZWZhdWx0TGV2ZWxzLFxuXHR0eXBlIExvZ2dlcixcblx0TG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvcixcblx0dHlwZSBTY3JpYmVPcHRpb25zLFxuXHRzY3JpYmUsXG59IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgdHlwZSB7XG5cdFRyYW5zcG9ydE11bHRpT3B0aW9ucyxcblx0VHJhbnNwb3J0UGlwZWxpbmVPcHRpb25zLFxuXHRUcmFuc3BvcnRTaW5nbGVPcHRpb25zLFxufSBmcm9tIFwicGlub1wiO1xuXG5pbXBvcnQgeyBQaW5vQWRhcHRlciB9IGZyb20gXCIuL3Bpbm8uYWRhcGF0ZXIuanNcIjtcblxudHlwZSBUcmFuc3BvcnRDb25maWcgPSB7XG5cdGVudmlyb25tZW50PzogRW52aXJvbm1lbnQ7XG5cdHRyYW5zcG9ydHM6IFRyYW5zcG9ydFNpbmdsZU9wdGlvbnMgfCBUcmFuc3BvcnRNdWx0aU9wdGlvbnMgfCBUcmFuc3BvcnRQaXBlbGluZU9wdGlvbnM7XG59O1xuXG50eXBlIEN1c3RvbUxldmVsT3B0aW9uczxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPiA9IHtcblx0c2NyaWJlPzogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pjtcblx0dHJhbnNwb3J0cz86IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdO1xufTtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjb2hlcmUvc2NyaWJlXCIge1xuXHRpbnRlcmZhY2Ugc2NyaWJlIHtcblx0XHR3aXRoUGlubyhcblx0XHRcdHRyYW5zcG9ydHM6IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdLFxuXHRcdFx0bG9nbGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nLFxuXHRcdCk6IChuYW1lPzogc3RyaW5nKSA9PiBMb2dnZXI7XG5cdFx0d2l0aFBpbm9QcmV0dHkobG9nTGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nKTogKG5hbWU/OiBzdHJpbmcpID0+IExvZ2dlcjtcblx0XHR3aXRoUGlub0N1c3RvbTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPihcblx0XHRcdG9wdGlvbnM/OiBDdXN0b21MZXZlbE9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdFx0KTogKG5hbWU/OiBzdHJpbmcpID0+IExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgUGlub0V4dGVuc2lvbnMge1xuXHRAZXh0ZW5zaW9uKHNjcmliZSlcblx0cHVibGljIHN0YXRpYyB3aXRoUGlubyhcblx0XHRmYWN0b3J5OiBzY3JpYmUsXG5cdFx0Y29uZmlnOiBUcmFuc3BvcnRDb25maWcgfCBUcmFuc3BvcnRDb25maWdbXSxcblx0XHRsb2dMZXZlbD86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmcsXG5cdCkge1xuXHRcdHJldHVybiBjb25maWd1cmVTY3JpYmUoZmFjdG9yeSwgeyBsb2dMZXZlbCB9LCBjb25maWcpO1xuXHR9XG5cblx0QGV4dGVuc2lvbihzY3JpYmUpXG5cdHB1YmxpYyBzdGF0aWMgd2l0aFBpbm9QcmV0dHkoZmFjdG9yeTogc2NyaWJlLCBsb2dMZXZlbD86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmcpIHtcblx0XHRyZXR1cm4gUGlub0V4dGVuc2lvbnMud2l0aFBpbm8oXG5cdFx0XHRmYWN0b3J5LFxuXHRcdFx0eyB0cmFuc3BvcnRzOiB7IHRhcmdldDogXCJwaW5vLXByZXR0eVwiLCBvcHRpb25zOiB7IGNvbG9yaXplOiB0cnVlIH0gfSB9LFxuXHRcdFx0bG9nTGV2ZWwsXG5cdFx0KTtcblx0fVxuXG5cdEBleHRlbnNpb24oc2NyaWJlKVxuXHRwdWJsaWMgc3RhdGljIHdpdGhQaW5vQ3VzdG9tPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgPSB1bmRlZmluZWQ+KFxuXHRcdGZhY3Rvcnk6IHNjcmliZSxcblx0XHRvcHRpb25zPzogQ3VzdG9tTGV2ZWxPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHQpIHtcblx0XHRjb25zdCB7IHNjcmliZSwgdHJhbnNwb3J0cyB9ID0gb3B0aW9ucztcblx0XHRyZXR1cm4gY29uZmlndXJlU2NyaWJlKGZhY3RvcnksIHNjcmliZSwgdHJhbnNwb3J0cyk7XG5cdH1cbn1cblxuZnVuY3Rpb24gY29uZmlndXJlU2NyaWJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0ZmFjdG9yeTogc2NyaWJlLFxuXHRvcHRpb25zOiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHRjb25maWc6IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdLFxuKSB7XG5cdGNvbnN0IGVudmlyb25tZW50ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPz8gRGVmYXVsdEVudmlyb25tZW50O1xuXHRjb25zdCBjb25maWdzID0gQXJyYXkuaXNBcnJheShjb25maWcpID8gY29uZmlnIDogW2NvbmZpZ107XG5cdGNvbnN0IHRyYW5zcG9ydHMgPSBjb25maWdzLmZpbHRlcihcblx0XHQoY29uZmlnKSA9PiAoY29uZmlnLmVudmlyb25tZW50ICYmIGNvbmZpZy5lbnZpcm9ubWVudCA9PT0gZW52aXJvbm1lbnQpIHx8IHRydWUsXG5cdCk7XG5cblx0aWYgKHRyYW5zcG9ydHMubGVuZ3RoID4gMSkge1xuXHRcdHRocm93IG5ldyBMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yKFxuXHRcdFx0YFRoZXJlIHNob3VsZCBvbmx5IGJlIG9uZSBjb25maWd1cmF0aW9uIHBlciBlbnZpcm9ubWVudCBmb3IgbG9nZ2luZ2AsXG5cdFx0KTtcblx0fVxuXG5cdGNvbnN0IHRyYW5zcG9ydCA9IHRyYW5zcG9ydHMuYXQoMCk/LnRyYW5zcG9ydHM7XG5cdGNvbnN0IGFkYXB0ZXIgPSBuZXcgUGlub0FkYXB0ZXIoeyB0cmFuc3BvcnQgfSk7XG5cdHJldHVybiBmYWN0b3J5LmNvbmZpZ3VyZSh7XG5cdFx0b3B0aW9ucyxcblx0XHRhZGFwdGVyLFxuXHR9KTtcbn1cbiJdLCJuYW1lcyI6WyJQaW5vRXh0ZW5zaW9ucyIsIndpdGhQaW5vIiwiZmFjdG9yeSIsImNvbmZpZyIsImxvZ0xldmVsIiwiY29uZmlndXJlU2NyaWJlIiwid2l0aFBpbm9QcmV0dHkiLCJ0cmFuc3BvcnRzIiwidGFyZ2V0Iiwib3B0aW9ucyIsImNvbG9yaXplIiwid2l0aFBpbm9DdXN0b20iLCJzY3JpYmUiLCJlbnZpcm9ubWVudCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIkRlZmF1bHRFbnZpcm9ubWVudCIsImNvbmZpZ3MiLCJBcnJheSIsImlzQXJyYXkiLCJmaWx0ZXIiLCJsZW5ndGgiLCJMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yIiwidHJhbnNwb3J0IiwiYXQiLCJhZGFwdGVyIiwiUGlub0FkYXB0ZXIiLCJjb25maWd1cmUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBd0NhQTs7O2VBQUFBOzs7K0JBeENhO3dCQUMyQjt3QkFPOUM7OEJBT3FCOzs7Ozs7Ozs7O0FBeUJyQixNQUFNQTtJQUNaLE9BQ2NDLFNBQ2JDLE9BQWUsRUFDZkMsTUFBMkMsRUFDM0NDLFFBQWlDLEVBQ2hDO1FBQ0QsT0FBT0MsZ0JBQWdCSCxTQUFTO1lBQUVFO1FBQVMsR0FBR0Q7SUFDL0M7SUFFQSxPQUNjRyxlQUFlSixPQUFlLEVBQUVFLFFBQWlDLEVBQUU7UUFDaEYsT0FBT0osZUFBZUMsUUFBUSxDQUM3QkMsU0FDQTtZQUFFSyxZQUFZO2dCQUFFQyxRQUFRO2dCQUFlQyxTQUFTO29CQUFFQyxVQUFVO2dCQUFLO1lBQUU7UUFBRSxHQUNyRU47SUFFRjtJQUVBLE9BQ2NPLGVBQ2JULE9BQWUsRUFDZk8sT0FBMkMsRUFDMUM7UUFDRCxNQUFNLEVBQUVHLE1BQU0sRUFBRUwsVUFBVSxFQUFFLEdBQUdFO1FBQy9CLE9BQU9KLGdCQUFnQkgsU0FBU1UsUUFBUUw7SUFDekM7QUFDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxTQUFTRixnQkFDUkgsT0FBZSxFQUNmTyxPQUFxQyxFQUNyQ04sTUFBMkM7SUFFM0MsTUFBTVUsY0FBY0MsUUFBUUMsR0FBRyxDQUFDQyxRQUFRLElBQUlDLDBCQUFrQjtJQUM5RCxNQUFNQyxVQUFVQyxNQUFNQyxPQUFPLENBQUNqQixVQUFVQSxTQUFTO1FBQUNBO0tBQU87SUFDekQsTUFBTUksYUFBYVcsUUFBUUcsTUFBTSxDQUNoQyxDQUFDbEIsU0FBVyxBQUFDQSxPQUFPVSxXQUFXLElBQUlWLE9BQU9VLFdBQVcsS0FBS0EsZUFBZ0I7SUFHM0UsSUFBSU4sV0FBV2UsTUFBTSxHQUFHLEdBQUc7UUFDMUIsTUFBTSxJQUFJQyxpQ0FBeUIsQ0FDbEMsQ0FBQyxrRUFBa0UsQ0FBQztJQUV0RTtJQUVBLE1BQU1DLFlBQVlqQixXQUFXa0IsRUFBRSxDQUFDLElBQUlsQjtJQUNwQyxNQUFNbUIsVUFBVSxJQUFJQyx5QkFBVyxDQUFDO1FBQUVIO0lBQVU7SUFDNUMsT0FBT3RCLFFBQVEwQixTQUFTLENBQUM7UUFDeEJuQjtRQUNBaUI7SUFDRDtBQUNEIn0=
package/es6/src/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./pino.adapater.js";
2
- export * from "./pino.recipe.js";
3
2
  export * from "./scribe-pino.js";
4
3
 
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcGluby5hZGFwYXRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGluby5yZWNpcGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NjcmliZS1waW5vLmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyxtQkFBbUIifQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcGluby5hZGFwYXRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2NyaWJlLXBpbm8uanNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQjtBQUNuQyxjQUFjLG1CQUFtQiJ9