skipUntil
Skip operator that skips data emissions from the source stream until the trigger stream resolves once, then passes through subsequent data.
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