push-stream-std

@push-stream-std/push-take-until (0.0.10)

Published 2026-07-21 15:53:20 +00:00 by Dvorak in push-stream-std/push-take-until

Installation

@push-stream-std:registry=https://hub.kl1.tenere.ai/api/packages/push-stream-std/npm/
npm install @push-stream-std/push-take-until@0.0.10
"@push-stream-std/push-take-until": "0.0.10"

About this package

@push-stream-std/push-take-until

Take values from a source stream until a signal stream emits or ends.

Published as @push-stream-std/push-take-until.

Synopsis

import takeUntil from '@push-stream-std/push-take-until';

const signal = pushable();
const untilSignal = takeUntil(signal);

values([1, 2, 3, 4, 5]).pipe(untilSignal).pipe(collect(function (err, result) {
  console.log(result); // [1, 2] — signal ended after 2 values
}));

// End the signal stream to stop the outer stream
signal.end();

Install

npm config set @push-stream-std:registry https://hub.kl1.tenere.ai/api/packages/push-stream-std/npm/
npm config set -- //hub.kl1.tenere.ai/api/packages/push-stream-std/npm/:_authToken "$PACKAGE_TOKEN"
npm install @push-stream-std/push-take-until

Why

A push-stream through that passes through values from the source until the provided signal stream ends. When the signal stream ends (either normally or via abort), the take-until stream immediately ends the upstream source and downstream sink, closing the pipeline. This is useful for implementing cancellation patterns — for example, taking values from an event stream until a "stop" button is clicked.

API

takeUntil(signalStream)

Creates a take-until through stream.

  • signalStream object – A push-stream source. The take-until stream pipes the signal stream to an internal sink that tracks when the signal ends. When the signal's end() or abort() fires, the take-until stream ends.
  • Returns A through object with pipe(), write(), end(), abort(), resume(), source, paused, ended.

Tests

npm test

Tests cover passthrough before signal ends, stopping after signal end, normal end without signal, signal abort propagation, and idempotent signal end handling.

Requirements

Node.js 22 or later. ESM only.

Keywords

push-stream stream take until signal cancel
Details
npm
2026-07-21 15:53:20 +00:00
1
SEE LICENSE IN LICENSE
latest
3.3 KiB
Assets (1)
Versions (7) View all
0.0.10 2026-07-21
0.0.9 2026-07-21
0.0.8 2026-07-20
0.0.7 2026-07-20
0.0.6 2026-07-20