Skip to content

skipUntil

Skip operator that skips data emissions from the source stream until the trigger stream resolves once, then passes through subsequent data.

image

Type Definition

typescript
type skipUntil = <T>(trigger$: Stream | Observable) => (observable$: Observable<T>) => Observable<T>

Parameters

  • trigger$: Trigger stream or observable that enables data passing when it resolves

Details

  • Only the resolve state of trigger$ can enable data passing; reject states are ignored
  • Once enabled, all subsequent source stream data will be passed through normally
  • Previously resolved data before enabling will not be passed through retroactively
  • When downstream unsubscribes, trigger listeners are automatically cleaned up

Examples

Basic Usage

typescript
import { $, skipUntil } from 'fluth'

const source$ = $()
const trigger$ = $()
const result$ = source$.pipe(skipUntil(trigger$))

result$.then((value) => {
  console.log('Passed:', value)
})

// Data pushed before trigger is enabled will be skipped
source$.next(1) // Skipped, no output
source$.next(2) // Skipped, no output

// Enable trigger
trigger$.next('go')

// Subsequent data passes through normally
source$.next(3) // Output: Passed: 3
source$.next(4) // Output: Passed: 4