@logtape/logtape 0.2.0-dev.19 → 0.2.0-dev.20
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/esm/sink.js
CHANGED
|
@@ -27,11 +27,17 @@ export function getStreamSink(stream, options = {}) {
|
|
|
27
27
|
const formatter = options.formatter ?? defaultTextFormatter;
|
|
28
28
|
const encoder = options.encoder ?? new TextEncoder();
|
|
29
29
|
const writer = stream.getWriter();
|
|
30
|
+
let lastPromise = Promise.resolve();
|
|
30
31
|
const sink = (record) => {
|
|
31
32
|
const bytes = encoder.encode(formatter(record));
|
|
32
|
-
|
|
33
|
+
lastPromise = lastPromise
|
|
34
|
+
.then(() => writer.ready)
|
|
35
|
+
.then(() => writer.write(bytes));
|
|
36
|
+
};
|
|
37
|
+
sink[Symbol.asyncDispose] = async () => {
|
|
38
|
+
await lastPromise;
|
|
39
|
+
await writer.close();
|
|
33
40
|
};
|
|
34
|
-
sink[Symbol.dispose] = () => writer.close();
|
|
35
41
|
return sink;
|
|
36
42
|
}
|
|
37
43
|
/**
|
package/package.json
CHANGED
package/script/sink.js
CHANGED
|
@@ -30,11 +30,17 @@ function getStreamSink(stream, options = {}) {
|
|
|
30
30
|
const formatter = options.formatter ?? formatter_js_1.defaultTextFormatter;
|
|
31
31
|
const encoder = options.encoder ?? new TextEncoder();
|
|
32
32
|
const writer = stream.getWriter();
|
|
33
|
+
let lastPromise = Promise.resolve();
|
|
33
34
|
const sink = (record) => {
|
|
34
35
|
const bytes = encoder.encode(formatter(record));
|
|
35
|
-
|
|
36
|
+
lastPromise = lastPromise
|
|
37
|
+
.then(() => writer.ready)
|
|
38
|
+
.then(() => writer.write(bytes));
|
|
39
|
+
};
|
|
40
|
+
sink[Symbol.asyncDispose] = async () => {
|
|
41
|
+
await lastPromise;
|
|
42
|
+
await writer.close();
|
|
36
43
|
};
|
|
37
|
-
sink[Symbol.dispose] = () => writer.close();
|
|
38
44
|
return sink;
|
|
39
45
|
}
|
|
40
46
|
exports.getStreamSink = getStreamSink;
|
package/types/sink.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ export interface StreamSinkOptions {
|
|
|
53
53
|
* @param options The options for the sink.
|
|
54
54
|
* @returns A sink that writes to the stream.
|
|
55
55
|
*/
|
|
56
|
-
export declare function getStreamSink(stream: dntShim.WritableStream, options?: StreamSinkOptions): Sink &
|
|
56
|
+
export declare function getStreamSink(stream: dntShim.WritableStream, options?: StreamSinkOptions): Sink & AsyncDisposable;
|
|
57
57
|
/**
|
|
58
58
|
* Options for the {@link getConsoleSink} function.
|
|
59
59
|
*/
|
package/types/sink.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../src/sink.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,KAAK,gBAAgB,EAGrB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,CAAC,cAAc,EAC9B,OAAO,GAAE,iBAAsB,GAC9B,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../src/sink.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,KAAK,gBAAgB,EAGrB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,CAAC,cAAc,EAC9B,OAAO,GAAE,iBAAsB,GAC9B,IAAI,GAAG,eAAe,CAgBxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,IAAI,CAYrE;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAE9C;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,GAC/C,IAAI,GAAG,UAAU,CAUnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/async/0.222.1/delay.ts"],"names":[],"mappings":";AAMA,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B3E"}
|