RxJS distributions
Introduction
RxJS has several distributions:
- The Core distribution, with two sub-modules, is a minimal implementation;
- The Main distribution is broken down between a main module and several sub-modules;
- The Lite distribution is similar to the Main one, but with different assignments: it includes a big part of the binding library, and part of the async one, so it is more usable without including other modules;
- The All distribution includes nearly everything, as the name implies.
As this is a bit confusing, I made a table out of the official doc, including all mistakes found in this manually generated doc, some of which I point out here, to help tracking them down.
The distributions
Numbers are size in KB of .min.js as of 4.0.6 around October 2015. To be used only as comparison between versions.
The file names with + are not in the documentation, I found them after installing RxJS. I guess they come from v.4, and that the doc is still about v.3.
File name | Id | Size (KiB) |
---|---|---|
Complete library | ||
rx.all.js | A | 139 |
Lite libraries | ||
rx.lite.js | L | 81 |
rx.lite.aggregates.js | LAg | 17 |
rx.lite.async.js | LAs | 4 |
rx.lite.backpressure.js + | 4 | |
rx.lite.coincidence.js | LCo | 7 |
rx.lite.experimental.js | LXp | 8 |
rx.lite.extras.js | LEx | 10 |
rx.lite.joinpatterns.js | LJp | 5 |
rx.lite.testing.js | LTe | 7 |
rx.lite.time.js | LTi | 9 |
rx.lite.virtualtime.js | LVt | 4 |
Main library | ||
rx.js | R | 72 |
rx.aggregates.js | RAg | 16 |
rx.async.js | RAs (needs RBi) | 7 |
rx.backpressure.js + | 8 | |
rx.binding.js | RBi | 7 |
rx.coincidence.js | RCo | 7 |
rx.experimental.js | RXp | 8 |
rx.joinpatterns.js | RJp | 5 |
rx.sorting.js + | 3 | |
rx.testing.js | RTe (needs RVt) | 7 |
rx.time.js | RTi | 16 |
rx.virtualtime.js | RVt | 4 |
Core library | ||
rx.core.js | C | 15 |
rx.core.binding.js | CBi | 10 |
rx.core.testing.js | CTe | 14 |
Included Observable Operators
Observable Methods
Method name | In All | Library id for Lite | Library id for Main | Library id for Core |
---|---|---|---|---|
amb | A | LEx | R | |
case | A | LXp | RXp | |
catch | A | L | R | |
concat | A | L | R | |
create | A | L | R | C |
defer | A | L | R | |
empty | A | L | R | |
for | A | LXp | RXp | |
forkJoin | A | LXp | RXp | |
from | A | L | R | |
fromArray | A | L | R | |
fromCallback | A | L | RAs | |
fromEvent | A | L | RAs | |
fromEventPattern | A | L | RAs | |
fromNodeCallback | A | L | RAs | |
fromPromise | A | L | RAs (4) | |
generate | A | LEx | R | |
generateWithAbsoluteTime | A | LTi | RTi | |
generateWithRelativeTime | A | LTi | RTi | |
if | A | LXp | RXp | |
interval | A | L | RTi | |
just | A | L | R | |
merge | A | L | R | |
mergeDelayError | A | L | R | |
never | A | L | R | |
of | A | L | R | |
ofArrayChanges | A | |||
ofWithScheduler | A | L | R | |
onErrorResumeNext | A | LEx | R | |
pairs | A | L | R | |
range | A | L | R | |
repeat | A | L | R | |
return | A | L | R | |
spawn | A | LAs | RAs | |
start | A | LAs | RAs | |
startAsync | A | LAs | RAs | |
throw | A | L | R | |
timer | A | L | RTi | |
toAsync | A | LAs | RAs | |
toPromise | RAs | |||
using | A | LEx | ||
when | A | LJp | RJp | |
while | A | LXp | RXp | |
wrap | A | RAs | ||
zip | A | L | R |
Observable Instance Methods (prototype)
(! marks functions also on object)
Method name | In All | Library id for Lite | Library id for Main | Library id for Core |
---|---|---|---|---|
aggregate | A | LAg | RAg | |
all | A | LAg | RAg | |
amb ! | A | LEx | R | |
and | A | LJp | RJp | |
any | A | LAg | RAg | |
asObservable | A | L | R | |
average | A | LAg | RAg | |
buffer | A | LCo | RCo | |
bufferWithCount | A | LEx | R | |
bufferWithTime | A | LTi | RTi | |
bufferWithTimeOrCount | A | LTi | RTi | |
catch ! | A | L | R | |
combineLatest | A | L | R | |
concat ! | A | L | R | |
concatAll | A | R | ||
concatMap | A | L | R | |
connect | A | L | RBi | CBi |
controlled | A | |||
count | A | LAg | RAg | |
debounce | A | L | RTi | |
defaultIfEmpty | A | L | R | |
delay | A | L | RTi | |
delaySubscription | A | LTi | RTi | |
dematerialize | A | L | ||
distinct | A | LEx | R | |
distinctUntilChanged | A | L | R | |
do | A | L | R | |
doOnNext | A | L | R | |
doOnError | A | L | R | |
doOnCompleted | A | L | R | |
doWhile | A | LXp | RXp | |
elementAt | A | LAg | RAg | |
every | A | LAg | RAg | |
expand | A | LXp | RXp | |
extend | A | LXp | RXp | |
filter | A | L | R | |
finally / ensure | A | L | R | |
find | A | LAg | RAg | |
findIndex | A | LAg | RAg | |
first | A | LAg | RAg | |
flatMap | A | L | R | |
flatMapFirst | A | LXp | RXp | |
flatMapLatest | A | L | R | |
flatMapObserver | A | R | ||
flatMapWithMaxConcurrent | A | LXp | RXp | |
forkJoin ! | A | LXp | RXp | |
groupBy | A | LCo | RCo | |
groupByUntil | A | LCo | RCo | |
groupJoin | A | LCo | RCo | |
ignoreElements | A | L | R | |
includes | A | LAg (5) | RAg (3) | |
indexOf | LAg | RAg | ||
isEmpty | A | LAg | RAg | |
join | A | LCo | RCo | |
last | A | LAg | RAg | |
lastIndexOf | A | LAg | RAg | |
let | A | LXp | RXp | |
manySelect | A | LXp | RXp | |
map | A | L | R | |
max | A | LAg | RAg | |
maxBy | A | LAg | RAg | |
merge ! | A | L | R | |
mergeAll | A | L | R | |
min | A | LAg | RAg | |
minBy | A | LAg | RAg | |
multicast | A | L | ||
observeOn | A | LEx | R | |
onErrorResumeNext | A | LEx | R | |
pairwise | A | LCo | RCo | |
partition | A | LCo | RCo | |
pausable | A | (L) | ||
pausableBuffered | A | |||
pluck | A | |||
publish | A | L | RBi | CBi |
publishLast | A | L | RBi | CBi |
publishValue | A | L | RBi | CBi |
refCount | A | L | RBi | CBi |
reduce | A | LAg | RAg | |
repeat | A | L | R | |
replay | A | L | RBi | CBi |
retry | A | L | R | |
retryWhen | A | L | R | |
sample | A | L & LTi | RTi | |
scan | A | L | R | |
select | A | L | R | |
selectConcat | A | L | R | |
selectMany | A | L | R | |
selectManyObserver | A | |||
sequenceEqual | A | LAg | RAg | |
selectSwitch | L | R | ||
selectSwitchFirst | LXp | RXp | ||
selectWithMaxConcurrent | LXp | RXp | ||
share | A (1) | RBi | CBi | |
shareLast | RBi | CBi | ||
shareReplay | A (1) | RBi | CBi | |
shareValue | A (1) | RBi | CBi | |
single | A | LAg | R & RAg | |
singleInstance | A | L | RBi | CBi |
skip | A | L | R | |
skipLast | A | L | R | |
skipLastWithTime | A | LTi | RTi | |
skipUntil | A | L | R | |
skipUntilWithTime | A | |||
skipWhile | A | L | R | |
slice | A | LAg | RAg | |
some | A | LAg | RAg | |
startWith | A | L | R | |
subscribe / forEach | A | L | R | |
subscribeOn | A | LEx | R (2) | |
subscribeOnNext | L | R | ||
subscribeOnError | L | R | ||
subscribeOnCompleted | L | R | ||
sum | A | LAg | RAg | |
switch / switchLatest | A | L | R | |
switchFirst | A | |||
take | A | L | R | |
takeLast | A | L | R | |
takeLastBuffer | A | LEx | ||
takeLastBufferWithTime | A | LTi | RTi | |
takeLastWithTime | A | LTi | RTi | |
takeUntil | A | L | R | |
takeUntilWithTime | A | |||
takeWhile | A | L | R | |
tap | A | L | ||
tapOnNext | A | L | ||
tapOnError | A | L | ||
tapOnCompleted | A | L | ||
thenDo | LJp | RJp | ||
throttle | A | L | RTi | |
timeInterval | A | LTi | RTi | |
timeout | A | L & LTi | RTi | |
timeoutWithSelector | LTi | |||
timestamp | A | L & LTi | RTi | |
toArray | A | L | R | |
toMap | LAg | RAg | ||
toPromise ? | L | |||
toSet | LAg | RAg | ||
transduce | L | R | ||
where | A | L | R | |
window | A | LCo | RCo | |
windowWithCount | A | LEx | R | |
windowWithTime | A | LTi | RTi | |
windowWithTimeOrCount | A | LTi | RTi | |
withLatestFrom | A | L | R | |
zip ! | A | L | R | |
zipIterable | A | L | R |
Included Classes
Core Objects
Class name | In All | Library id for Lite | Library id for Main | Library id for Core |
---|---|---|---|---|
Rx.Observer | A | L | R | C |
Rx.Observable | R | C | ||
Rx.Notification | A | L | R | CTe |
Subjects
Class name | In All | Library id for Lite | Library id for Main | Library id for Core |
---|---|---|---|---|
Rx.AsyncSubject | A | L | R | CBi |
Rx.BehaviorSubject | L | RBi | CBi | |
Rx.ReplaySubject | L | RBi | CBi | |
Rx.Subject | A | L | R | CBi |
Schedulers
Class name | In All | Library id for Lite | Library id for Main | Library id for Core |
---|---|---|---|---|
Rx.Scheduler | A | L | R | C |
Rx.TestScheduler | LTe | RTe | CTe | |
Rx.VirtualTimeScheduler | LVt | RVt | CTe | |
Rx.HistoricalScheduler | LVt | RVt |
Disposables
Class name | In All | Library id for Lite | Library id for Main | Library id for Core |
---|---|---|---|---|
Rx.CompositeDisposable | A | L | R | C |
Rx.Disposable | A | L | R | C |
Rx.RefCountDisposable | A | L | R | |
Rx.SerialDisposable | A | L | R | C |
Rx.SingleAssignmentDisposable | A | L | R | C |
Testing classes
Class name | In All | Library id for Lite | Library id for Main | Library id for Core |
---|---|---|---|---|
Rx.ReactiveTest | LTe | RTe | CTe | |
Rx.Recorded | LTe | RTe | CTe | |
Rx.Subscription | LTe | RTe | CTe | |
Rx.TestScheduler (see Schedulers above) |
(XYz): not in the lists, but found in the description of the operator.
(1): Out of order in the list at https://github.com/Reactive-Extensions/RxJS/blob/master/doc/libraries/main/rx.complete.md
Also some methods / classes are not in All?
(2): Out of order in the list at https://github.com/Reactive-Extensions/RxJS/blob/master/doc/libraries/main/rx.md
(3): Out of order in the list at https://github.com/Reactive-Extensions/RxJS/blob/master/doc/libraries/main/rx.aggregates.md
(4): Not in https://github.com/Reactive-Extensions/RxJS/blob/master/doc/libraries/main/rx.async.md
(5): Out of order in the list at https://github.com/Reactive-Extensions/RxJS/blob/master/doc/libraries/lite/rx.lite.aggregates.md