Utilities for use with rxjs.
Emits an array of all emitted elements once, when the source completes.
import { interval } from 'rxjs';
import { take } from 'rxjs/operators';
import { bufferAll } from 'rxjs-util';
interval( 100 )
.pipe( take( 5 ), bufferAll() )
.subscribe();
/* Results:
[ 0, 1, 2, 3, 4 ]
*/
Emits an array of elements whenever a specified amount of time passes with no emissions.
This differs from bufferTime
in two significant ways:
- values are only emitted if the source emits values
- the time interval is specified in time between emissions, not absolute time slices
Emits an array of all emitted elements every time an element is emitted.
import { interval } from 'rxjs';
import { take } from 'rxjs/operators';
import { collect } from 'rxjs-util';
interval( 100 )
.pipe( take( 5 ), collect() )
.subscribe();
/* Results:
[ 0 ],
[ 0, 1 ],
[ 0, 1, 2 ],
[ 0, 1, 2, 3 ],
[ 0, 1, 2, 3, 4 ]
*/
Emits true
when source completes.
import assert from 'assert';
import { interval } from 'rxjs';
import { take } from 'rxjs/operators';
import { completed } from 'rxjs-util';
interval( 100 )
.pipe( take( 5 ), completed() )
.subscribe( value => {
assert.strictEqual( value, true );
} );
import assert from 'assert';
import { interval } from 'rxjs';
import { take } from 'rxjs/operators';
import { completed } from 'rxjs-util';
const example = interval( 100 ).pipe( take( 5 ) );
completed( example )
.subscribe( value => {
assert.strictEqual( value, true );
} );
Prevents falsy values and ArrayLike objects with a length equal to 0 from being emitted.
Prevents falsy values from being emitted.
Prevents infinite values from being emitted.
Prevents values that don't match a pattern from emitting (or those that do, with the negate
flag).
Prevents NaN
values from being emitted.
Prevents null
and undefined
values from being emitted.
Prevents any of the specified values from being emitted.
Calls console.error
whenever an error is signaled.
Unsubscribes from source whenever another Observer
emits a truthy value, and resubscribes when it emits a falsy value.
import { BehaviorSubject, interval } from 'rxjs';
import { pauseWith } from 'rxjs-util';
const paused = new BehaviorSubject( true );
interval( 100 )
.pipe( pauseWith( paused ) )
.subscribe();
Delays a specified number of milliseconds after each emission.
Calls console.log
whenever an element is emitted, an error is signaled, or the source completes.
Emits an Observable
of elements whenever a specified amount of time passes with no emissions.
This differs from windowTime
in two significant ways:
- values are only emitted if the source emits values
- the time interval is specified in time between emissions, not absolute time slices