@decohere/scribe-pino 0.0.1-dev.7 → 0.0.1-dev.71
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.
- package/commonjs/src/index.js +2 -1
- package/commonjs/src/pino.adapater.js +123 -1
- package/commonjs/src/pino.recipe.js +67 -0
- package/commonjs/src/pino.transport-guard.js +70 -0
- package/commonjs/src/scribe-pino.js +130 -26
- package/es6/src/index.js +2 -1
- package/es6/src/pino.adapater.js +124 -2
- package/es6/src/pino.recipe.js +57 -0
- package/es6/src/pino.transport-guard.js +63 -0
- package/es6/src/scribe-pino.js +113 -24
- package/package.json +16 -4
- package/types/src/index.d.ts +1 -0
- package/types/src/pino.adapater.d.ts +8 -0
- package/types/src/pino.recipe.d.ts +31 -0
- package/types/src/pino.transport-guard.d.ts +10 -0
- package/types/src/scribe-pino.d.ts +54 -9
package/commonjs/src/index.js
CHANGED
|
@@ -3,6 +3,7 @@ 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);
|
|
6
7
|
_export_star(require("./scribe-pino.js"), exports);
|
|
7
8
|
function _export_star(from, to) {
|
|
8
9
|
Object.keys(from).forEach(function(k) {
|
|
@@ -18,4 +19,4 @@ function _export_star(from, to) {
|
|
|
18
19
|
return from;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcGluby5hZGFwYXRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGluby5yZWNpcGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NjcmliZS1waW5vLmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBYztxQkFDQTtxQkFDQSJ9
|
|
@@ -19,6 +19,8 @@ class PinoAdapter extends _scribe.LogAdapter {
|
|
|
19
19
|
_pino;
|
|
20
20
|
options;
|
|
21
21
|
stream;
|
|
22
|
+
disposed = false;
|
|
23
|
+
retired = false;
|
|
22
24
|
constructor(options, stream){
|
|
23
25
|
super();
|
|
24
26
|
this.options = options;
|
|
@@ -48,12 +50,132 @@ class PinoAdapter extends _scribe.LogAdapter {
|
|
|
48
50
|
return logger;
|
|
49
51
|
}
|
|
50
52
|
flush(cb) {
|
|
53
|
+
if (this.retired || !this._pino) {
|
|
54
|
+
cb?.();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
51
57
|
this._pino.flush(cb);
|
|
52
58
|
}
|
|
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
|
+
});
|
|
53
169
|
}
|
|
54
170
|
function logMethod(args, method) {
|
|
55
171
|
let message = args.at(0);
|
|
56
172
|
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
|
+
}
|
|
57
179
|
if (data instanceof Error) {
|
|
58
180
|
message = {
|
|
59
181
|
msg: message,
|
|
@@ -85,4 +207,4 @@ function pinoMix(logger) {
|
|
|
85
207
|
});
|
|
86
208
|
}
|
|
87
209
|
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvcGluby5hZGFwYXRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHR0eXBlIEJhc2VMb2dnZXIsXG5cdExvZ0FkYXB0ZXIsXG5cdHR5cGUgTG9nZ2VyLFxuXHR0eXBlIFNjcmliZU9wdGlvbnMsXG59IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgcGlubywgeyB0eXBlIExvZ0ZuIH0gZnJvbSBcInBpbm9cIjtcblxuZXhwb3J0IHR5cGUgUGlub0FkYXBhdGVyT3B0aW9ucyA9IHtcblx0b3B0aW9ucz86IHBpbm8uTG9nZ2VyT3B0aW9ucztcblx0c3RyZWFtPzogcGluby5EZXN0aW5hdGlvblN0cmVhbTtcbn07XG5cbmV4cG9ydCBjbGFzcyBQaW5vQWRhcHRlciBleHRlbmRzIExvZ0FkYXB0ZXIge1xuXHRwcml2YXRlIF9waW5vOiBwaW5vLkxvZ2dlcjtcblx0cHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnM7XG5cdHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtOiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtO1xuXHRwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogcGluby5Mb2dnZXJPcHRpb25zLCBzdHJlYW0/OiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXHRcdHRoaXMuc3RyZWFtID0gc3RyZWFtO1xuXHR9XG5cblx0cHVibGljIGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0c2NyaWJlT3B0aW9uczogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0Y29uc3QgeyBsb2dMZXZlbCwgcmVkYWN0aW9ucyB9ID0gc2NyaWJlT3B0aW9ucztcblx0XHRjb25zdCBjdXN0b21MZXZlbHMgPSB0aGlzLmdldExvZ0xldmVscyhzY3JpYmVPcHRpb25zKTtcblxuXHRcdGNvbnN0IHBpbm9PcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnMgPSB7XG5cdFx0XHRjdXN0b21MZXZlbHMsXG5cdFx0XHRsZXZlbDogbG9nTGV2ZWwsXG5cdFx0XHRob29rczogeyBsb2dNZXRob2QgfSxcblx0XHRcdHNlcmlhbGl6ZXJzOiB7XG5cdFx0XHRcdGVycm9yOiBwaW5vLnN0ZFNlcmlhbGl6ZXJzLmVycixcblx0XHRcdH0sXG5cdFx0XHRyZWRhY3Q6IHJlZGFjdGlvbnMsXG5cdFx0XHQuLi50aGlzLm9wdGlvbnMsXG5cdFx0fTtcblx0XHR0aGlzLl9waW5vID0gcGlubyhwaW5vT3B0aW9ucywgdGhpcy5zdHJlYW0pO1xuXHR9XG5cblx0cHVibGljIGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZTogc3RyaW5nLFxuXHQpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IGxvZ2dlciA9IHBpbm9NaXg8VCwgQ3VzdG9tT25seT4odGhpcy5fcGluby5jaGlsZCh7IG5hbWUgfSkpO1xuXHRcdHJldHVybiBsb2dnZXI7XG5cdH1cblxuXHRwdWJsaWMgZmx1c2goY2I/OiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5fcGluby5mbHVzaChjYik7XG5cdH1cbn1cblxuZnVuY3Rpb24gbG9nTWV0aG9kKHRoaXM6IHBpbm8uTG9nZ2VyLCBhcmdzOiBQYXJhbWV0ZXJzPExvZ0ZuPiwgbWV0aG9kOiBMb2dGbikge1xuXHRsZXQgbWVzc2FnZSA9IGFyZ3MuYXQoMCk7XG5cdGNvbnN0IGRhdGEgPSBhcmdzLmF0KDEpO1xuXG5cdGlmIChkYXRhIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRtZXNzYWdlID0geyBtc2c6IG1lc3NhZ2UsIC4uLnsgZXJyb3I6IGRhdGEgfSB9O1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiKSB7XG5cdFx0bWVzc2FnZSA9IHsgbXNnOiBtZXNzYWdlLCAuLi5kYXRhIH07XG5cdH0gZWxzZSB7XG5cdFx0bWVzc2FnZSA9IHsgbXNnOiBtZXNzYWdlLCBkYXRhIH07XG5cdH1cblxuXHRtZXRob2QuY2FsbCh0aGlzLCBtZXNzYWdlKTtcbn1cblxuZnVuY3Rpb24gcGlub01peDxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdGxvZ2dlcjogcGluby5Mb2dnZXIsXG4pOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4ge1xuXHRyZXR1cm4gT2JqZWN0LmFzc2lnbjxwaW5vLkxvZ2dlciwgQmFzZUxvZ2dlcj4obG9nZ2VyLCB7XG5cdFx0Z2V0IGN1cnJlbnRMZXZlbCgpIHtcblx0XHRcdHJldHVybiBsb2dnZXIubGV2ZWw7XG5cdFx0fSxcblx0XHRnZXQgbG9nTGV2ZWxzKCkge1xuXHRcdFx0cmV0dXJuIGxvZ2dlci5sZXZlbHMudmFsdWVzO1xuXHRcdH0sXG5cdH0pIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcbn1cbiJdLCJuYW1lcyI6WyJQaW5vQWRhcHRlciIsIkxvZ0FkYXB0ZXIiLCJfcGlubyIsIm9wdGlvbnMiLCJzdHJlYW0iLCJjb25maWd1cmUiLCJzY3JpYmVPcHRpb25zIiwibG9nTGV2ZWwiLCJyZWRhY3Rpb25zIiwiY3VzdG9tTGV2ZWxzIiwiZ2V0TG9nTGV2ZWxzIiwicGlub09wdGlvbnMiLCJsZXZlbCIsImhvb2tzIiwibG9nTWV0aG9kIiwic2VyaWFsaXplcnMiLCJlcnJvciIsInBpbm8iLCJzdGRTZXJpYWxpemVycyIsImVyciIsInJlZGFjdCIsImdldExvZ2dlciIsIm5hbWUiLCJsb2dnZXIiLCJwaW5vTWl4IiwiY2hpbGQiLCJmbHVzaCIsImNiIiwiYXJncyIsIm1ldGhvZCIsIm1lc3NhZ2UiLCJhdCIsImRhdGEiLCJFcnJvciIsIm1zZyIsImNhbGwiLCJPYmplY3QiLCJhc3NpZ24iLCJjdXJyZW50TGV2ZWwiLCJsb2dMZXZlbHMiLCJsZXZlbHMiLCJ2YWx1ZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7Ozt3QkFSTjs2REFDMEI7Ozs7OztBQU8xQixNQUFNQSxvQkFBb0JDLGtCQUFVO0lBQ2xDQyxNQUFtQjtJQUNWQyxRQUE0QjtJQUM1QkMsT0FBK0I7SUFDaEQsWUFBbUJELE9BQTJCLEVBQUVDLE1BQStCLENBQUU7UUFDaEYsS0FBSztRQUNMLElBQUksQ0FBQ0QsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtJQUNmO0lBRU9DLFVBQ05DLGFBQTJDLEVBQzFDO1FBQ0QsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRSxHQUFHRjtRQUNqQyxNQUFNRyxlQUFlLElBQUksQ0FBQ0MsWUFBWSxDQUFDSjtRQUV2QyxNQUFNSyxjQUFrQztZQUN2Q0Y7WUFDQUcsT0FBT0w7WUFDUE0sT0FBTztnQkFBRUM7WUFBVTtZQUNuQkMsYUFBYTtnQkFDWkMsT0FBT0MsYUFBSSxDQUFDQyxjQUFjLENBQUNDLEdBQUc7WUFDL0I7WUFDQUMsUUFBUVo7WUFDUixHQUFHLElBQUksQ0FBQ0wsT0FBTztRQUNoQjtRQUNBLElBQUksQ0FBQ0QsS0FBSyxHQUFHZSxJQUFBQSxhQUFJLEVBQUNOLGFBQWEsSUFBSSxDQUFDUCxNQUFNO0lBQzNDO0lBRU9pQixVQUNOQyxJQUFZLEVBQ1k7UUFDeEIsTUFBTUMsU0FBU0MsUUFBdUIsSUFBSSxDQUFDdEIsS0FBSyxDQUFDdUIsS0FBSyxDQUFDO1lBQUVIO1FBQUs7UUFDOUQsT0FBT0M7SUFDUjtJQUVPRyxNQUFNQyxFQUFlLEVBQVE7UUFDbkMsSUFBSSxDQUFDekIsS0FBSyxDQUFDd0IsS0FBSyxDQUFDQztJQUNsQjtBQUNEO0FBRUEsU0FBU2IsVUFBNkJjLElBQXVCLEVBQUVDLE1BQWE7SUFDM0UsSUFBSUMsVUFBVUYsS0FBS0csRUFBRSxDQUFDO0lBQ3RCLE1BQU1DLE9BQU9KLEtBQUtHLEVBQUUsQ0FBQztJQUVyQixJQUFJQyxnQkFBZ0JDLE9BQU87UUFDMUJILFVBQVU7WUFBRUksS0FBS0o7WUFBUyxHQUFHO2dCQUFFZCxPQUFPZ0I7WUFBSyxDQUFDO1FBQUM7SUFDOUMsT0FBTyxJQUFJLE9BQU9BLFNBQVMsVUFBVTtRQUNwQ0YsVUFBVTtZQUFFSSxLQUFLSjtZQUFTLEdBQUdFLElBQUk7UUFBQztJQUNuQyxPQUFPO1FBQ05GLFVBQVU7WUFBRUksS0FBS0o7WUFBU0U7UUFBSztJQUNoQztJQUVBSCxPQUFPTSxJQUFJLENBQUMsSUFBSSxFQUFFTDtBQUNuQjtBQUVBLFNBQVNOLFFBQ1JELE1BQW1CO0lBRW5CLE9BQU9hLE9BQU9DLE1BQU0sQ0FBMEJkLFFBQVE7UUFDckQsSUFBSWUsZ0JBQWU7WUFDbEIsT0FBT2YsT0FBT1gsS0FBSztRQUNwQjtRQUNBLElBQUkyQixhQUFZO1lBQ2YsT0FBT2hCLE9BQU9pQixNQUFNLENBQUNDLE1BQU07UUFDNUI7SUFDRDtBQUNEIn0=
|
|
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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
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "pinoRecipe", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return pinoRecipe;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _system = require("@decohere/nexus/system");
|
|
12
|
+
const DEFAULT_ROLL_SIZE = "10m";
|
|
13
|
+
const DEFAULT_ROLL_FREQUENCY = "daily";
|
|
14
|
+
const DEFAULT_ROLL_KEEP = 14;
|
|
15
|
+
function currentEnvironment() {
|
|
16
|
+
return process.env.NODE_ENV === _system.Environments.production ? _system.Environments.production : _system.Environments.development;
|
|
17
|
+
}
|
|
18
|
+
function isEnabled(when, environment) {
|
|
19
|
+
return (when ?? "development") === "always" || environment === _system.Environments.development;
|
|
20
|
+
}
|
|
21
|
+
function prettyTarget(options) {
|
|
22
|
+
return {
|
|
23
|
+
target: "pino-pretty",
|
|
24
|
+
options: {
|
|
25
|
+
colorize: options.colorize ?? true
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function rollTarget(options) {
|
|
30
|
+
return {
|
|
31
|
+
target: "pino-roll",
|
|
32
|
+
options: {
|
|
33
|
+
file: options.file,
|
|
34
|
+
mkdir: options.mkdir ?? true,
|
|
35
|
+
size: options.size ?? DEFAULT_ROLL_SIZE,
|
|
36
|
+
frequency: options.frequency ?? DEFAULT_ROLL_FREQUENCY,
|
|
37
|
+
limit: {
|
|
38
|
+
count: options.keep ?? DEFAULT_ROLL_KEEP
|
|
39
|
+
},
|
|
40
|
+
symlink: options.symlink ?? false
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function transport(plan, environment = currentEnvironment()) {
|
|
45
|
+
const targets = [];
|
|
46
|
+
if (plan.pretty && isEnabled(plan.pretty.when, environment)) {
|
|
47
|
+
targets.push(prettyTarget(plan.pretty));
|
|
48
|
+
}
|
|
49
|
+
if (plan.roll && isEnabled(plan.roll.when, environment)) {
|
|
50
|
+
targets.push(rollTarget(plan.roll));
|
|
51
|
+
}
|
|
52
|
+
if (targets.length === 0) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
if (targets.length === 1) {
|
|
56
|
+
return targets[0];
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
targets
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const pinoRecipe = {
|
|
63
|
+
transport,
|
|
64
|
+
currentEnvironment
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvcGluby5yZWNpcGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBFbnZpcm9ubWVudCwgRW52aXJvbm1lbnRzIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9zeXN0ZW1cIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwb3J0TXVsdGlPcHRpb25zLCBUcmFuc3BvcnRTaW5nbGVPcHRpb25zIH0gZnJvbSBcInBpbm9cIjtcblxuLyoqIFByZXR0eSBhbmQgcm9sbCBhcmUgbG9jYWwtZGV2IGNvbnZlbmllbmNlcy4gUHJvZHVjdGlvbiBzaGlwcyBKU09OIG9uIHN0ZG91dC4gKi9cbmV4cG9ydCB0eXBlIFBpbm9XaGVuID0gXCJkZXZlbG9wbWVudFwiIHwgXCJhbHdheXNcIjtcblxuZXhwb3J0IHR5cGUgUGlub1ByZXR0eVJlY2lwZU9wdGlvbnMgPSB7XG5cdGNvbG9yaXplPzogYm9vbGVhbjtcblx0bG9nTGV2ZWw/OiBzdHJpbmc7XG5cdHdoZW4/OiBQaW5vV2hlbjtcbn07XG5cbmV4cG9ydCB0eXBlIFBpbm9Sb2xsUmVjaXBlT3B0aW9ucyA9IHtcblx0ZmlsZTogc3RyaW5nO1xuXHRzaXplPzogc3RyaW5nO1xuXHRmcmVxdWVuY3k/OiBzdHJpbmcgfCBudW1iZXI7XG5cdGtlZXA/OiBudW1iZXI7XG5cdG1rZGlyPzogYm9vbGVhbjtcblx0c3ltbGluaz86IGJvb2xlYW47XG5cdGxvZ0xldmVsPzogc3RyaW5nO1xuXHR3aGVuPzogUGlub1doZW47XG59O1xuXG5leHBvcnQgdHlwZSBQaW5vUmVjaXBlUGxhbiA9IHtcblx0cHJldHR5PzogUGlub1ByZXR0eVJlY2lwZU9wdGlvbnM7XG5cdHJvbGw/OiBQaW5vUm9sbFJlY2lwZU9wdGlvbnM7XG5cdGxvZ0xldmVsPzogc3RyaW5nO1xufTtcblxuY29uc3QgREVGQVVMVF9ST0xMX1NJWkUgPSBcIjEwbVwiO1xuY29uc3QgREVGQVVMVF9ST0xMX0ZSRVFVRU5DWSA9IFwiZGFpbHlcIjtcbmNvbnN0IERFRkFVTFRfUk9MTF9LRUVQID0gMTQ7XG5cbmZ1bmN0aW9uIGN1cnJlbnRFbnZpcm9ubWVudCgpOiBFbnZpcm9ubWVudCB7XG5cdHJldHVybiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gRW52aXJvbm1lbnRzLnByb2R1Y3Rpb25cblx0XHQ/IEVudmlyb25tZW50cy5wcm9kdWN0aW9uXG5cdFx0OiBFbnZpcm9ubWVudHMuZGV2ZWxvcG1lbnQ7XG59XG5cbmZ1bmN0aW9uIGlzRW5hYmxlZCh3aGVuOiBQaW5vV2hlbiB8IHVuZGVmaW5lZCwgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50KTogYm9vbGVhbiB7XG5cdHJldHVybiAod2hlbiA/PyBcImRldmVsb3BtZW50XCIpID09PSBcImFsd2F5c1wiIHx8IGVudmlyb25tZW50ID09PSBFbnZpcm9ubWVudHMuZGV2ZWxvcG1lbnQ7XG59XG5cbmZ1bmN0aW9uIHByZXR0eVRhcmdldChvcHRpb25zOiBQaW5vUHJldHR5UmVjaXBlT3B0aW9ucyk6IFRyYW5zcG9ydFNpbmdsZU9wdGlvbnMge1xuXHRyZXR1cm4ge1xuXHRcdHRhcmdldDogXCJwaW5vLXByZXR0eVwiLFxuXHRcdG9wdGlvbnM6IHsgY29sb3JpemU6IG9wdGlvbnMuY29sb3JpemUgPz8gdHJ1ZSB9LFxuXHR9O1xufVxuXG5mdW5jdGlvbiByb2xsVGFyZ2V0KG9wdGlvbnM6IFBpbm9Sb2xsUmVjaXBlT3B0aW9ucyk6IFRyYW5zcG9ydFNpbmdsZU9wdGlvbnMge1xuXHRyZXR1cm4ge1xuXHRcdHRhcmdldDogXCJwaW5vLXJvbGxcIixcblx0XHRvcHRpb25zOiB7XG5cdFx0XHRmaWxlOiBvcHRpb25zLmZpbGUsXG5cdFx0XHRta2Rpcjogb3B0aW9ucy5ta2RpciA/PyB0cnVlLFxuXHRcdFx0c2l6ZTogb3B0aW9ucy5zaXplID8/IERFRkFVTFRfUk9MTF9TSVpFLFxuXHRcdFx0ZnJlcXVlbmN5OiBvcHRpb25zLmZyZXF1ZW5jeSA/PyBERUZBVUxUX1JPTExfRlJFUVVFTkNZLFxuXHRcdFx0bGltaXQ6IHsgY291bnQ6IG9wdGlvbnMua2VlcCA/PyBERUZBVUxUX1JPTExfS0VFUCB9LFxuXHRcdFx0c3ltbGluazogb3B0aW9ucy5zeW1saW5rID8/IGZhbHNlLFxuXHRcdH0sXG5cdH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zcG9ydChcblx0cGxhbjogUGlub1JlY2lwZVBsYW4sXG5cdGVudmlyb25tZW50OiBFbnZpcm9ubWVudCA9IGN1cnJlbnRFbnZpcm9ubWVudCgpLFxuKTogVHJhbnNwb3J0U2luZ2xlT3B0aW9ucyB8IFRyYW5zcG9ydE11bHRpT3B0aW9ucyB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IHRhcmdldHM6IFRyYW5zcG9ydFNpbmdsZU9wdGlvbnNbXSA9IFtdO1xuXHRpZiAocGxhbi5wcmV0dHkgJiYgaXNFbmFibGVkKHBsYW4ucHJldHR5LndoZW4sIGVudmlyb25tZW50KSkge1xuXHRcdHRhcmdldHMucHVzaChwcmV0dHlUYXJnZXQocGxhbi5wcmV0dHkpKTtcblx0fVxuXHRpZiAocGxhbi5yb2xsICYmIGlzRW5hYmxlZChwbGFuLnJvbGwud2hlbiwgZW52aXJvbm1lbnQpKSB7XG5cdFx0dGFyZ2V0cy5wdXNoKHJvbGxUYXJnZXQocGxhbi5yb2xsKSk7XG5cdH1cblx0aWYgKHRhcmdldHMubGVuZ3RoID09PSAwKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRpZiAodGFyZ2V0cy5sZW5ndGggPT09IDEpIHtcblx0XHRyZXR1cm4gdGFyZ2V0c1swXTtcblx0fVxuXHRyZXR1cm4geyB0YXJnZXRzIH07XG59XG5cbmV4cG9ydCBjb25zdCBwaW5vUmVjaXBlID0geyB0cmFuc3BvcnQsIGN1cnJlbnRFbnZpcm9ubWVudCB9O1xuIl0sIm5hbWVzIjpbInBpbm9SZWNpcGUiLCJERUZBVUxUX1JPTExfU0laRSIsIkRFRkFVTFRfUk9MTF9GUkVRVUVOQ1kiLCJERUZBVUxUX1JPTExfS0VFUCIsImN1cnJlbnRFbnZpcm9ubWVudCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIkVudmlyb25tZW50cyIsInByb2R1Y3Rpb24iLCJkZXZlbG9wbWVudCIsImlzRW5hYmxlZCIsIndoZW4iLCJlbnZpcm9ubWVudCIsInByZXR0eVRhcmdldCIsIm9wdGlvbnMiLCJ0YXJnZXQiLCJjb2xvcml6ZSIsInJvbGxUYXJnZXQiLCJmaWxlIiwibWtkaXIiLCJzaXplIiwiZnJlcXVlbmN5IiwibGltaXQiLCJjb3VudCIsImtlZXAiLCJzeW1saW5rIiwidHJhbnNwb3J0IiwicGxhbiIsInRhcmdldHMiLCJwcmV0dHkiLCJwdXNoIiwicm9sbCIsImxlbmd0aCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvRmFBOzs7ZUFBQUE7Ozt3QkFwRmtDO0FBNkIvQyxNQUFNQyxvQkFBb0I7QUFDMUIsTUFBTUMseUJBQXlCO0FBQy9CLE1BQU1DLG9CQUFvQjtBQUUxQixTQUFTQztJQUNSLE9BQU9DLFFBQVFDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLQyxvQkFBWSxDQUFDQyxVQUFVLEdBQ3BERCxvQkFBWSxDQUFDQyxVQUFVLEdBQ3ZCRCxvQkFBWSxDQUFDRSxXQUFXO0FBQzVCO0FBRUEsU0FBU0MsVUFBVUMsSUFBMEIsRUFBRUMsV0FBd0I7SUFDdEUsT0FBTyxBQUFDRCxDQUFBQSxRQUFRLGFBQVksTUFBTyxZQUFZQyxnQkFBZ0JMLG9CQUFZLENBQUNFLFdBQVc7QUFDeEY7QUFFQSxTQUFTSSxhQUFhQyxPQUFnQztJQUNyRCxPQUFPO1FBQ05DLFFBQVE7UUFDUkQsU0FBUztZQUFFRSxVQUFVRixRQUFRRSxRQUFRLElBQUk7UUFBSztJQUMvQztBQUNEO0FBRUEsU0FBU0MsV0FBV0gsT0FBOEI7SUFDakQsT0FBTztRQUNOQyxRQUFRO1FBQ1JELFNBQVM7WUFDUkksTUFBTUosUUFBUUksSUFBSTtZQUNsQkMsT0FBT0wsUUFBUUssS0FBSyxJQUFJO1lBQ3hCQyxNQUFNTixRQUFRTSxJQUFJLElBQUlwQjtZQUN0QnFCLFdBQVdQLFFBQVFPLFNBQVMsSUFBSXBCO1lBQ2hDcUIsT0FBTztnQkFBRUMsT0FBT1QsUUFBUVUsSUFBSSxJQUFJdEI7WUFBa0I7WUFDbER1QixTQUFTWCxRQUFRVyxPQUFPLElBQUk7UUFDN0I7SUFDRDtBQUNEO0FBRUEsU0FBU0MsVUFDUkMsSUFBb0IsRUFDcEJmLGNBQTJCVCxvQkFBb0I7SUFFL0MsTUFBTXlCLFVBQW9DLEVBQUU7SUFDNUMsSUFBSUQsS0FBS0UsTUFBTSxJQUFJbkIsVUFBVWlCLEtBQUtFLE1BQU0sQ0FBQ2xCLElBQUksRUFBRUMsY0FBYztRQUM1RGdCLFFBQVFFLElBQUksQ0FBQ2pCLGFBQWFjLEtBQUtFLE1BQU07SUFDdEM7SUFDQSxJQUFJRixLQUFLSSxJQUFJLElBQUlyQixVQUFVaUIsS0FBS0ksSUFBSSxDQUFDcEIsSUFBSSxFQUFFQyxjQUFjO1FBQ3hEZ0IsUUFBUUUsSUFBSSxDQUFDYixXQUFXVSxLQUFLSSxJQUFJO0lBQ2xDO0lBQ0EsSUFBSUgsUUFBUUksTUFBTSxLQUFLLEdBQUc7UUFDekIsT0FBT0M7SUFDUjtJQUNBLElBQUlMLFFBQVFJLE1BQU0sS0FBSyxHQUFHO1FBQ3pCLE9BQU9KLE9BQU8sQ0FBQyxFQUFFO0lBQ2xCO0lBQ0EsT0FBTztRQUFFQTtJQUFRO0FBQ2xCO0FBRU8sTUFBTTdCLGFBQWE7SUFBRTJCO0lBQVd2QjtBQUFtQiJ9
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "guardTransport", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return guardTransport;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function guardTransport(transport) {
|
|
12
|
+
const stream = transport;
|
|
13
|
+
let retired = false;
|
|
14
|
+
let reported = false;
|
|
15
|
+
const retire = (reason = "retired")=>{
|
|
16
|
+
if (retired) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
retired = true;
|
|
20
|
+
if (!reported) {
|
|
21
|
+
reported = true;
|
|
22
|
+
process.stderr.write(`[scribe-pino] transport retired: ${reason}\n`);
|
|
23
|
+
}
|
|
24
|
+
if (typeof stream.destroy === "function") {
|
|
25
|
+
try {
|
|
26
|
+
stream.destroy();
|
|
27
|
+
} catch {
|
|
28
|
+
// already dead
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
if (typeof stream.on === "function") {
|
|
33
|
+
stream.on("error", (err)=>{
|
|
34
|
+
retire(err?.message ?? String(err));
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (typeof stream.write === "function") {
|
|
38
|
+
const originalWrite = stream.write.bind(stream);
|
|
39
|
+
stream.write = (chunk, encodingOrCb, cb)=>{
|
|
40
|
+
if (retired) {
|
|
41
|
+
completeWrite(encodingOrCb, cb);
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
return originalWrite(chunk, encodingOrCb, cb);
|
|
46
|
+
} catch (err) {
|
|
47
|
+
retire(err instanceof Error ? err.message : String(err));
|
|
48
|
+
completeWrite(encodingOrCb, cb);
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
Object.defineProperty(stream, "retired", {
|
|
54
|
+
get: ()=>retired,
|
|
55
|
+
enumerable: true
|
|
56
|
+
});
|
|
57
|
+
Object.defineProperty(stream, "retire", {
|
|
58
|
+
value: retire,
|
|
59
|
+
enumerable: true
|
|
60
|
+
});
|
|
61
|
+
return stream;
|
|
62
|
+
}
|
|
63
|
+
function completeWrite(encodingOrCb, cb) {
|
|
64
|
+
const done = typeof encodingOrCb === "function" ? encodingOrCb : typeof cb === "function" ? cb : undefined;
|
|
65
|
+
if (typeof done === "function") {
|
|
66
|
+
done();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvcGluby50cmFuc3BvcnQtZ3VhcmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZXN0aW5hdGlvblN0cmVhbSB9IGZyb20gXCJwaW5vXCI7XG5cbmV4cG9ydCB0eXBlIEd1YXJkZWRUcmFuc3BvcnQgPSBEZXN0aW5hdGlvblN0cmVhbSAmIHtcblx0cmVhZG9ubHkgcmV0aXJlZDogYm9vbGVhbjtcblx0cmV0aXJlKHJlYXNvbj86IHN0cmluZyk6IHZvaWQ7XG59O1xuXG50eXBlIFdyaXRhYmxlTGlrZSA9IERlc3RpbmF0aW9uU3RyZWFtICYge1xuXHR3cml0ZT86ICguLi5hcmdzOiBuZXZlcltdKSA9PiB1bmtub3duO1xuXHRvbj86IChldmVudDogXCJlcnJvclwiLCBsaXN0ZW5lcjogKGVycjogRXJyb3IpID0+IHZvaWQpID0+IHVua25vd247XG5cdGRlc3Ryb3k/OiAoZXJyb3I/OiBFcnJvcikgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogV3JhcCBhIHBpbm8gd29ya2VyIHRyYW5zcG9ydCBzbyBhIGRlYWQgVGhyZWFkU3RyZWFtIGNhbm5vdCBzcGFtIG9yIGNyYXNoLlxuICogT24gZmlyc3QgZXJyb3IgLyB3cml0ZSB0aHJvdzogcmVwb3J0IG9uY2UsIGRlc3Ryb3ksIG5vLW9wIGZ1cnRoZXIgd3JpdGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VhcmRUcmFuc3BvcnQodHJhbnNwb3J0OiBEZXN0aW5hdGlvblN0cmVhbSk6IEd1YXJkZWRUcmFuc3BvcnQge1xuXHRjb25zdCBzdHJlYW0gPSB0cmFuc3BvcnQgYXMgV3JpdGFibGVMaWtlO1xuXHRsZXQgcmV0aXJlZCA9IGZhbHNlO1xuXHRsZXQgcmVwb3J0ZWQgPSBmYWxzZTtcblxuXHRjb25zdCByZXRpcmUgPSAocmVhc29uID0gXCJyZXRpcmVkXCIpOiB2b2lkID0+IHtcblx0XHRpZiAocmV0aXJlZCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRyZXRpcmVkID0gdHJ1ZTtcblx0XHRpZiAoIXJlcG9ydGVkKSB7XG5cdFx0XHRyZXBvcnRlZCA9IHRydWU7XG5cdFx0XHRwcm9jZXNzLnN0ZGVyci53cml0ZShgW3NjcmliZS1waW5vXSB0cmFuc3BvcnQgcmV0aXJlZDogJHtyZWFzb259XFxuYCk7XG5cdFx0fVxuXHRcdGlmICh0eXBlb2Ygc3RyZWFtLmRlc3Ryb3kgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0c3RyZWFtLmRlc3Ryb3koKTtcblx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHQvLyBhbHJlYWR5IGRlYWRcblx0XHRcdH1cblx0XHR9XG5cdH07XG5cblx0aWYgKHR5cGVvZiBzdHJlYW0ub24gPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdHN0cmVhbS5vbihcImVycm9yXCIsIChlcnIpID0+IHtcblx0XHRcdHJldGlyZShlcnI/Lm1lc3NhZ2UgPz8gU3RyaW5nKGVycikpO1xuXHRcdH0pO1xuXHR9XG5cblx0aWYgKHR5cGVvZiBzdHJlYW0ud3JpdGUgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdGNvbnN0IG9yaWdpbmFsV3JpdGUgPSBzdHJlYW0ud3JpdGUuYmluZChzdHJlYW0pIGFzIChcblx0XHRcdGNodW5rOiB1bmtub3duLFxuXHRcdFx0ZW5jb2RpbmdPckNiPzogdW5rbm93bixcblx0XHRcdGNiPzogdW5rbm93bixcblx0XHQpID0+IHVua25vd247XG5cblx0XHRzdHJlYW0ud3JpdGUgPSAoKGNodW5rOiB1bmtub3duLCBlbmNvZGluZ09yQ2I/OiB1bmtub3duLCBjYj86IHVua25vd24pID0+IHtcblx0XHRcdGlmIChyZXRpcmVkKSB7XG5cdFx0XHRcdGNvbXBsZXRlV3JpdGUoZW5jb2RpbmdPckNiLCBjYik7XG5cdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0fVxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0cmV0dXJuIG9yaWdpbmFsV3JpdGUoY2h1bmssIGVuY29kaW5nT3JDYiwgY2IpO1xuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRcdHJldGlyZShlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycikpO1xuXHRcdFx0XHRjb21wbGV0ZVdyaXRlKGVuY29kaW5nT3JDYiwgY2IpO1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH1cblx0XHR9KSBhcyB0eXBlb2Ygc3RyZWFtLndyaXRlO1xuXHR9XG5cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHN0cmVhbSwgXCJyZXRpcmVkXCIsIHtcblx0XHRnZXQ6ICgpID0+IHJldGlyZWQsXG5cdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0fSk7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHJlYW0sIFwicmV0aXJlXCIsIHtcblx0XHR2YWx1ZTogcmV0aXJlLFxuXHRcdGVudW1lcmFibGU6IHRydWUsXG5cdH0pO1xuXG5cdHJldHVybiBzdHJlYW0gYXMgR3VhcmRlZFRyYW5zcG9ydDtcbn1cblxuZnVuY3Rpb24gY29tcGxldGVXcml0ZShlbmNvZGluZ09yQ2I6IHVua25vd24sIGNiOiB1bmtub3duKTogdm9pZCB7XG5cdGNvbnN0IGRvbmUgPVxuXHRcdHR5cGVvZiBlbmNvZGluZ09yQ2IgPT09IFwiZnVuY3Rpb25cIlxuXHRcdFx0PyBlbmNvZGluZ09yQ2Jcblx0XHRcdDogdHlwZW9mIGNiID09PSBcImZ1bmN0aW9uXCJcblx0XHRcdFx0PyBjYlxuXHRcdFx0XHQ6IHVuZGVmaW5lZDtcblx0aWYgKHR5cGVvZiBkb25lID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRkb25lKCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJndWFyZFRyYW5zcG9ydCIsInRyYW5zcG9ydCIsInN0cmVhbSIsInJldGlyZWQiLCJyZXBvcnRlZCIsInJldGlyZSIsInJlYXNvbiIsInByb2Nlc3MiLCJzdGRlcnIiLCJ3cml0ZSIsImRlc3Ryb3kiLCJvbiIsImVyciIsIm1lc3NhZ2UiLCJTdHJpbmciLCJvcmlnaW5hbFdyaXRlIiwiYmluZCIsImNodW5rIiwiZW5jb2RpbmdPckNiIiwiY2IiLCJjb21wbGV0ZVdyaXRlIiwiRXJyb3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldCIsImVudW1lcmFibGUiLCJ2YWx1ZSIsImRvbmUiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBaUJnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsZUFBZUMsU0FBNEI7SUFDMUQsTUFBTUMsU0FBU0Q7SUFDZixJQUFJRSxVQUFVO0lBQ2QsSUFBSUMsV0FBVztJQUVmLE1BQU1DLFNBQVMsQ0FBQ0MsU0FBUyxTQUFTO1FBQ2pDLElBQUlILFNBQVM7WUFDWjtRQUNEO1FBQ0FBLFVBQVU7UUFDVixJQUFJLENBQUNDLFVBQVU7WUFDZEEsV0FBVztZQUNYRyxRQUFRQyxNQUFNLENBQUNDLEtBQUssQ0FBQyxDQUFDLGlDQUFpQyxFQUFFSCxPQUFPLEVBQUUsQ0FBQztRQUNwRTtRQUNBLElBQUksT0FBT0osT0FBT1EsT0FBTyxLQUFLLFlBQVk7WUFDekMsSUFBSTtnQkFDSFIsT0FBT1EsT0FBTztZQUNmLEVBQUUsT0FBTTtZQUNQLGVBQWU7WUFDaEI7UUFDRDtJQUNEO0lBRUEsSUFBSSxPQUFPUixPQUFPUyxFQUFFLEtBQUssWUFBWTtRQUNwQ1QsT0FBT1MsRUFBRSxDQUFDLFNBQVMsQ0FBQ0M7WUFDbkJQLE9BQU9PLEtBQUtDLFdBQVdDLE9BQU9GO1FBQy9CO0lBQ0Q7SUFFQSxJQUFJLE9BQU9WLE9BQU9PLEtBQUssS0FBSyxZQUFZO1FBQ3ZDLE1BQU1NLGdCQUFnQmIsT0FBT08sS0FBSyxDQUFDTyxJQUFJLENBQUNkO1FBTXhDQSxPQUFPTyxLQUFLLEdBQUksQ0FBQ1EsT0FBZ0JDLGNBQXdCQztZQUN4RCxJQUFJaEIsU0FBUztnQkFDWmlCLGNBQWNGLGNBQWNDO2dCQUM1QixPQUFPO1lBQ1I7WUFDQSxJQUFJO2dCQUNILE9BQU9KLGNBQWNFLE9BQU9DLGNBQWNDO1lBQzNDLEVBQUUsT0FBT1AsS0FBSztnQkFDYlAsT0FBT08sZUFBZVMsUUFBUVQsSUFBSUMsT0FBTyxHQUFHQyxPQUFPRjtnQkFDbkRRLGNBQWNGLGNBQWNDO2dCQUM1QixPQUFPO1lBQ1I7UUFDRDtJQUNEO0lBRUFHLE9BQU9DLGNBQWMsQ0FBQ3JCLFFBQVEsV0FBVztRQUN4Q3NCLEtBQUssSUFBTXJCO1FBQ1hzQixZQUFZO0lBQ2I7SUFDQUgsT0FBT0MsY0FBYyxDQUFDckIsUUFBUSxVQUFVO1FBQ3ZDd0IsT0FBT3JCO1FBQ1BvQixZQUFZO0lBQ2I7SUFFQSxPQUFPdkI7QUFDUjtBQUVBLFNBQVNrQixjQUFjRixZQUFxQixFQUFFQyxFQUFXO0lBQ3hELE1BQU1RLE9BQ0wsT0FBT1QsaUJBQWlCLGFBQ3JCQSxlQUNBLE9BQU9DLE9BQU8sYUFDYkEsS0FDQVM7SUFDTCxJQUFJLE9BQU9ELFNBQVMsWUFBWTtRQUMvQkE7SUFDRDtBQUNEIn0=
|
|
@@ -2,16 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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 () {
|
|
8
13
|
return PinoExtensions;
|
|
14
|
+
},
|
|
15
|
+
get guardTransport () {
|
|
16
|
+
return _pinotransportguard.guardTransport;
|
|
17
|
+
},
|
|
18
|
+
get pinoTransport () {
|
|
19
|
+
return pinoTransport;
|
|
9
20
|
}
|
|
10
21
|
});
|
|
11
22
|
const _extensibility = require("@decohere/nexus/extensibility");
|
|
12
23
|
const _system = require("@decohere/nexus/system");
|
|
13
24
|
const _scribe = require("@decohere/scribe");
|
|
25
|
+
const _pino = /*#__PURE__*/ _interop_require_default(require("pino"));
|
|
14
26
|
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
|
+
}
|
|
15
34
|
function _ts_decorate(decorators, target, key, desc) {
|
|
16
35
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
17
36
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -27,23 +46,28 @@ class PinoExtensions {
|
|
|
27
46
|
logLevel
|
|
28
47
|
}, config);
|
|
29
48
|
}
|
|
30
|
-
static withPinoPretty(factory,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
+
});
|
|
39
61
|
}
|
|
40
62
|
static withPinoCustom(factory, options) {
|
|
41
|
-
const { scribe, transports } = options;
|
|
63
|
+
const { scribe, transports } = options ?? {};
|
|
42
64
|
return configureScribe(factory, scribe, transports);
|
|
43
65
|
}
|
|
44
66
|
}
|
|
45
67
|
_ts_decorate([
|
|
46
|
-
(0, _extensibility.extension)(_scribe.scribe
|
|
68
|
+
(0, _extensibility.extension)(_scribe.scribe, {
|
|
69
|
+
static: true
|
|
70
|
+
}),
|
|
47
71
|
_ts_metadata("design:type", Function),
|
|
48
72
|
_ts_metadata("design:paramtypes", [
|
|
49
73
|
typeof _scribe.scribe === "undefined" ? Object : _scribe.scribe,
|
|
@@ -53,7 +77,9 @@ _ts_decorate([
|
|
|
53
77
|
_ts_metadata("design:returntype", void 0)
|
|
54
78
|
], PinoExtensions, "withPino", null);
|
|
55
79
|
_ts_decorate([
|
|
56
|
-
(0, _extensibility.extension)(_scribe.scribe
|
|
80
|
+
(0, _extensibility.extension)(_scribe.scribe, {
|
|
81
|
+
static: true
|
|
82
|
+
}),
|
|
57
83
|
_ts_metadata("design:type", Function),
|
|
58
84
|
_ts_metadata("design:paramtypes", [
|
|
59
85
|
typeof _scribe.scribe === "undefined" ? Object : _scribe.scribe,
|
|
@@ -62,7 +88,20 @@ _ts_decorate([
|
|
|
62
88
|
_ts_metadata("design:returntype", void 0)
|
|
63
89
|
], PinoExtensions, "withPinoPretty", null);
|
|
64
90
|
_ts_decorate([
|
|
65
|
-
(0, _extensibility.extension)(_scribe.scribe
|
|
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
|
+
}),
|
|
66
105
|
_ts_metadata("design:type", Function),
|
|
67
106
|
_ts_metadata("design:paramtypes", [
|
|
68
107
|
typeof _scribe.scribe === "undefined" ? Object : _scribe.scribe,
|
|
@@ -70,23 +109,88 @@ _ts_decorate([
|
|
|
70
109
|
]),
|
|
71
110
|
_ts_metadata("design:returntype", void 0)
|
|
72
111
|
], 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
|
+
return factory.configure({
|
|
164
|
+
options: {
|
|
165
|
+
logLevel: plan.logLevel ?? _scribe.DefaultLogLevel
|
|
166
|
+
},
|
|
167
|
+
adapter
|
|
168
|
+
});
|
|
169
|
+
}
|
|
73
170
|
function configureScribe(factory, options, config) {
|
|
74
171
|
const environment = process.env.NODE_ENV ?? _system.DefaultEnvironment;
|
|
75
|
-
const configs = Array.isArray(config) ? config : [
|
|
172
|
+
const configs = (Array.isArray(config) ? config : config != null ? [
|
|
76
173
|
config
|
|
77
|
-
];
|
|
78
|
-
|
|
79
|
-
if (transports.length > 1) {
|
|
174
|
+
] : []).filter((item)=>item.environment == null || item.environment === environment);
|
|
175
|
+
if (configs.length > 1) {
|
|
80
176
|
throw new _scribe.LoggingConfigurationError(`There should only be one configuration per environment for logging`);
|
|
81
177
|
}
|
|
82
|
-
const
|
|
83
|
-
const adapter = new _pinoadapater.PinoAdapter({
|
|
84
|
-
transport
|
|
85
|
-
});
|
|
178
|
+
const adapter = adapterForTransport(configs.at(0)?.transports);
|
|
86
179
|
return factory.configure({
|
|
87
|
-
options
|
|
180
|
+
options: {
|
|
181
|
+
...options,
|
|
182
|
+
logLevel: options?.logLevel ?? _scribe.DefaultLogLevel
|
|
183
|
+
},
|
|
88
184
|
adapter
|
|
89
185
|
});
|
|
90
186
|
}
|
|
187
|
+
/** @deprecated Use {@link guardTransport} — kept for callers/tests from the silence-only era. */ function silenceErrors(transport) {
|
|
188
|
+
return (0, _pinotransportguard.guardTransport)(transport);
|
|
189
|
+
}
|
|
190
|
+
const pinoTransport = {
|
|
191
|
+
createSafeTransport,
|
|
192
|
+
guardTransport: _pinotransportguard.guardTransport,
|
|
193
|
+
silenceErrors
|
|
194
|
+
};
|
|
91
195
|
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvc2NyaWJlLXBpbm8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5zaW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgeyBEZWZhdWx0RW52aXJvbm1lbnQsIHR5cGUgRW52aXJvbm1lbnQgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL3N5c3RlbVwiO1xuaW1wb3J0IHtcblx0dHlwZSBEZWZhdWx0TGV2ZWxzLFxuXHR0eXBlIExvZ2dlcixcblx0TG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvcixcblx0dHlwZSBTY3JpYmVPcHRpb25zLFxuXHRzY3JpYmUsXG59IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgdHlwZSB7XG5cdFRyYW5zcG9ydE11bHRpT3B0aW9ucyxcblx0VHJhbnNwb3J0UGlwZWxpbmVPcHRpb25zLFxuXHRUcmFuc3BvcnRTaW5nbGVPcHRpb25zLFxufSBmcm9tIFwicGlub1wiO1xuXG5pbXBvcnQgeyBQaW5vQWRhcHRlciB9IGZyb20gXCIuL3Bpbm8uYWRhcGF0ZXIuanNcIjtcblxudHlwZSBUcmFuc3BvcnRDb25maWcgPSB7XG5cdGVudmlyb25tZW50PzogRW52aXJvbm1lbnQ7XG5cdHRyYW5zcG9ydHM6IFRyYW5zcG9ydFNpbmdsZU9wdGlvbnMgfCBUcmFuc3BvcnRNdWx0aU9wdGlvbnMgfCBUcmFuc3BvcnRQaXBlbGluZU9wdGlvbnM7XG59O1xuXG50eXBlIEN1c3RvbUxldmVsT3B0aW9uczxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPiA9IHtcblx0c2NyaWJlPzogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pjtcblx0dHJhbnNwb3J0cz86IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdO1xufTtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjb2hlcmUvc2NyaWJlXCIge1xuXHRpbnRlcmZhY2Ugc2NyaWJlIHtcblx0XHR3aXRoUGlubyhcblx0XHRcdHRyYW5zcG9ydHM6IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdLFxuXHRcdFx0bG9nbGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nLFxuXHRcdCk6IChuYW1lPzogc3RyaW5nKSA9PiBMb2dnZXI7XG5cdFx0d2l0aFBpbm9QcmV0dHkobG9nTGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nKTogKG5hbWU/OiBzdHJpbmcpID0+IExvZ2dlcjtcblx0XHR3aXRoUGlub0N1c3RvbTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPihcblx0XHRcdG9wdGlvbnM/OiBDdXN0b21MZXZlbE9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdFx0KTogKG5hbWU/OiBzdHJpbmcpID0+IExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgUGlub0V4dGVuc2lvbnMge1xuXHRAZXh0ZW5zaW9uKHNjcmliZSlcblx0cHVibGljIHN0YXRpYyB3aXRoUGlubyhcblx0XHRmYWN0b3J5OiBzY3JpYmUsXG5cdFx0Y29uZmlnOiBUcmFuc3BvcnRDb25maWcgfCBUcmFuc3BvcnRDb25maWdbXSxcblx0XHRsb2dMZXZlbD86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmcsXG5cdCkge1xuXHRcdHJldHVybiBjb25maWd1cmVTY3JpYmUoZmFjdG9yeSwgeyBsb2dMZXZlbCB9LCBjb25maWcpO1xuXHR9XG5cblx0QGV4dGVuc2lvbihzY3JpYmUpXG5cdHB1YmxpYyBzdGF0aWMgd2l0aFBpbm9QcmV0dHkoZmFjdG9yeTogc2NyaWJlLCBsb2dMZXZlbD86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmcpIHtcblx0XHRyZXR1cm4gUGlub0V4dGVuc2lvbnMud2l0aFBpbm8oXG5cdFx0XHRmYWN0b3J5LFxuXHRcdFx0eyB0cmFuc3BvcnRzOiB7IHRhcmdldDogXCJwaW5vLXByZXR0eVwiLCBvcHRpb25zOiB7IGNvbG9yaXplOiB0cnVlIH0gfSB9LFxuXHRcdFx0bG9nTGV2ZWwsXG5cdFx0KTtcblx0fVxuXG5cdEBleHRlbnNpb24oc2NyaWJlKVxuXHRwdWJsaWMgc3RhdGljIHdpdGhQaW5vQ3VzdG9tPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgPSB1bmRlZmluZWQ+KFxuXHRcdGZhY3Rvcnk6IHNjcmliZSxcblx0XHRvcHRpb25zPzogQ3VzdG9tTGV2ZWxPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHQpIHtcblx0XHRjb25zdCB7IHNjcmliZSwgdHJhbnNwb3J0cyB9ID0gb3B0aW9ucztcblx0XHRyZXR1cm4gY29uZmlndXJlU2NyaWJlKGZhY3RvcnksIHNjcmliZSwgdHJhbnNwb3J0cyk7XG5cdH1cbn1cblxuZnVuY3Rpb24gY29uZmlndXJlU2NyaWJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0ZmFjdG9yeTogc2NyaWJlLFxuXHRvcHRpb25zOiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHRjb25maWc6IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdLFxuKSB7XG5cdGNvbnN0IGVudmlyb25tZW50ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPz8gRGVmYXVsdEVudmlyb25tZW50O1xuXHRjb25zdCBjb25maWdzID0gQXJyYXkuaXNBcnJheShjb25maWcpID8gY29uZmlnIDogW2NvbmZpZ107XG5cdGNvbnN0IHRyYW5zcG9ydHMgPSBjb25maWdzLmZpbHRlcihcblx0XHQoY29uZmlnKSA9PiAoY29uZmlnLmVudmlyb25tZW50ICYmIGNvbmZpZy5lbnZpcm9ubWVudCA9PT0gZW52aXJvbm1lbnQpIHx8IHRydWUsXG5cdCk7XG5cblx0aWYgKHRyYW5zcG9ydHMubGVuZ3RoID4gMSkge1xuXHRcdHRocm93IG5ldyBMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yKFxuXHRcdFx0YFRoZXJlIHNob3VsZCBvbmx5IGJlIG9uZSBjb25maWd1cmF0aW9uIHBlciBlbnZpcm9ubWVudCBmb3IgbG9nZ2luZ2AsXG5cdFx0KTtcblx0fVxuXG5cdGNvbnN0IHRyYW5zcG9ydCA9IHRyYW5zcG9ydHMuYXQoMCk/LnRyYW5zcG9ydHM7XG5cdGNvbnN0IGFkYXB0ZXIgPSBuZXcgUGlub0FkYXB0ZXIoeyB0cmFuc3BvcnQgfSk7XG5cdHJldHVybiBmYWN0b3J5LmNvbmZpZ3VyZSh7XG5cdFx0b3B0aW9ucyxcblx0XHRhZGFwdGVyLFxuXHR9KTtcbn1cbiJdLCJuYW1lcyI6WyJQaW5vRXh0ZW5zaW9ucyIsIndpdGhQaW5vIiwiZmFjdG9yeSIsImNvbmZpZyIsImxvZ0xldmVsIiwiY29uZmlndXJlU2NyaWJlIiwid2l0aFBpbm9QcmV0dHkiLCJ0cmFuc3BvcnRzIiwidGFyZ2V0Iiwib3B0aW9ucyIsImNvbG9yaXplIiwid2l0aFBpbm9DdXN0b20iLCJzY3JpYmUiLCJlbnZpcm9ubWVudCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIkRlZmF1bHRFbnZpcm9ubWVudCIsImNvbmZpZ3MiLCJBcnJheSIsImlzQXJyYXkiLCJmaWx0ZXIiLCJsZW5ndGgiLCJMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yIiwidHJhbnNwb3J0IiwiYXQiLCJhZGFwdGVyIiwiUGlub0FkYXB0ZXIiLCJjb25maWd1cmUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBd0NhQTs7O2VBQUFBOzs7K0JBeENhO3dCQUMyQjt3QkFPOUM7OEJBT3FCOzs7Ozs7Ozs7O0FBeUJyQixNQUFNQTtJQUNaLE9BQ2NDLFNBQ2JDLE9BQWUsRUFDZkMsTUFBMkMsRUFDM0NDLFFBQWlDLEVBQ2hDO1FBQ0QsT0FBT0MsZ0JBQWdCSCxTQUFTO1lBQUVFO1FBQVMsR0FBR0Q7SUFDL0M7SUFFQSxPQUNjRyxlQUFlSixPQUFlLEVBQUVFLFFBQWlDLEVBQUU7UUFDaEYsT0FBT0osZUFBZUMsUUFBUSxDQUM3QkMsU0FDQTtZQUFFSyxZQUFZO2dCQUFFQyxRQUFRO2dCQUFlQyxTQUFTO29CQUFFQyxVQUFVO2dCQUFLO1lBQUU7UUFBRSxHQUNyRU47SUFFRjtJQUVBLE9BQ2NPLGVBQ2JULE9BQWUsRUFDZk8sT0FBMkMsRUFDMUM7UUFDRCxNQUFNLEVBQUVHLE1BQU0sRUFBRUwsVUFBVSxFQUFFLEdBQUdFO1FBQy9CLE9BQU9KLGdCQUFnQkgsU0FBU1UsUUFBUUw7SUFDekM7QUFDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxTQUFTRixnQkFDUkgsT0FBZSxFQUNmTyxPQUFxQyxFQUNyQ04sTUFBMkM7SUFFM0MsTUFBTVUsY0FBY0MsUUFBUUMsR0FBRyxDQUFDQyxRQUFRLElBQUlDLDBCQUFrQjtJQUM5RCxNQUFNQyxVQUFVQyxNQUFNQyxPQUFPLENBQUNqQixVQUFVQSxTQUFTO1FBQUNBO0tBQU87SUFDekQsTUFBTUksYUFBYVcsUUFBUUcsTUFBTSxDQUNoQyxDQUFDbEIsU0FBVyxBQUFDQSxPQUFPVSxXQUFXLElBQUlWLE9BQU9VLFdBQVcsS0FBS0EsZUFBZ0I7SUFHM0UsSUFBSU4sV0FBV2UsTUFBTSxHQUFHLEdBQUc7UUFDMUIsTUFBTSxJQUFJQyxpQ0FBeUIsQ0FDbEMsQ0FBQyxrRUFBa0UsQ0FBQztJQUV0RTtJQUVBLE1BQU1DLFlBQVlqQixXQUFXa0IsRUFBRSxDQUFDLElBQUlsQjtJQUNwQyxNQUFNbUIsVUFBVSxJQUFJQyx5QkFBVyxDQUFDO1FBQUVIO0lBQVU7SUFDNUMsT0FBT3RCLFFBQVEwQixTQUFTLENBQUM7UUFDeEJuQjtRQUNBaUI7SUFDRDtBQUNEIn0=
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvc2NyaWJlLXBpbm8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5zaW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgeyBEZWZhdWx0RW52aXJvbm1lbnQsIHR5cGUgRW52aXJvbm1lbnQgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL3N5c3RlbVwiO1xuaW1wb3J0IHtcblx0dHlwZSBEZWZhdWx0TGV2ZWxzLFxuXHREZWZhdWx0TG9nTGV2ZWwsXG5cdHR5cGUgTG9nZ2VyLFxuXHRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yLFxuXHR0eXBlIFNjcmliZU9wdGlvbnMsXG5cdHNjcmliZSxcbn0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcbmltcG9ydCBwaW5vLCB7XG5cdHR5cGUgRGVzdGluYXRpb25TdHJlYW0sXG5cdHR5cGUgVHJhbnNwb3J0TXVsdGlPcHRpb25zLFxuXHR0eXBlIFRyYW5zcG9ydFBpcGVsaW5lT3B0aW9ucyxcblx0dHlwZSBUcmFuc3BvcnRTaW5nbGVPcHRpb25zLFxufSBmcm9tIFwicGlub1wiO1xuXG5pbXBvcnQgeyBQaW5vQWRhcHRlciB9IGZyb20gXCIuL3Bpbm8uYWRhcGF0ZXIuanNcIjtcbmltcG9ydCB7XG5cdHR5cGUgUGlub1ByZXR0eVJlY2lwZU9wdGlvbnMsXG5cdHR5cGUgUGlub1JlY2lwZVBsYW4sXG5cdHR5cGUgUGlub1JvbGxSZWNpcGVPcHRpb25zLFxuXHRwaW5vUmVjaXBlLFxufSBmcm9tIFwiLi9waW5vLnJlY2lwZS5qc1wiO1xuaW1wb3J0IHsgdHlwZSBHdWFyZGVkVHJhbnNwb3J0LCBndWFyZFRyYW5zcG9ydCB9IGZyb20gXCIuL3Bpbm8udHJhbnNwb3J0LWd1YXJkLmpzXCI7XG5cbmV4cG9ydCB0eXBlIHsgR3VhcmRlZFRyYW5zcG9ydCB9IGZyb20gXCIuL3Bpbm8udHJhbnNwb3J0LWd1YXJkLmpzXCI7XG5leHBvcnQgeyBndWFyZFRyYW5zcG9ydCB9IGZyb20gXCIuL3Bpbm8udHJhbnNwb3J0LWd1YXJkLmpzXCI7XG5cbnR5cGUgVHJhbnNwb3J0T3B0aW9ucyA9XG5cdHwgVHJhbnNwb3J0U2luZ2xlT3B0aW9uc1xuXHR8IFRyYW5zcG9ydE11bHRpT3B0aW9uc1xuXHR8IFRyYW5zcG9ydFBpcGVsaW5lT3B0aW9ucztcblxudHlwZSBUcmFuc3BvcnRDb25maWcgPSB7XG5cdGVudmlyb25tZW50PzogRW52aXJvbm1lbnQ7XG5cdHRyYW5zcG9ydHM6IFRyYW5zcG9ydE9wdGlvbnM7XG59O1xuXG50eXBlIEN1c3RvbUxldmVsT3B0aW9uczxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPiA9IHtcblx0c2NyaWJlPzogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pjtcblx0dHJhbnNwb3J0cz86IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgUGlub0xvZ2dlckZhY3RvcnkgPSAobmFtZT86IHN0cmluZykgPT4gTG9nZ2VyO1xuXG5leHBvcnQgdHlwZSBQaW5vUmVjaXBlQ2hhaW4gPSB7XG5cdHdpdGhQaW5vUHJldHR5KFxuXHRcdGxvZ0xldmVsT3JPcHRpb25zPzogRGVmYXVsdExldmVscyB8IHN0cmluZyB8IFBpbm9QcmV0dHlSZWNpcGVPcHRpb25zLFxuXHQpOiBQaW5vUmVjaXBlO1xuXHR3aXRoUGlub1JvbGwob3B0aW9uczogUGlub1JvbGxSZWNpcGVPcHRpb25zKTogUGlub1JlY2lwZTtcbn07XG5cbmV4cG9ydCB0eXBlIFBpbm9SZWNpcGUgPSBQaW5vTG9nZ2VyRmFjdG9yeSAmXG5cdFBpbm9SZWNpcGVDaGFpbiAmIHtcblx0XHRyZWFkb25seSBhbmQ6IFBpbm9SZWNpcGVDaGFpbjtcblx0fTtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjb2hlcmUvc2NyaWJlXCIge1xuXHRpbnRlcmZhY2Ugc2NyaWJlIHtcblx0XHR3aXRoUGlubyhcblx0XHRcdHRyYW5zcG9ydHM6IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdLFxuXHRcdFx0bG9nbGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nLFxuXHRcdCk6IFBpbm9Mb2dnZXJGYWN0b3J5O1xuXHRcdC8qKlxuXHRcdCAqIENvbG9yaXplZCBwcmV0dHkgdHJhbnNwb3J0LiBEZXZlbG9wbWVudCBvbmx5IHVubGVzcyBgeyB3aGVuOiBcImFsd2F5c1wiIH1gLlxuXHRcdCAqIENoYWluIHdpdGggYC5hbmQud2l0aFBpbm9Sb2xsKHsgZmlsZSB9KWAuIFByb2R1Y3Rpb24gd3JpdGVzIEpTT04gdG8gc3Rkb3V0XG5cdFx0ICogc28gbG9nIHNoaXBwaW5nIHN0YXlzIG91dHNpZGUgdGhlIHByb2Nlc3MuXG5cdFx0ICovXG5cdFx0d2l0aFBpbm9QcmV0dHkoXG5cdFx0XHRsb2dMZXZlbE9yT3B0aW9ucz86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmcgfCBQaW5vUHJldHR5UmVjaXBlT3B0aW9ucyxcblx0XHQpOiBQaW5vUmVjaXBlO1xuXHRcdC8qKlxuXHRcdCAqIFJvbGxpbmcgbG9nIGZpbGVzLiBEZXZlbG9wbWVudCBvbmx5IHVubGVzcyBgeyB3aGVuOiBcImFsd2F5c1wiIH1gLlxuXHRcdCAqIERvIG5vdCBlbmFibGUgaW4gcHJvZHVjdGlvbiDigJQgc2hpcCBzdGRvdXQgZnJvbSBhIHNpZGVjYXIgb3IgcGxhdGZvcm0gYWdlbnQuXG5cdFx0ICogYHN5bWxpbmtgIGRlZmF1bHRzIG9mZjsgZW5hYmxpbmcgaXQgY2FuIHJhY2UgdW5kZXIgbXVsdGktd29ya2VyIC8gSE1SLlxuXHRcdCAqL1xuXHRcdHdpdGhQaW5vUm9sbChvcHRpb25zOiBQaW5vUm9sbFJlY2lwZU9wdGlvbnMpOiBQaW5vUmVjaXBlO1xuXHRcdHdpdGhQaW5vQ3VzdG9tPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgPSB1bmRlZmluZWQ+KFxuXHRcdFx0b3B0aW9ucz86IEN1c3RvbUxldmVsT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0XHQpOiBQaW5vTG9nZ2VyRmFjdG9yeTtcblx0fVxuXHRuYW1lc3BhY2Ugc2NyaWJlIHtcblx0XHRmdW5jdGlvbiB3aXRoUGlubyhcblx0XHRcdHRyYW5zcG9ydHM6IFRyYW5zcG9ydENvbmZpZyB8IFRyYW5zcG9ydENvbmZpZ1tdLFxuXHRcdFx0bG9nbGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nLFxuXHRcdCk6IFBpbm9Mb2dnZXJGYWN0b3J5O1xuXHRcdGZ1bmN0aW9uIHdpdGhQaW5vUHJldHR5KFxuXHRcdFx0bG9nTGV2ZWxPck9wdGlvbnM/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nIHwgUGlub1ByZXR0eVJlY2lwZU9wdGlvbnMsXG5cdFx0KTogUGlub1JlY2lwZTtcblx0XHRmdW5jdGlvbiB3aXRoUGlub1JvbGwob3B0aW9uczogUGlub1JvbGxSZWNpcGVPcHRpb25zKTogUGlub1JlY2lwZTtcblx0XHRmdW5jdGlvbiB3aXRoUGlub0N1c3RvbTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPihcblx0XHRcdG9wdGlvbnM/OiBDdXN0b21MZXZlbE9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdFx0KTogUGlub0xvZ2dlckZhY3Rvcnk7XG5cdH1cbn1cblxuZXhwb3J0IGNsYXNzIFBpbm9FeHRlbnNpb25zIHtcblx0QGV4dGVuc2lvbihzY3JpYmUsIHsgc3RhdGljOiB0cnVlIH0pXG5cdHB1YmxpYyBzdGF0aWMgd2l0aFBpbm8oXG5cdFx0ZmFjdG9yeTogc2NyaWJlLFxuXHRcdGNvbmZpZzogVHJhbnNwb3J0Q29uZmlnIHwgVHJhbnNwb3J0Q29uZmlnW10sXG5cdFx0bG9nTGV2ZWw/OiBEZWZhdWx0TGV2ZWxzIHwgc3RyaW5nLFxuXHQpIHtcblx0XHRyZXR1cm4gY29uZmlndXJlU2NyaWJlKGZhY3RvcnksIHsgbG9nTGV2ZWwgfSwgY29uZmlnKTtcblx0fVxuXG5cdEBleHRlbnNpb24oc2NyaWJlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuXHRwdWJsaWMgc3RhdGljIHdpdGhQaW5vUHJldHR5KFxuXHRcdGZhY3Rvcnk6IHNjcmliZSxcblx0XHRsb2dMZXZlbE9yT3B0aW9ucz86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmcgfCBQaW5vUHJldHR5UmVjaXBlT3B0aW9ucyxcblx0KSB7XG5cdFx0Y29uc3QgcHJldHR5ID0gcGFyc2VQcmV0dHlBcmcobG9nTGV2ZWxPck9wdGlvbnMpO1xuXHRcdHJldHVybiBhdHRhY2hSZWNpcGUoZmFjdG9yeSwgeyBwcmV0dHksIGxvZ0xldmVsOiBwcmV0dHkubG9nTGV2ZWwgfSk7XG5cdH1cblxuXHRAZXh0ZW5zaW9uKHNjcmliZSwgeyBzdGF0aWM6IHRydWUgfSlcblx0cHVibGljIHN0YXRpYyB3aXRoUGlub1JvbGwoZmFjdG9yeTogc2NyaWJlLCBvcHRpb25zOiBQaW5vUm9sbFJlY2lwZU9wdGlvbnMpIHtcblx0XHRyZXR1cm4gYXR0YWNoUmVjaXBlKGZhY3RvcnksIHsgcm9sbDogb3B0aW9ucywgbG9nTGV2ZWw6IG9wdGlvbnMubG9nTGV2ZWwgfSk7XG5cdH1cblxuXHRAZXh0ZW5zaW9uKHNjcmliZSwgeyBzdGF0aWM6IHRydWUgfSlcblx0cHVibGljIHN0YXRpYyB3aXRoUGlub0N1c3RvbTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPihcblx0XHRmYWN0b3J5OiBzY3JpYmUsXG5cdFx0b3B0aW9ucz86IEN1c3RvbUxldmVsT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0Y29uc3QgeyBzY3JpYmUsIHRyYW5zcG9ydHMgfSA9IG9wdGlvbnMgPz8ge307XG5cdFx0cmV0dXJuIGNvbmZpZ3VyZVNjcmliZShmYWN0b3J5LCBzY3JpYmUsIHRyYW5zcG9ydHMpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHBhcnNlUHJldHR5QXJnKFxuXHRsb2dMZXZlbE9yT3B0aW9ucz86IERlZmF1bHRMZXZlbHMgfCBzdHJpbmcgfCBQaW5vUHJldHR5UmVjaXBlT3B0aW9ucyxcbik6IFBpbm9QcmV0dHlSZWNpcGVPcHRpb25zIHtcblx0aWYgKGxvZ0xldmVsT3JPcHRpb25zID09IG51bGwpIHtcblx0XHRyZXR1cm4ge307XG5cdH1cblx0aWYgKHR5cGVvZiBsb2dMZXZlbE9yT3B0aW9ucyA9PT0gXCJzdHJpbmdcIikge1xuXHRcdHJldHVybiB7IGxvZ0xldmVsOiBsb2dMZXZlbE9yT3B0aW9ucyB9O1xuXHR9XG5cdHJldHVybiBsb2dMZXZlbE9yT3B0aW9ucztcbn1cblxuZnVuY3Rpb24gYXR0YWNoUmVjaXBlKGZhY3Rvcnk6IHNjcmliZSwgcGxhbjogUGlub1JlY2lwZVBsYW4pOiBQaW5vUmVjaXBlIHtcblx0Y29uc3QgbG9nZ2VyRmFjdG9yeSA9IGFwcGx5UmVjaXBlKGZhY3RvcnksIHBsYW4pO1xuXHRjb25zdCBjaGFpbjogUGlub1JlY2lwZUNoYWluID0ge1xuXHRcdHdpdGhQaW5vUHJldHR5KGxvZ0xldmVsT3JPcHRpb25zKSB7XG5cdFx0XHRjb25zdCBwcmV0dHkgPSBwYXJzZVByZXR0eUFyZyhsb2dMZXZlbE9yT3B0aW9ucyk7XG5cdFx0XHRyZXR1cm4gYXR0YWNoUmVjaXBlKGZhY3RvcnksIHtcblx0XHRcdFx0Li4ucGxhbixcblx0XHRcdFx0cHJldHR5OiB7IC4uLnBsYW4ucHJldHR5LCAuLi5wcmV0dHkgfSxcblx0XHRcdFx0bG9nTGV2ZWw6IHByZXR0eS5sb2dMZXZlbCA/PyBwbGFuLmxvZ0xldmVsLFxuXHRcdFx0fSk7XG5cdFx0fSxcblx0XHR3aXRoUGlub1JvbGwob3B0aW9ucykge1xuXHRcdFx0cmV0dXJuIGF0dGFjaFJlY2lwZShmYWN0b3J5LCB7XG5cdFx0XHRcdC4uLnBsYW4sXG5cdFx0XHRcdHJvbGw6IG9wdGlvbnMsXG5cdFx0XHRcdGxvZ0xldmVsOiBvcHRpb25zLmxvZ0xldmVsID8/IHBsYW4ubG9nTGV2ZWwsXG5cdFx0XHR9KTtcblx0XHR9LFxuXHR9O1xuXHRyZXR1cm4gT2JqZWN0LmFzc2lnbihsb2dnZXJGYWN0b3J5LCBjaGFpbiwgeyBhbmQ6IGNoYWluIH0pO1xufVxuXG4vKipcbiAqIEd1YXJkIGEgd29ya2VyIHRyYW5zcG9ydCBzbyBmYWlsdXJlcyAocm9sbCBFRVhJU1QsIHdvcmtlciBleGl0KSBuZWl0aGVyXG4gKiBjcmFzaCB0aGUgcHJvY2VzcyBub3Igc3BhbSBzdGRlcnIgb24gZXZlcnkgc3Vic2VxdWVudCBsb2cgd3JpdGUuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVNhZmVUcmFuc3BvcnQob3B0aW9uczogVHJhbnNwb3J0T3B0aW9ucyk6IERlc3RpbmF0aW9uU3RyZWFtIHtcblx0cmV0dXJuIGd1YXJkVHJhbnNwb3J0KHBpbm8udHJhbnNwb3J0KG9wdGlvbnMpKTtcbn1cblxuZnVuY3Rpb24gYWRhcHRlckZvclRyYW5zcG9ydCh0cmFuc3BvcnQ/OiBUcmFuc3BvcnRPcHRpb25zKTogUGlub0FkYXB0ZXIge1xuXHRpZiAodHJhbnNwb3J0ID09IG51bGwpIHtcblx0XHRyZXR1cm4gbmV3IFBpbm9BZGFwdGVyKHt9KTtcblx0fVxuXHRyZXR1cm4gbmV3IFBpbm9BZGFwdGVyKHt9LCBjcmVhdGVTYWZlVHJhbnNwb3J0KHRyYW5zcG9ydCkpO1xufVxuXG5mdW5jdGlvbiBhcHBseVJlY2lwZShmYWN0b3J5OiBzY3JpYmUsIHBsYW46IFBpbm9SZWNpcGVQbGFuKTogUGlub0xvZ2dlckZhY3Rvcnkge1xuXHRjb25zdCBhZGFwdGVyID0gYWRhcHRlckZvclRyYW5zcG9ydChwaW5vUmVjaXBlLnRyYW5zcG9ydChwbGFuKSk7XG5cdHJldHVybiBmYWN0b3J5LmNvbmZpZ3VyZSh7XG5cdFx0b3B0aW9uczogeyBsb2dMZXZlbDogcGxhbi5sb2dMZXZlbCA/PyBEZWZhdWx0TG9nTGV2ZWwgfSxcblx0XHRhZGFwdGVyLFxuXHR9KTtcbn1cblxuZnVuY3Rpb24gY29uZmlndXJlU2NyaWJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0ZmFjdG9yeTogc2NyaWJlLFxuXHRvcHRpb25zOiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHRjb25maWc/OiBUcmFuc3BvcnRDb25maWcgfCBUcmFuc3BvcnRDb25maWdbXSxcbikge1xuXHRjb25zdCBlbnZpcm9ubWVudCA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID8/IERlZmF1bHRFbnZpcm9ubWVudDtcblx0Y29uc3QgY29uZmlncyA9IChBcnJheS5pc0FycmF5KGNvbmZpZykgPyBjb25maWcgOiBjb25maWcgIT0gbnVsbCA/IFtjb25maWddIDogW10pLmZpbHRlcihcblx0XHQoaXRlbSkgPT4gaXRlbS5lbnZpcm9ubWVudCA9PSBudWxsIHx8IGl0ZW0uZW52aXJvbm1lbnQgPT09IGVudmlyb25tZW50LFxuXHQpO1xuXG5cdGlmIChjb25maWdzLmxlbmd0aCA+IDEpIHtcblx0XHR0aHJvdyBuZXcgTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvcihcblx0XHRcdGBUaGVyZSBzaG91bGQgb25seSBiZSBvbmUgY29uZmlndXJhdGlvbiBwZXIgZW52aXJvbm1lbnQgZm9yIGxvZ2dpbmdgLFxuXHRcdCk7XG5cdH1cblxuXHRjb25zdCBhZGFwdGVyID0gYWRhcHRlckZvclRyYW5zcG9ydChjb25maWdzLmF0KDApPy50cmFuc3BvcnRzKTtcblx0cmV0dXJuIGZhY3RvcnkuY29uZmlndXJlKHtcblx0XHRvcHRpb25zOiB7IC4uLm9wdGlvbnMsIGxvZ0xldmVsOiBvcHRpb25zPy5sb2dMZXZlbCA/PyBEZWZhdWx0TG9nTGV2ZWwgfSxcblx0XHRhZGFwdGVyLFxuXHR9KTtcbn1cblxuLyoqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgZ3VhcmRUcmFuc3BvcnR9IOKAlCBrZXB0IGZvciBjYWxsZXJzL3Rlc3RzIGZyb20gdGhlIHNpbGVuY2Utb25seSBlcmEuICovXG5mdW5jdGlvbiBzaWxlbmNlRXJyb3JzKHRyYW5zcG9ydDoge1xuXHRvbihldmVudDogXCJlcnJvclwiLCBsaXN0ZW5lcjogKGVycjogRXJyb3IpID0+IHZvaWQpOiB1bmtub3duO1xuXHR3cml0ZT86ICguLi5hcmdzOiBuZXZlcltdKSA9PiB1bmtub3duO1xufSk6IEd1YXJkZWRUcmFuc3BvcnQge1xuXHRyZXR1cm4gZ3VhcmRUcmFuc3BvcnQodHJhbnNwb3J0IGFzIERlc3RpbmF0aW9uU3RyZWFtKTtcbn1cblxuZXhwb3J0IGNvbnN0IHBpbm9UcmFuc3BvcnQgPSB7IGNyZWF0ZVNhZmVUcmFuc3BvcnQsIGd1YXJkVHJhbnNwb3J0LCBzaWxlbmNlRXJyb3JzIH07XG4iXSwibmFtZXMiOlsiUGlub0V4dGVuc2lvbnMiLCJndWFyZFRyYW5zcG9ydCIsInBpbm9UcmFuc3BvcnQiLCJ3aXRoUGlubyIsImZhY3RvcnkiLCJjb25maWciLCJsb2dMZXZlbCIsImNvbmZpZ3VyZVNjcmliZSIsIndpdGhQaW5vUHJldHR5IiwibG9nTGV2ZWxPck9wdGlvbnMiLCJwcmV0dHkiLCJwYXJzZVByZXR0eUFyZyIsImF0dGFjaFJlY2lwZSIsIndpdGhQaW5vUm9sbCIsIm9wdGlvbnMiLCJyb2xsIiwid2l0aFBpbm9DdXN0b20iLCJzY3JpYmUiLCJ0cmFuc3BvcnRzIiwic3RhdGljIiwicGxhbiIsImxvZ2dlckZhY3RvcnkiLCJhcHBseVJlY2lwZSIsImNoYWluIiwiT2JqZWN0IiwiYXNzaWduIiwiYW5kIiwiY3JlYXRlU2FmZVRyYW5zcG9ydCIsInBpbm8iLCJ0cmFuc3BvcnQiLCJhZGFwdGVyRm9yVHJhbnNwb3J0IiwiUGlub0FkYXB0ZXIiLCJhZGFwdGVyIiwicGlub1JlY2lwZSIsImNvbmZpZ3VyZSIsIkRlZmF1bHRMb2dMZXZlbCIsImVudmlyb25tZW50IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiRGVmYXVsdEVudmlyb25tZW50IiwiY29uZmlncyIsIkFycmF5IiwiaXNBcnJheSIsImZpbHRlciIsIml0ZW0iLCJsZW5ndGgiLCJMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yIiwiYXQiLCJzaWxlbmNlRXJyb3JzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQWlHYUE7ZUFBQUE7O1FBdEVKQztlQUFBQSxrQ0FBYzs7UUFnTVZDO2VBQUFBOzs7K0JBM05hO3dCQUMyQjt3QkFROUM7NkRBTUE7OEJBRXFCOzRCQU1yQjtvQ0FDK0M7Ozs7Ozs7Ozs7Ozs7OztBQXlFL0MsTUFBTUY7SUFDWixPQUNjRyxTQUNiQyxPQUFlLEVBQ2ZDLE1BQTJDLEVBQzNDQyxRQUFpQyxFQUNoQztRQUNELE9BQU9DLGdCQUFnQkgsU0FBUztZQUFFRTtRQUFTLEdBQUdEO0lBQy9DO0lBRUEsT0FDY0csZUFDYkosT0FBZSxFQUNmSyxpQkFBb0UsRUFDbkU7UUFDRCxNQUFNQyxTQUFTQyxlQUFlRjtRQUM5QixPQUFPRyxhQUFhUixTQUFTO1lBQUVNO1lBQVFKLFVBQVVJLE9BQU9KLFFBQVE7UUFBQztJQUNsRTtJQUVBLE9BQ2NPLGFBQWFULE9BQWUsRUFBRVUsT0FBOEIsRUFBRTtRQUMzRSxPQUFPRixhQUFhUixTQUFTO1lBQUVXLE1BQU1EO1lBQVNSLFVBQVVRLFFBQVFSLFFBQVE7UUFBQztJQUMxRTtJQUVBLE9BQ2NVLGVBQ2JaLE9BQWUsRUFDZlUsT0FBMkMsRUFDMUM7UUFDRCxNQUFNLEVBQUVHLE1BQU0sRUFBRUMsVUFBVSxFQUFFLEdBQUdKLFdBQVcsQ0FBQztRQUMzQyxPQUFPUCxnQkFBZ0JILFNBQVNhLFFBQVFDO0lBQ3pDO0FBQ0Q7OztRQS9Cc0JDLFFBQVE7Ozs7Ozs7Ozs7OztRQVNSQSxRQUFROzs7Ozs7Ozs7OztRQVNSQSxRQUFROzs7Ozs7Ozs7OztRQUtSQSxRQUFROzs7Ozs7Ozs7QUFVOUIsU0FBU1IsZUFDUkYsaUJBQW9FO0lBRXBFLElBQUlBLHFCQUFxQixNQUFNO1FBQzlCLE9BQU8sQ0FBQztJQUNUO0lBQ0EsSUFBSSxPQUFPQSxzQkFBc0Is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
|
package/es6/src/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./pino.adapater.js";
|
|
2
|
+
export * from "./pino.recipe.js";
|
|
2
3
|
export * from "./scribe-pino.js";
|
|
3
4
|
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcGluby5hZGFwYXRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGluby5yZWNpcGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NjcmliZS1waW5vLmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyxtQkFBbUIifQ==
|