@storm-stack/log-stream
Version:
A package containing a Storm Stack log adapter to write logs to a stream
2 lines (1 loc) • 866 B
JavaScript
function c(t,e){return t.__type=e,t}import{defaultTextFormatter as d}from"./formatter";export function getSink(t,e={}){const s=e.formatter??d,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/%?&'];