API · Lifecycle
start()
Release a source whose automatic startup was disabled, typically after wiring reliable forks.
Signature
start(): Promise<void> Example
const source = exstream(rows)
const left = source.fork(true).map(leftTransform).toPromise()
const right = source.fork(true).map(rightTransform).toPromise()
await source.start()
const [a, b] = await Promise.all([left, right]) Behavior
Startup is scheduled for the next turn so downstream pipes can finish attaching. Concurrent calls return the same promise and the source starts once. The promise resolves when the gate is released, not when data processing finishes.
start() is not a terminal consumer and creates no downstream demand. Calling it on a pipeline with no attached sink leaves that pipeline paused. Use drain() to run and await a side-effecting pipeline. Calls after termination resolve harmlessly.