@decohere/scribe-pino 0.0.1-dev.70 → 0.0.1-dev.72
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/pino.adapater.js +70 -18
- package/es6/src/pino.adapater.js +70 -18
- package/package.json +3 -3
|
@@ -76,17 +76,28 @@ class PinoAdapter extends _scribe.LogAdapter {
|
|
|
76
76
|
return;
|
|
77
77
|
}
|
|
78
78
|
this.disposed = true;
|
|
79
|
-
if (this._pino && !this.retired) {
|
|
80
|
-
await new Promise((resolve)=>{
|
|
81
|
-
try {
|
|
82
|
-
this._pino.flush(()=>resolve());
|
|
83
|
-
} catch {
|
|
84
|
-
resolve();
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
79
|
if (!this.retired) {
|
|
89
|
-
|
|
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
|
+
}
|
|
90
101
|
}
|
|
91
102
|
// Mark dead after graceful end (or immediately if already force-retired).
|
|
92
103
|
this.retire();
|
|
@@ -102,16 +113,57 @@ function destroyDestination(stream) {
|
|
|
102
113
|
}
|
|
103
114
|
}
|
|
104
115
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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") {
|
|
108
124
|
return Promise.resolve();
|
|
109
125
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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
|
+
}
|
|
114
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();
|
|
115
167
|
}
|
|
116
168
|
});
|
|
117
169
|
}
|
|
@@ -155,4 +207,4 @@ function pinoMix(logger) {
|
|
|
155
207
|
});
|
|
156
208
|
}
|
|
157
209
|
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvcGluby5hZGFwYXRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHR0eXBlIEJhc2VMb2dnZXIsXG5cdGZvcm1hdEVycm9yLFxuXHRMb2dBZGFwdGVyLFxuXHR0eXBlIExvZ2dlcixcblx0dHlwZSBTY3JpYmVPcHRpb25zLFxufSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHBpbm8sIHsgdHlwZSBMb2dGbiB9IGZyb20gXCJwaW5vXCI7XG5cbmltcG9ydCB0eXBlIHsgR3VhcmRlZFRyYW5zcG9ydCB9IGZyb20gXCIuL3Bpbm8udHJhbnNwb3J0LWd1YXJkLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFBpbm9BZGFwYXRlck9wdGlvbnMgPSB7XG5cdG9wdGlvbnM/OiBwaW5vLkxvZ2dlck9wdGlvbnM7XG5cdHN0cmVhbT86IHBpbm8uRGVzdGluYXRpb25TdHJlYW07XG59O1xuXG50eXBlIEVuZGFibGVTdHJlYW0gPSB7XG5cdGVuZD86IChjYj86IChlcnI/OiBFcnJvciB8IG51bGwpID0+IHZvaWQpID0+IHZvaWQ7XG5cdGRlc3Ryb3k/OiAoZXJyb3I/OiBFcnJvcikgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjbGFzcyBQaW5vQWRhcHRlciBleHRlbmRzIExvZ0FkYXB0ZXIge1xuXHRwcml2YXRlIF9waW5vOiBwaW5vLkxvZ2dlcjtcblx0cHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnM7XG5cdHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtOiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtIHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIGRpc3Bvc2VkID0gZmFsc2U7XG5cdHByaXZhdGUgcmV0aXJlZCA9IGZhbHNlO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnMsIHN0cmVhbT86IHBpbm8uRGVzdGluYXRpb25TdHJlYW0pIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cdFx0dGhpcy5zdHJlYW0gPSBzdHJlYW07XG5cdH1cblxuXHRwdWJsaWMgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRzY3JpYmVPcHRpb25zOiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHQpIHtcblx0XHRjb25zdCB7IGxvZ0xldmVsLCByZWRhY3Rpb25zIH0gPSBzY3JpYmVPcHRpb25zO1xuXHRcdGNvbnN0IGN1c3RvbUxldmVscyA9IHRoaXMuZ2V0TG9nTGV2ZWxzKHNjcmliZU9wdGlvbnMpO1xuXG5cdFx0Y29uc3QgcGlub09wdGlvbnM6IHBpbm8uTG9nZ2VyT3B0aW9ucyA9IHtcblx0XHRcdGN1c3RvbUxldmVscyxcblx0XHRcdGxldmVsOiBsb2dMZXZlbCxcblx0XHRcdGhvb2tzOiB7IGxvZ01ldGhvZCB9LFxuXHRcdFx0c2VyaWFsaXplcnM6IHtcblx0XHRcdFx0ZXJyb3I6IHBpbm8uc3RkU2VyaWFsaXplcnMuZXJyLFxuXHRcdFx0fSxcblx0XHRcdHJlZGFjdDogcmVkYWN0aW9ucyxcblx0XHRcdC4uLnRoaXMub3B0aW9ucyxcblx0XHR9O1xuXHRcdHRoaXMuX3Bpbm8gPSBwaW5vKHBpbm9PcHRpb25zLCB0aGlzLnN0cmVhbSk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0TG9nZ2VyPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRuYW1lOiBzdHJpbmcsXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgbG9nZ2VyID0gcGlub01peDxULCBDdXN0b21Pbmx5Pih0aGlzLl9waW5vLmNoaWxkKHsgbmFtZSB9KSk7XG5cdFx0cmV0dXJuIGxvZ2dlcjtcblx0fVxuXG5cdHB1YmxpYyBmbHVzaChjYj86ICgpID0+IHZvaWQpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5yZXRpcmVkIHx8ICF0aGlzLl9waW5vKSB7XG5cdFx0XHRjYj8uKCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuX3Bpbm8uZmx1c2goY2IpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEltbWVkaWF0ZWx5IHN0b3AgYWNjZXB0aW5nIHdyaXRlcyBpbnRvIHRoZSBkZXN0aW5hdGlvbiAoVGhyZWFkU3RyZWFtKS5cblx0ICogRG9lcyBub3Qgd2FpdCBmb3IgZmx1c2gg4oCUIHVzZSBgc3RvcCgpYCBmb3IgYXN5bmMgZHJhaW4gYWZ0ZXIgcmV0aXJlLlxuXHQgKi9cblx0cHVibGljIHJldGlyZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5yZXRpcmVkKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMucmV0aXJlZCA9IHRydWU7XG5cdFx0Y29uc3QgZ3VhcmRlZCA9IHRoaXMuc3RyZWFtIGFzIEd1YXJkZWRUcmFuc3BvcnQgfCB1bmRlZmluZWQ7XG5cdFx0aWYgKHR5cGVvZiBndWFyZGVkPy5yZXRpcmUgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0Z3VhcmRlZC5yZXRpcmUoXCJhZGFwdGVyIHJldGlyZWRcIik7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGRlc3Ryb3lEZXN0aW5hdGlvbih0aGlzLnN0cmVhbSk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0aGlzLmRpc3Bvc2VkKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuZGlzcG9zZWQgPSB0cnVlO1xuXHRcdGlmICh0aGlzLl9waW5vICYmICF0aGlzLnJldGlyZWQpIHtcblx0XHRcdGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0dGhpcy5fcGluby5mbHVzaCgoKSA9PiByZXNvbHZlKCkpO1xuXHRcdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0XHRyZXNvbHZlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRpZiAoIXRoaXMucmV0aXJlZCkge1xuXHRcdFx0YXdhaXQgZW5kRGVzdGluYXRpb24odGhpcy5zdHJlYW0pO1xuXHRcdH1cblx0XHQvLyBNYXJrIGRlYWQgYWZ0ZXIgZ3JhY2VmdWwgZW5kIChvciBpbW1lZGlhdGVseSBpZiBhbHJlYWR5IGZvcmNlLXJldGlyZWQpLlxuXHRcdHRoaXMucmV0aXJlKCk7XG5cdH1cbn1cblxuZnVuY3Rpb24gZGVzdHJveURlc3RpbmF0aW9uKHN0cmVhbTogcGluby5EZXN0aW5hdGlvblN0cmVhbSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuXHRjb25zdCBkZXN0cm95YWJsZSA9IHN0cmVhbSBhcyBFbmRhYmxlU3RyZWFtIHwgdW5kZWZpbmVkO1xuXHRpZiAodHlwZW9mIGRlc3Ryb3lhYmxlPy5kZXN0cm95ID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHR0cnkge1xuXHRcdFx0ZGVzdHJveWFibGUuZGVzdHJveSgpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0Ly8gYWxyZWFkeSBkZWFkXG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGVuZERlc3RpbmF0aW9uKHN0cmVhbTogcGluby5EZXN0aW5hdGlvblN0cmVhbSB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuXHRjb25zdCBlbmRhYmxlID0gc3RyZWFtIGFzIEVuZGFibGVTdHJlYW0gfCB1bmRlZmluZWQ7XG5cdGlmICh0eXBlb2YgZW5kYWJsZT8uZW5kICE9PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdH1cblx0cmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdGVuZGFibGUuZW5kKCgpID0+IHJlc29sdmUoKSk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXNvbHZlKCk7XG5cdFx0fVxuXHR9KTtcbn1cblxuZnVuY3Rpb24gbG9nTWV0aG9kKHRoaXM6IHBpbm8uTG9nZ2VyLCBhcmdzOiBQYXJhbWV0ZXJzPExvZ0ZuPiwgbWV0aG9kOiBMb2dGbikge1xuXHRsZXQgbWVzc2FnZSA9IGFyZ3MuYXQoMCk7XG5cdGNvbnN0IGRhdGEgPSBhcmdzLmF0KDEpO1xuXG5cdGlmIChtZXNzYWdlIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRtZXRob2QuY2FsbCh0aGlzLCB7IGVycjogbWVzc2FnZSB9LCBmb3JtYXRFcnJvcihtZXNzYWdlKSk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKGRhdGEgaW5zdGFuY2VvZiBFcnJvcikge1xuXHRcdG1lc3NhZ2UgPSB7IG1zZzogbWVzc2FnZSwgLi4ueyBlcnJvcjogZGF0YSB9IH07XG5cdH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09IFwib2JqZWN0XCIpIHtcblx0XHRtZXNzYWdlID0geyBtc2c6IG1lc3NhZ2UsIC4uLmRhdGEgfTtcblx0fSBlbHNlIHtcblx0XHRtZXNzYWdlID0geyBtc2c6IG1lc3NhZ2UsIGRhdGEgfTtcblx0fVxuXG5cdG1ldGhvZC5jYWxsKHRoaXMsIG1lc3NhZ2UpO1xufVxuXG5mdW5jdGlvbiBwaW5vTWl4PFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0bG9nZ2VyOiBwaW5vLkxvZ2dlcixcbik6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdHJldHVybiBPYmplY3QuYXNzaWduPHBpbm8uTG9nZ2VyLCBCYXNlTG9nZ2VyPihsb2dnZXIsIHtcblx0XHRnZXQgY3VycmVudExldmVsKCkge1xuXHRcdFx0cmV0dXJuIGxvZ2dlci5sZXZlbDtcblx0XHR9LFxuXHRcdGdldCBsb2dMZXZlbHMoKSB7XG5cdFx0XHRyZXR1cm4gbG9nZ2VyLmxldmVscy52YWx1ZXM7XG5cdFx0fSxcblx0fSkgYXMgTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xufVxuIl0sIm5hbWVzIjpbIlBpbm9BZGFwdGVyIiwiTG9nQWRhcHRlciIsIl9waW5vIiwib3B0aW9ucyIsInN0cmVhbSIsImRpc3Bvc2VkIiwicmV0aXJlZCIsImNvbmZpZ3VyZSIsInNjcmliZU9wdGlvbnMiLCJsb2dMZXZlbCIsInJlZGFjdGlvbnMiLCJjdXN0b21MZXZlbHMiLCJnZXRMb2dMZXZlbHMiLCJwaW5vT3B0aW9ucyIsImxldmVsIiwiaG9va3MiLCJsb2dNZXRob2QiLCJzZXJpYWxpemVycyIsImVycm9yIiwicGlubyIsInN0ZFNlcmlhbGl6ZXJzIiwiZXJyIiwicmVkYWN0IiwiZ2V0TG9nZ2VyIiwibmFtZSIsImxvZ2dlciIsInBpbm9NaXgiLCJjaGlsZCIsImZsdXNoIiwiY2IiLCJyZXRpcmUiLCJndWFyZGVkIiwiZGVzdHJveURlc3RpbmF0aW9uIiwiU3ltYm9sIiwiYXN5bmNEaXNwb3NlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJlbmREZXN0aW5hdGlvbiIsImRlc3Ryb3lhYmxlIiwiZGVzdHJveSIsImVuZGFibGUiLCJlbmQiLCJhcmdzIiwibWV0aG9kIiwibWVzc2FnZSIsImF0IiwiZGF0YSIsIkVycm9yIiwiY2FsbCIsImZvcm1hdEVycm9yIiwibXNnIiwiT2JqZWN0IiwiYXNzaWduIiwiY3VycmVudExldmVsIiwibG9nTGV2ZWxzIiwibGV2ZWxzIiwidmFsdWVzIl0sIm1hcHBpbmdzIjoiOzs7OytCQXFCYUE7OztlQUFBQTs7O3dCQWZOOzZEQUMwQjs7Ozs7O0FBYzFCLE1BQU1BLG9CQUFvQkMsa0JBQVU7SUFDbENDLE1BQW1CO0lBQ1ZDLFFBQTRCO0lBQzVCQyxPQUEyQztJQUNwREMsV0FBVyxNQUFNO0lBQ2pCQyxVQUFVLE1BQU07SUFFeEIsWUFBbUJILE9BQTJCLEVBQUVDLE1BQStCLENBQUU7UUFDaEYsS0FBSztRQUNMLElBQUksQ0FBQ0QsT0FBTyxHQUFHQTtRQUNmLElB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
|
|
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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
|
package/es6/src/pino.adapater.js
CHANGED
|
@@ -61,17 +61,28 @@ export class PinoAdapter extends LogAdapter {
|
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
63
|
this.disposed = true;
|
|
64
|
-
if (this._pino && !this.retired) {
|
|
65
|
-
await new Promise((resolve)=>{
|
|
66
|
-
try {
|
|
67
|
-
this._pino.flush(()=>resolve());
|
|
68
|
-
} catch {
|
|
69
|
-
resolve();
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
64
|
if (!this.retired) {
|
|
74
|
-
|
|
65
|
+
const dest = this.stream;
|
|
66
|
+
if (dest != null && typeof dest.end === "function") {
|
|
67
|
+
// pino.transport() is a ThreadStream: pino.flush() → Atomics.waitAsync can
|
|
68
|
+
// hang forever after concurrent writes. end() flushSyncs then signals
|
|
69
|
+
// finish/close (it does not accept a Node Writable callback).
|
|
70
|
+
await endDestination(dest);
|
|
71
|
+
} else if (this._pino) {
|
|
72
|
+
await new Promise((resolve, reject)=>{
|
|
73
|
+
try {
|
|
74
|
+
this._pino.flush((err)=>{
|
|
75
|
+
if (err != null) {
|
|
76
|
+
reject(err);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
resolve();
|
|
80
|
+
});
|
|
81
|
+
} catch (err) {
|
|
82
|
+
reject(err instanceof Error ? err : new Error(String(err)));
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
75
86
|
}
|
|
76
87
|
// Mark dead after graceful end (or immediately if already force-retired).
|
|
77
88
|
this.retire();
|
|
@@ -87,16 +98,57 @@ function destroyDestination(stream) {
|
|
|
87
98
|
}
|
|
88
99
|
}
|
|
89
100
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
101
|
+
/**
|
|
102
|
+
* Drain a pino destination.
|
|
103
|
+
*
|
|
104
|
+
* Node `Writable.end(cb)` invokes `cb`. `pino.transport()` returns a
|
|
105
|
+
* ThreadStream whose `end()` takes no callback and signals via `finish`/`close`
|
|
106
|
+
* instead — waiting only on `end(cb)` hangs forever and blocks Flux HMR.
|
|
107
|
+
*/ function endDestination(stream) {
|
|
108
|
+
if (typeof stream.end !== "function") {
|
|
93
109
|
return Promise.resolve();
|
|
94
110
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
111
|
+
if (stream.destroyed || stream.closed || stream.writableFinished) {
|
|
112
|
+
return Promise.resolve();
|
|
113
|
+
}
|
|
114
|
+
return new Promise((resolve, reject)=>{
|
|
115
|
+
let settled = false;
|
|
116
|
+
const settle = (err)=>{
|
|
117
|
+
if (settled) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
settled = true;
|
|
121
|
+
stream.off?.("finish", onFinish);
|
|
122
|
+
stream.off?.("close", onClose);
|
|
123
|
+
stream.off?.("error", onError);
|
|
124
|
+
if (err != null) {
|
|
125
|
+
reject(err);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
99
128
|
resolve();
|
|
129
|
+
};
|
|
130
|
+
const onFinish = ()=>settle();
|
|
131
|
+
const onClose = ()=>settle();
|
|
132
|
+
const onError = (err)=>{
|
|
133
|
+
// ThreadStream may emit error then close during teardown; closed = done.
|
|
134
|
+
if (stream.destroyed || stream.closed) {
|
|
135
|
+
settle();
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
settle(err);
|
|
139
|
+
};
|
|
140
|
+
stream.once?.("finish", onFinish);
|
|
141
|
+
stream.once?.("close", onClose);
|
|
142
|
+
stream.once?.("error", onError);
|
|
143
|
+
try {
|
|
144
|
+
stream.end((err)=>settle(err));
|
|
145
|
+
} catch (err) {
|
|
146
|
+
settle(err instanceof Error ? err : new Error(String(err)));
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// ThreadStream.end() is a no-op when already destroyed (no events).
|
|
150
|
+
if (stream.destroyed || stream.closed || stream.writableFinished) {
|
|
151
|
+
settle();
|
|
100
152
|
}
|
|
101
153
|
});
|
|
102
154
|
}
|
|
@@ -140,4 +192,4 @@ function pinoMix(logger) {
|
|
|
140
192
|
});
|
|
141
193
|
}
|
|
142
194
|
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUtcGluby9zcmMvcGluby5hZGFwYXRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHR0eXBlIEJhc2VMb2dnZXIsXG5cdGZvcm1hdEVycm9yLFxuXHRMb2dBZGFwdGVyLFxuXHR0eXBlIExvZ2dlcixcblx0dHlwZSBTY3JpYmVPcHRpb25zLFxufSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHBpbm8sIHsgdHlwZSBMb2dGbiB9IGZyb20gXCJwaW5vXCI7XG5cbmltcG9ydCB0eXBlIHsgR3VhcmRlZFRyYW5zcG9ydCB9IGZyb20gXCIuL3Bpbm8udHJhbnNwb3J0LWd1YXJkLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFBpbm9BZGFwYXRlck9wdGlvbnMgPSB7XG5cdG9wdGlvbnM/OiBwaW5vLkxvZ2dlck9wdGlvbnM7XG5cdHN0cmVhbT86IHBpbm8uRGVzdGluYXRpb25TdHJlYW07XG59O1xuXG50eXBlIEVuZGFibGVTdHJlYW0gPSB7XG5cdGVuZD86IChjYj86IChlcnI/OiBFcnJvciB8IG51bGwpID0+IHZvaWQpID0+IHZvaWQ7XG5cdGRlc3Ryb3k/OiAoZXJyb3I/OiBFcnJvcikgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjbGFzcyBQaW5vQWRhcHRlciBleHRlbmRzIExvZ0FkYXB0ZXIge1xuXHRwcml2YXRlIF9waW5vOiBwaW5vLkxvZ2dlcjtcblx0cHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnM7XG5cdHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtOiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtIHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIGRpc3Bvc2VkID0gZmFsc2U7XG5cdHByaXZhdGUgcmV0aXJlZCA9IGZhbHNlO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnMsIHN0cmVhbT86IHBpbm8uRGVzdGluYXRpb25TdHJlYW0pIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cdFx0dGhpcy5zdHJlYW0gPSBzdHJlYW07XG5cdH1cblxuXHRwdWJsaWMgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRzY3JpYmVPcHRpb25zOiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+LFxuXHQpIHtcblx0XHRjb25zdCB7IGxvZ0xldmVsLCByZWRhY3Rpb25zIH0gPSBzY3JpYmVPcHRpb25zO1xuXHRcdGNvbnN0IGN1c3RvbUxldmVscyA9IHRoaXMuZ2V0TG9nTGV2ZWxzKHNjcmliZU9wdGlvbnMpO1xuXG5cdFx0Y29uc3QgcGlub09wdGlvbnM6IHBpbm8uTG9nZ2VyT3B0aW9ucyA9IHtcblx0XHRcdGN1c3RvbUxldmVscyxcblx0XHRcdGxldmVsOiBsb2dMZXZlbCxcblx0XHRcdGhvb2tzOiB7IGxvZ01ldGhvZCB9LFxuXHRcdFx0c2VyaWFsaXplcnM6IHtcblx0XHRcdFx0ZXJyb3I6IHBpbm8uc3RkU2VyaWFsaXplcnMuZXJyLFxuXHRcdFx0fSxcblx0XHRcdHJlZGFjdDogcmVkYWN0aW9ucyxcblx0XHRcdC4uLnRoaXMub3B0aW9ucyxcblx0XHR9O1xuXHRcdHRoaXMuX3Bpbm8gPSBwaW5vKHBpbm9PcHRpb25zLCB0aGlzLnN0cmVhbSk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0TG9nZ2VyPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRuYW1lOiBzdHJpbmcsXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgbG9nZ2VyID0gcGlub01peDxULCBDdXN0b21Pbmx5Pih0aGlzLl9waW5vLmNoaWxkKHsgbmFtZSB9KSk7XG5cdFx0cmV0dXJuIGxvZ2dlcjtcblx0fVxuXG5cdHB1YmxpYyBmbHVzaChjYj86ICgpID0+IHZvaWQpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5yZXRpcmVkIHx8ICF0aGlzLl9waW5vKSB7XG5cdFx0XHRjYj8uKCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuX3Bpbm8uZmx1c2goY2IpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEltbWVkaWF0ZWx5IHN0b3AgYWNjZXB0aW5nIHdyaXRlcyBpbnRvIHRoZSBkZXN0aW5hdGlvbiAoVGhyZWFkU3RyZWFtKS5cblx0ICogRG9lcyBub3Qgd2FpdCBmb3IgZmx1c2gg4oCUIHVzZSBgc3RvcCgpYCBmb3IgYXN5bmMgZHJhaW4gYWZ0ZXIgcmV0aXJlLlxuXHQgKi9cblx0cHVibGljIHJldGlyZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5yZXRpcmVkKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMucmV0aXJlZCA9IHRydWU7XG5cdFx0Y29uc3QgZ3VhcmRlZCA9IHRoaXMuc3RyZWFtIGFzIEd1YXJkZWRUcmFuc3BvcnQgfCB1bmRlZmluZWQ7XG5cdFx0aWYgKHR5cGVvZiBndWFyZGVkPy5yZXRpcmUgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0Z3VhcmRlZC5yZXRpcmUoXCJhZGFwdGVyIHJldGlyZWRcIik7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGRlc3Ryb3lEZXN0aW5hdGlvbih0aGlzLnN0cmVhbSk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0aGlzLmRpc3Bvc2VkKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuZGlzcG9zZWQgPSB0cnVlO1xuXHRcdGlmICh0aGlzLl9waW5vICYmICF0aGlzLnJldGlyZWQpIHtcblx0XHRcdGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0dGhpcy5fcGluby5mbHVzaCgoKSA9PiByZXNvbHZlKCkpO1xuXHRcdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0XHRyZXNvbHZlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRpZiAoIXRoaXMucmV0aXJlZCkge1xuXHRcdFx0YXdhaXQgZW5kRGVzdGluYXRpb24odGhpcy5zdHJlYW0pO1xuXHRcdH1cblx0XHQvLyBNYXJrIGRlYWQgYWZ0ZXIgZ3JhY2VmdWwgZW5kIChvciBpbW1lZGlhdGVseSBpZiBhbHJlYWR5IGZvcmNlLXJldGlyZWQpLlxuXHRcdHRoaXMucmV0aXJlKCk7XG5cdH1cbn1cblxuZnVuY3Rpb24gZGVzdHJveURlc3RpbmF0aW9uKHN0cmVhbTogcGluby5EZXN0aW5hdGlvblN0cmVhbSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuXHRjb25zdCBkZXN0cm95YWJsZSA9IHN0cmVhbSBhcyBFbmRhYmxlU3RyZWFtIHwgdW5kZWZpbmVkO1xuXHRpZiAodHlwZW9mIGRlc3Ryb3lhYmxlPy5kZXN0cm95ID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHR0cnkge1xuXHRcdFx0ZGVzdHJveWFibGUuZGVzdHJveSgpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0Ly8gYWxyZWFkeSBkZWFkXG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGVuZERlc3RpbmF0aW9uKHN0cmVhbTogcGluby5EZXN0aW5hdGlvblN0cmVhbSB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuXHRjb25zdCBlbmRhYmxlID0gc3RyZWFtIGFzIEVuZGFibGVTdHJlYW0gfCB1bmRlZmluZWQ7XG5cdGlmICh0eXBlb2YgZW5kYWJsZT8uZW5kICE9PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdH1cblx0cmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdGVuZGFibGUuZW5kKCgpID0+IHJlc29sdmUoKSk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXNvbHZlKCk7XG5cdFx0fVxuXHR9KTtcbn1cblxuZnVuY3Rpb24gbG9nTWV0aG9kKHRoaXM6IHBpbm8uTG9nZ2VyLCBhcmdzOiBQYXJhbWV0ZXJzPExvZ0ZuPiwgbWV0aG9kOiBMb2dGbikge1xuXHRsZXQgbWVzc2FnZSA9IGFyZ3MuYXQoMCk7XG5cdGNvbnN0IGRhdGEgPSBhcmdzLmF0KDEpO1xuXG5cdGlmIChtZXNzYWdlIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRtZXRob2QuY2FsbCh0aGlzLCB7IGVycjogbWVzc2FnZSB9LCBmb3JtYXRFcnJvcihtZXNzYWdlKSk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKGRhdGEgaW5zdGFuY2VvZiBFcnJvcikge1xuXHRcdG1lc3NhZ2UgPSB7IG1zZzogbWVzc2FnZSwgLi4ueyBlcnJvcjogZGF0YSB9IH07XG5cdH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09IFwib2JqZWN0XCIpIHtcblx0XHRtZXNzYWdlID0geyBtc2c6IG1lc3NhZ2UsIC4uLmRhdGEgfTtcblx0fSBlbHNlIHtcblx0XHRtZXNzYWdlID0geyBtc2c6IG1lc3NhZ2UsIGRhdGEgfTtcblx0fVxuXG5cdG1ldGhvZC5jYWxsKHRoaXMsIG1lc3NhZ2UpO1xufVxuXG5mdW5jdGlvbiBwaW5vTWl4PFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0bG9nZ2VyOiBwaW5vLkxvZ2dlcixcbik6IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdHJldHVybiBPYmplY3QuYXNzaWduPHBpbm8uTG9nZ2VyLCBCYXNlTG9nZ2VyPihsb2dnZXIsIHtcblx0XHRnZXQgY3VycmVudExldmVsKCkge1xuXHRcdFx0cmV0dXJuIGxvZ2dlci5sZXZlbDtcblx0XHR9LFxuXHRcdGdldCBsb2dMZXZlbHMoKSB7XG5cdFx0XHRyZXR1cm4gbG9nZ2VyLmxldmVscy52YWx1ZXM7XG5cdFx0fSxcblx0fSkgYXMgTG9nZ2VyPFQsIEN1c3RvbU9ubHk+O1xufVxuIl0sIm5hbWVzIjpbImZvcm1hdEVycm9yIiwiTG9nQWRhcHRlciIsInBpbm8iLCJQaW5vQWRhcHRlciIsIl9waW5vIiwib3B0aW9ucyIsInN0cmVhbSIsImRpc3Bvc2VkIiwicmV0aXJlZCIsImNvbmZpZ3VyZSIsInNjcmliZU9wdGlvbnMiLCJsb2dMZXZlbCIsInJlZGFjdGlvbnMiLCJjdXN0b21MZXZlbHMiLCJnZXRMb2dMZXZlbHMiLCJwaW5vT3B0aW9ucyIsImxldmVsIiwiaG9va3MiLCJsb2dNZXRob2QiLCJzZXJpYWxpemVycyIsImVycm9yIiwic3RkU2VyaWFsaXplcnMiLCJlcnIiLCJyZWRhY3QiLCJnZXRMb2dnZXIiLCJuYW1lIiwibG9nZ2VyIiwicGlub01peCIsImNoaWxkIiwiZmx1c2giLCJjYiIsInJldGlyZSIsImd1YXJkZWQiLCJkZXN0cm95RGVzdGluYXRpb24iLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsImVuZERlc3RpbmF0aW9uIiwiZGVzdHJveWFibGUiLCJkZXN0cm95IiwiZW5kYWJsZSIsImVuZCIsImFyZ3MiLCJtZXRob2QiLCJtZXNzYWdlIiwiYXQiLCJkYXRhIiwiRXJyb3IiLCJjYWxsIiwibXNnIiwiT2JqZWN0IiwiYXNzaWduIiwiY3VycmVudExldmVsIiwibG9nTGV2ZWxzIiwibGV2ZWxzIiwidmFsdWVzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUVDQSxXQUFXLEVBQ1hDLFVBQVUsUUFHSixtQkFBbUI7QUFDMUIsT0FBT0MsVUFBMEIsT0FBTztBQWN4QyxPQUFPLE1BQU1DLG9CQUFvQkY7SUFDeEJHLE1BQW1CO0lBQ1ZDLFFBQTRCO0lBQzVCQyxPQUEyQztJQUNwREMsV0FBVyxNQUFNO0lBQ2pCQyxVQUFVLE1BQU07SUFFeEIsWUFBbUJILE9BQTJCLEVBQUVDLE1BQStCLENBQUU7UUFDaEYsS0FBSztRQUNMLElBQUksQ0FB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
|
|
195
|
+
//# 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+O1xufVxuIl0sIm5hbWVzIjpbImZvcm1hdEVycm9yIiwiTG9nQWRhcHRlciIsInBpbm8iLCJQaW5vQWRhcHRlciIsIl9waW5vIiwib3B0aW9ucyIsInN0cmVhbSIsImRpc3Bvc2VkIiwicmV0aXJlZCIsImNvbmZpZ3VyZSIsInNjcmliZU9wdGlvbnMiLCJsb2dMZXZlbCIsInJlZGFjdGlvbnMiLCJjdXN0b21MZXZlbHMiLCJnZXRMb2dMZXZlbHMiLCJwaW5vT3B0aW9ucyIsImxldmVsIiwiaG9va3MiLCJsb2dNZXRob2QiLCJzZXJpYWxpemVycyIsImVycm9yIiwic3RkU2VyaWFsaXplcnMiLCJlcnIiLCJyZWRhY3QiLCJnZXRMb2dnZXIiLCJuYW1lIiwibG9nZ2VyIiwicGlub01peCIsImNoaWxkIiwiZmx1c2giLCJjYiIsInJldGlyZSIsImd1YXJkZWQiLCJkZXN0cm95RGVzdGluYXRpb24iLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiLCJkZXN0IiwiZW5kIiwiZW5kRGVzdGluYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsIkVycm9yIiwiU3RyaW5nIiwiZGVzdHJveWFibGUiLCJkZXN0cm95IiwiZGVzdHJveWVkIiwiY2xvc2VkIiwid3JpdGFibGVGaW5pc2hlZCIsInNldHRsZWQiLCJzZXR0bGUiLCJvZmYiLCJvbkZpbmlzaCIsIm9uQ2xvc2UiLCJvbkVycm9yIiwib25jZSIsImFyZ3MiLCJtZXRob2QiLCJtZXNzYWdlIiwiYXQiLCJkYXRhIiwiY2FsbCIsIm1zZyIsIk9iamVjdCIsImFzc2lnbiIsImN1cnJlbnRMZXZlbCIsImxvZ0xldmVscyIsImxldmVscyIsInZhbHVlcyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FFQ0EsV0FBVyxFQUNYQyxVQUFVLFFBR0osbUJBQW1CO0FBQzFCLE9BQU9DLFVBQTBCLE9BQU87QUFzQnhDLE9BQU8sTUFBTUMsb0JBQW9CRjtJQUN4QkcsTUFBbUI7SUFDVkMsUUFBNEI7SUFDNUJDLE9BQTJDO0lBQ3BEQyxXQUFXLE1BQU07SUFDakJDLFVBQVUsTUFBTTtJQUV4QixZQUFtQkgsT0FBMkIsRUFBRUMsTUFBK0IsQ0FBRTtRQUNoRixLQUFLO1FBQ0wsSUFBSSxDQUFDRCxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO0lBQ2Y7SUFFT0csVUFDTkMsYUFBMkMsRUFDMUM7UUFDRCxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFLEdBQUdGO1FBQ2pDLE1BQU1HLGVBQWUsSUFBSSxDQUFDQyxZQUFZLENBQUNKO1FBRXZDLE1BQU1LLGNBQWtDO1lBQ3ZDRjtZQUNBRyxPQUFPTDtZQUNQTSxPQUFPO2dCQUFFQztZQUFVO1lBQ25CQyxhQUFhO2dCQUNaQyxPQUFPbEIsS0FBS21CLGNBQWMsQ0FBQ0MsR0FBRztZQUMvQjtZQUNBQyxRQUFRWDtZQUNSLEdBQUcsSUFBSSxDQUFDUCxPQUFPO1FB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decohere/scribe-pino",
|
|
3
|
-
"version": "0.0.1-dev.
|
|
3
|
+
"version": "0.0.1-dev.72",
|
|
4
4
|
"description": "Pino adapter for @decohere/scribe",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@decohere/nexus": "0.0.1-dev.
|
|
27
|
-
"@decohere/scribe": "0.0.1-dev.
|
|
26
|
+
"@decohere/nexus": "0.0.1-dev.72",
|
|
27
|
+
"@decohere/scribe": "0.0.1-dev.72",
|
|
28
28
|
"pino": "^10.3.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {},
|