@storm-stack/log-stream
Version:
A package containing a Storm Stack log adapter to write logs to a stream
24 lines (23 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getSink = getSink;
var _formatter = require("./formatter.cjs");
function c(t, e) {
return t.__type = e, t;
}
function getSink(t, e = {}) {
const s = e.formatter ?? _formatter.defaultTextFormatter,
n = e.encoder ?? new TextEncoder(),
r = t.getWriter();
let a = Promise.resolve();
const o = c(i => {
const m = n.encode(s(i));
a = a.then(async () => r.ready).then(async () => r.write(m));
}, ["LogRecord", "record", "", 'P"w!2""/#']);
return o[Symbol.asyncDispose] = async () => {
await a, await r.close();
}, o;
}
getSink.__type = ["stream", "options", () => ({}), "LogSink", "getSink", "A factory that returns a sink that writes to a {@link WritableStream}.\n\nNote that the `stream` is of Web Streams API, which is different from\nNode.js streams. You can convert a Node.js stream to a Web Streams API\nstream using [`stream.Writable.toWeb()`] method.\n\n[`stream.Writable.toWeb()`]: https://nodejs.org/api/stream.html#streamwritabletowebstreamwritable", 'P!2!!2">#P"w$!K/%?&'];