@sozai/stream
v0.2.1
Published
Web streams utilities
Readme
@sozai/stream
Web Streams creation, transformation, and JSON Lines encoding.
Installation
pnpm add @sozai/streamUsage
import { createReadable, createArraySink, tap, map, mapAsync } from '@sozai/stream'
const [source, controller] = createReadable<number>()
const [sink, result] = createArraySink<string>()
source
.pipeThrough(tap((n) => console.log('input:', n)))
.pipeThrough(map((n) => n * 2))
.pipeThrough(mapAsync(async (n) => `Value: ${n}`))
.pipeTo(sink)
controller.enqueue(1)
controller.enqueue(2)
controller.close()
// result resolves to ['Value: 2', 'Value: 4']Also provides createPipe, createConnection, writeTo, transform, toJSONLines, fromJSONLines, and JSONLinesError — see the stream reference (part of the sozai:dataflow skill) for the full API.
