@basic-streams/take-until

takeUntil operator for basic-streams

Usage no npm install needed!

<script type="module">
  import basicStreamsTakeUntil from 'https://cdn.skypack.dev/@basic-streams/take-until';
</script>

README

@basic-streams/take-until

takeUntil<T>(controller: Stream<any>, stream: Stream<T>): Stream<T>

Creates a stream containing values from the given stream that are produced before the first event in the controller stream.

import ofMany from "@basic-streams/of-many"
import later from "@basic-streams/later"
import takeUntil from "@basic-streams/take-until"

const stream = ofMany([1, 2, 3], 5000)
const controller = later(12000, 0)

const result = takeUntil(controller, stream)

result(x => {
  console.log(x)
})

// > 1
// > 2

// stream:     ____1____2_!
// controller: ___________0!
// result:     ____1____2