DEPRECATED: This was example implementation for v5 of RxJS, for v6 and beyond it has default endWith
operator.
rxjs-endWith
provides custom operator endWith
for RxJS v5, appends specified value at the end of source emission. This operator behaves opposite way of startWith
operator.
This module intended to provide simple, working example of creating custom operator without need of upstream PR to try to change core api surfaces. RxJS v5 and further version tries to reduce core api surface as much and strongly recommend user level custom operator module for extended behaviors. Featurewise, endWith
can be simply achieved via concat
operator in most cases so probably won't need to use this module directly.
Additional detailed walkthrough of creating custom operator can be found at core repo's guide as well as this post.
This has a peer dependencies of rxjs@5.*.*
, which will have to be installed as well
npm install rxjs-endwith
rxjs-endWith
does not patch / augment Observable
directly, instead provide higher order function as let
-able manner.
import * as Rx from 'rxjs';
import { endWith } from 'rxjs-endwith';
const values = [];
Rx.Observable.of(1, 2, 3).let(endWith(4)).subscribe(values.push.bind(values));
console.log(values); //1,2,3,4
Operator's signature is exactly identical to startWith
and can supply multiple values or schedulers as well.
.let(endWith(4, 5, 6))...
.let(endWith(5, Rx.Scheduler.asap))...
Few npm scripts are supported for build / test code.
build
: Transpiles code to ES5 commonjs todist
.build:clean
: Clean up existing buildtest
: Run unit test. Does not requirebuild
before execute test.lint
: Run lint over all codebaseslint:staged
: Run lint only for staged changes. This'll be executed automatically with precommit hook.commit
: Commit wizard to write commit message