rxjs-rails 2.2.17 → 2.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Rakefile +19 -0
- data/lib/rxjs/rails/version.rb +1 -1
- data/vendor/assets/javascripts/rx.aggregates.js +23 -23
- data/vendor/assets/javascripts/rx.aggregates.min.js +1 -1
- data/vendor/assets/javascripts/rx.async.compat.js +2 -2
- data/vendor/assets/javascripts/rx.async.compat.min.js +1 -1
- data/vendor/assets/javascripts/rx.async.js +2 -2
- data/vendor/assets/javascripts/rx.async.min.js +1 -1
- data/vendor/assets/javascripts/rx.backpressure.js +2 -2
- data/vendor/assets/javascripts/rx.backpressure.min.js +1 -1
- data/vendor/assets/javascripts/rx.binding.js +85 -85
- data/vendor/assets/javascripts/rx.coincidence.js +17 -17
- data/vendor/assets/javascripts/rx.coincidence.min.js +1 -1
- data/vendor/assets/javascripts/rx.compat.js +461 -456
- data/vendor/assets/javascripts/rx.compat.min.js +2 -2
- data/vendor/assets/javascripts/rx.experimental.js +31 -31
- data/vendor/assets/javascripts/rx.experimental.min.js +1 -1
- data/vendor/assets/javascripts/rx.joinpatterns.js +284 -284
- data/vendor/assets/javascripts/rx.joinpatterns.min.js +1 -1
- data/vendor/assets/javascripts/rx.js +446 -441
- data/vendor/assets/javascripts/rx.lite.compat.js +469 -464
- data/vendor/assets/javascripts/rx.lite.compat.min.js +2 -2
- data/vendor/assets/javascripts/rx.lite.js +469 -464
- data/vendor/assets/javascripts/rx.lite.min.js +2 -2
- data/vendor/assets/javascripts/rx.min.js +2 -2
- data/vendor/assets/javascripts/rx.testing.js +165 -165
- data/vendor/assets/javascripts/rx.time.js +19 -19
- data/vendor/assets/javascripts/rx.time.min.js +1 -1
- data/vendor/assets/javascripts/rx.virtualtime.js +2 -2
- metadata +3 -2
@@ -1,43 +1,48 @@
|
|
1
|
-
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
|
1
|
+
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
|
2
2
|
|
3
3
|
;(function (undefined) {
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
var objectTypes = {
|
6
|
+
'boolean': false,
|
7
|
+
'function': true,
|
8
|
+
'object': true,
|
9
|
+
'number': false,
|
10
|
+
'string': false,
|
11
|
+
'undefined': false
|
12
|
+
};
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
14
|
+
var root = (objectTypes[typeof window] && window) || this,
|
15
|
+
freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports,
|
16
|
+
freeModule = objectTypes[typeof module] && module && !module.nodeType && module,
|
17
|
+
moduleExports = freeModule && freeModule.exports === freeExports && freeExports,
|
18
|
+
freeGlobal = objectTypes[typeof global] && global;
|
19
|
+
|
20
|
+
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
|
21
|
+
root = freeGlobal;
|
22
|
+
}
|
23
23
|
|
24
|
-
|
24
|
+
var Rx = {
|
25
|
+
internals: {},
|
26
|
+
config: {
|
27
|
+
Promise: root.Promise // Detect if promise exists
|
28
|
+
}
|
29
|
+
};
|
25
30
|
|
26
|
-
// Defaults
|
27
|
-
function noop() { }
|
28
|
-
function identity(x) { return x; }
|
29
|
-
var defaultNow = (function () { return !!Date.now ? Date.now : function () { return +new Date; }; }());
|
30
|
-
function defaultComparer(x, y) { return isEqual(x, y); }
|
31
|
-
function defaultSubComparer(x, y) { return x - y; }
|
32
|
-
function defaultKeySerializer(x) { return x.toString(); }
|
33
|
-
function defaultError(err) { throw err; }
|
34
|
-
function isPromise(p) { return typeof p.then === 'function' && p.then !== Rx.Observable.prototype.then; }
|
35
|
-
|
36
|
-
// Errors
|
37
|
-
var sequenceContainsNoElements = 'Sequence contains no elements.';
|
38
|
-
var argumentOutOfRange = 'Argument out of range';
|
39
|
-
var objectDisposed = 'Object has been disposed';
|
40
|
-
function checkDisposed() { if (this.isDisposed) { throw new Error(objectDisposed); } }
|
31
|
+
// Defaults
|
32
|
+
function noop() { }
|
33
|
+
function identity(x) { return x; }
|
34
|
+
var defaultNow = (function () { return !!Date.now ? Date.now : function () { return +new Date; }; }());
|
35
|
+
function defaultComparer(x, y) { return isEqual(x, y); }
|
36
|
+
function defaultSubComparer(x, y) { return x - y; }
|
37
|
+
function defaultKeySerializer(x) { return x.toString(); }
|
38
|
+
function defaultError(err) { throw err; }
|
39
|
+
function isPromise(p) { return typeof p.then === 'function' && p.then !== Rx.Observable.prototype.then; }
|
40
|
+
|
41
|
+
// Errors
|
42
|
+
var sequenceContainsNoElements = 'Sequence contains no elements.';
|
43
|
+
var argumentOutOfRange = 'Argument out of range';
|
44
|
+
var objectDisposed = 'Object has been disposed';
|
45
|
+
function checkDisposed() { if (this.isDisposed) { throw new Error(objectDisposed); } }
|
41
46
|
|
42
47
|
// Shim in iterator support
|
43
48
|
var $iterator$ = (typeof Symbol === 'object' && Symbol.iterator) ||
|
@@ -502,100 +507,100 @@
|
|
502
507
|
};
|
503
508
|
}
|
504
509
|
|
505
|
-
// Collections
|
506
|
-
var IndexedItem = function (id, value) {
|
507
|
-
this.id = id;
|
508
|
-
this.value = value;
|
509
|
-
};
|
510
|
-
|
511
|
-
IndexedItem.prototype.compareTo = function (other) {
|
512
|
-
var c = this.value.compareTo(other.value);
|
513
|
-
if (c === 0) {
|
514
|
-
c = this.id - other.id;
|
515
|
-
}
|
516
|
-
return c;
|
517
|
-
};
|
518
|
-
|
519
|
-
// Priority Queue for Scheduling
|
520
|
-
var PriorityQueue = Rx.internals.PriorityQueue = function (capacity) {
|
521
|
-
this.items = new Array(capacity);
|
522
|
-
this.length = 0;
|
523
|
-
};
|
524
|
-
|
525
|
-
var priorityProto = PriorityQueue.prototype;
|
526
|
-
priorityProto.isHigherPriority = function (left, right) {
|
527
|
-
return this.items[left].compareTo(this.items[right]) < 0;
|
528
|
-
};
|
529
|
-
|
530
|
-
priorityProto.percolate = function (index) {
|
531
|
-
if (index >= this.length || index < 0) {
|
532
|
-
return;
|
533
|
-
}
|
534
|
-
var parent = index - 1 >> 1;
|
535
|
-
if (parent < 0 || parent === index) {
|
536
|
-
return;
|
537
|
-
}
|
538
|
-
if (this.isHigherPriority(index, parent)) {
|
539
|
-
var temp = this.items[index];
|
540
|
-
this.items[index] = this.items[parent];
|
541
|
-
this.items[parent] = temp;
|
542
|
-
this.percolate(parent);
|
543
|
-
}
|
544
|
-
};
|
545
|
-
|
546
|
-
priorityProto.heapify = function (index) {
|
547
|
-
if (index === undefined) {
|
548
|
-
index = 0;
|
549
|
-
}
|
550
|
-
if (index >= this.length || index < 0) {
|
551
|
-
return;
|
552
|
-
}
|
553
|
-
var left = 2 * index + 1,
|
554
|
-
right = 2 * index + 2,
|
555
|
-
first = index;
|
556
|
-
if (left < this.length && this.isHigherPriority(left, first)) {
|
557
|
-
first = left;
|
558
|
-
}
|
559
|
-
if (right < this.length && this.isHigherPriority(right, first)) {
|
560
|
-
first = right;
|
561
|
-
}
|
562
|
-
if (first !== index) {
|
563
|
-
var temp = this.items[index];
|
564
|
-
this.items[index] = this.items[first];
|
565
|
-
this.items[first] = temp;
|
566
|
-
this.heapify(first);
|
567
|
-
}
|
568
|
-
};
|
569
|
-
|
570
|
-
priorityProto.peek = function () { return this.items[0].value; };
|
571
|
-
|
572
|
-
priorityProto.removeAt = function (index) {
|
573
|
-
this.items[index] = this.items[--this.length];
|
574
|
-
delete this.items[this.length];
|
575
|
-
this.heapify();
|
576
|
-
};
|
577
|
-
|
578
|
-
priorityProto.dequeue = function () {
|
579
|
-
var result = this.peek();
|
580
|
-
this.removeAt(0);
|
581
|
-
return result;
|
582
|
-
};
|
583
|
-
|
584
|
-
priorityProto.enqueue = function (item) {
|
585
|
-
var index = this.length++;
|
586
|
-
this.items[index] = new IndexedItem(PriorityQueue.count++, item);
|
587
|
-
this.percolate(index);
|
588
|
-
};
|
589
|
-
|
590
|
-
priorityProto.remove = function (item) {
|
591
|
-
for (var i = 0; i < this.length; i++) {
|
592
|
-
if (this.items[i].value === item) {
|
593
|
-
this.removeAt(i);
|
594
|
-
return true;
|
595
|
-
}
|
596
|
-
}
|
597
|
-
return false;
|
598
|
-
};
|
510
|
+
// Collections
|
511
|
+
var IndexedItem = function (id, value) {
|
512
|
+
this.id = id;
|
513
|
+
this.value = value;
|
514
|
+
};
|
515
|
+
|
516
|
+
IndexedItem.prototype.compareTo = function (other) {
|
517
|
+
var c = this.value.compareTo(other.value);
|
518
|
+
if (c === 0) {
|
519
|
+
c = this.id - other.id;
|
520
|
+
}
|
521
|
+
return c;
|
522
|
+
};
|
523
|
+
|
524
|
+
// Priority Queue for Scheduling
|
525
|
+
var PriorityQueue = Rx.internals.PriorityQueue = function (capacity) {
|
526
|
+
this.items = new Array(capacity);
|
527
|
+
this.length = 0;
|
528
|
+
};
|
529
|
+
|
530
|
+
var priorityProto = PriorityQueue.prototype;
|
531
|
+
priorityProto.isHigherPriority = function (left, right) {
|
532
|
+
return this.items[left].compareTo(this.items[right]) < 0;
|
533
|
+
};
|
534
|
+
|
535
|
+
priorityProto.percolate = function (index) {
|
536
|
+
if (index >= this.length || index < 0) {
|
537
|
+
return;
|
538
|
+
}
|
539
|
+
var parent = index - 1 >> 1;
|
540
|
+
if (parent < 0 || parent === index) {
|
541
|
+
return;
|
542
|
+
}
|
543
|
+
if (this.isHigherPriority(index, parent)) {
|
544
|
+
var temp = this.items[index];
|
545
|
+
this.items[index] = this.items[parent];
|
546
|
+
this.items[parent] = temp;
|
547
|
+
this.percolate(parent);
|
548
|
+
}
|
549
|
+
};
|
550
|
+
|
551
|
+
priorityProto.heapify = function (index) {
|
552
|
+
if (index === undefined) {
|
553
|
+
index = 0;
|
554
|
+
}
|
555
|
+
if (index >= this.length || index < 0) {
|
556
|
+
return;
|
557
|
+
}
|
558
|
+
var left = 2 * index + 1,
|
559
|
+
right = 2 * index + 2,
|
560
|
+
first = index;
|
561
|
+
if (left < this.length && this.isHigherPriority(left, first)) {
|
562
|
+
first = left;
|
563
|
+
}
|
564
|
+
if (right < this.length && this.isHigherPriority(right, first)) {
|
565
|
+
first = right;
|
566
|
+
}
|
567
|
+
if (first !== index) {
|
568
|
+
var temp = this.items[index];
|
569
|
+
this.items[index] = this.items[first];
|
570
|
+
this.items[first] = temp;
|
571
|
+
this.heapify(first);
|
572
|
+
}
|
573
|
+
};
|
574
|
+
|
575
|
+
priorityProto.peek = function () { return this.items[0].value; };
|
576
|
+
|
577
|
+
priorityProto.removeAt = function (index) {
|
578
|
+
this.items[index] = this.items[--this.length];
|
579
|
+
delete this.items[this.length];
|
580
|
+
this.heapify();
|
581
|
+
};
|
582
|
+
|
583
|
+
priorityProto.dequeue = function () {
|
584
|
+
var result = this.peek();
|
585
|
+
this.removeAt(0);
|
586
|
+
return result;
|
587
|
+
};
|
588
|
+
|
589
|
+
priorityProto.enqueue = function (item) {
|
590
|
+
var index = this.length++;
|
591
|
+
this.items[index] = new IndexedItem(PriorityQueue.count++, item);
|
592
|
+
this.percolate(index);
|
593
|
+
};
|
594
|
+
|
595
|
+
priorityProto.remove = function (item) {
|
596
|
+
for (var i = 0; i < this.length; i++) {
|
597
|
+
if (this.items[i].value === item) {
|
598
|
+
this.removeAt(i);
|
599
|
+
return true;
|
600
|
+
}
|
601
|
+
}
|
602
|
+
return false;
|
603
|
+
};
|
599
604
|
PriorityQueue.count = 0;
|
600
605
|
/**
|
601
606
|
* Represents a group of disposable resources that are disposed together.
|
@@ -864,46 +869,46 @@
|
|
864
869
|
return RefCountDisposable;
|
865
870
|
})();
|
866
871
|
|
867
|
-
function ScheduledDisposable(scheduler, disposable) {
|
868
|
-
this.scheduler = scheduler;
|
869
|
-
this.disposable = disposable;
|
870
|
-
this.isDisposed = false;
|
871
|
-
}
|
872
|
-
|
873
|
-
ScheduledDisposable.prototype.dispose = function () {
|
874
|
-
var parent = this;
|
875
|
-
this.scheduler.schedule(function () {
|
876
|
-
if (!parent.isDisposed) {
|
877
|
-
parent.isDisposed = true;
|
878
|
-
parent.disposable.dispose();
|
879
|
-
}
|
880
|
-
});
|
881
|
-
};
|
882
|
-
|
883
|
-
var ScheduledItem = Rx.internals.ScheduledItem = function (scheduler, state, action, dueTime, comparer) {
|
884
|
-
this.scheduler = scheduler;
|
885
|
-
this.state = state;
|
886
|
-
this.action = action;
|
887
|
-
this.dueTime = dueTime;
|
888
|
-
this.comparer = comparer || defaultSubComparer;
|
889
|
-
this.disposable = new SingleAssignmentDisposable();
|
890
|
-
}
|
891
|
-
|
892
|
-
ScheduledItem.prototype.invoke = function () {
|
893
|
-
this.disposable.setDisposable(this.invokeCore());
|
894
|
-
};
|
895
|
-
|
896
|
-
ScheduledItem.prototype.compareTo = function (other) {
|
897
|
-
return this.comparer(this.dueTime, other.dueTime);
|
898
|
-
};
|
899
|
-
|
900
|
-
ScheduledItem.prototype.isCancelled = function () {
|
901
|
-
return this.disposable.isDisposed;
|
902
|
-
};
|
903
|
-
|
904
|
-
ScheduledItem.prototype.invokeCore = function () {
|
905
|
-
return this.action(this.scheduler, this.state);
|
906
|
-
};
|
872
|
+
function ScheduledDisposable(scheduler, disposable) {
|
873
|
+
this.scheduler = scheduler;
|
874
|
+
this.disposable = disposable;
|
875
|
+
this.isDisposed = false;
|
876
|
+
}
|
877
|
+
|
878
|
+
ScheduledDisposable.prototype.dispose = function () {
|
879
|
+
var parent = this;
|
880
|
+
this.scheduler.schedule(function () {
|
881
|
+
if (!parent.isDisposed) {
|
882
|
+
parent.isDisposed = true;
|
883
|
+
parent.disposable.dispose();
|
884
|
+
}
|
885
|
+
});
|
886
|
+
};
|
887
|
+
|
888
|
+
var ScheduledItem = Rx.internals.ScheduledItem = function (scheduler, state, action, dueTime, comparer) {
|
889
|
+
this.scheduler = scheduler;
|
890
|
+
this.state = state;
|
891
|
+
this.action = action;
|
892
|
+
this.dueTime = dueTime;
|
893
|
+
this.comparer = comparer || defaultSubComparer;
|
894
|
+
this.disposable = new SingleAssignmentDisposable();
|
895
|
+
}
|
896
|
+
|
897
|
+
ScheduledItem.prototype.invoke = function () {
|
898
|
+
this.disposable.setDisposable(this.invokeCore());
|
899
|
+
};
|
900
|
+
|
901
|
+
ScheduledItem.prototype.compareTo = function (other) {
|
902
|
+
return this.comparer(this.dueTime, other.dueTime);
|
903
|
+
};
|
904
|
+
|
905
|
+
ScheduledItem.prototype.isCancelled = function () {
|
906
|
+
return this.disposable.isDisposed;
|
907
|
+
};
|
908
|
+
|
909
|
+
ScheduledItem.prototype.invokeCore = function () {
|
910
|
+
return this.action(this.scheduler, this.state);
|
911
|
+
};
|
907
912
|
|
908
913
|
/** Provides a set of static properties to access commonly used schedulers. */
|
909
914
|
var Scheduler = Rx.Scheduler = (function () {
|
@@ -1171,54 +1176,54 @@
|
|
1171
1176
|
|
1172
1177
|
var normalizeTime = Scheduler.normalize;
|
1173
1178
|
|
1174
|
-
var SchedulePeriodicRecursive = Rx.internals.SchedulePeriodicRecursive = (function () {
|
1175
|
-
function tick(command, recurse) {
|
1176
|
-
recurse(0, this._period);
|
1177
|
-
try {
|
1178
|
-
this._state = this._action(this._state);
|
1179
|
-
} catch (e) {
|
1180
|
-
this._cancel.dispose();
|
1181
|
-
throw e;
|
1182
|
-
}
|
1183
|
-
}
|
1184
|
-
|
1185
|
-
function SchedulePeriodicRecursive(scheduler, state, period, action) {
|
1186
|
-
this._scheduler = scheduler;
|
1187
|
-
this._state = state;
|
1188
|
-
this._period = period;
|
1189
|
-
this._action = action;
|
1190
|
-
}
|
1191
|
-
|
1192
|
-
SchedulePeriodicRecursive.prototype.start = function () {
|
1193
|
-
var d = new SingleAssignmentDisposable();
|
1194
|
-
this._cancel = d;
|
1195
|
-
d.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0, this._period, tick.bind(this)));
|
1196
|
-
|
1197
|
-
return d;
|
1198
|
-
};
|
1199
|
-
|
1200
|
-
return SchedulePeriodicRecursive;
|
1201
|
-
}());
|
1202
|
-
|
1203
|
-
/**
|
1204
|
-
* Gets a scheduler that schedules work immediately on the current thread.
|
1205
|
-
*/
|
1206
|
-
var immediateScheduler = Scheduler.immediate = (function () {
|
1207
|
-
|
1208
|
-
function scheduleNow(state, action) { return action(this, state); }
|
1209
|
-
|
1210
|
-
function scheduleRelative(state, dueTime, action) {
|
1211
|
-
var dt = normalizeTime(dt);
|
1212
|
-
while (dt - this.now() > 0) { }
|
1213
|
-
return action(this, state);
|
1214
|
-
}
|
1215
|
-
|
1216
|
-
function scheduleAbsolute(state, dueTime, action) {
|
1217
|
-
return this.scheduleWithRelativeAndState(state, dueTime - this.now(), action);
|
1218
|
-
}
|
1219
|
-
|
1220
|
-
return new Scheduler(defaultNow, scheduleNow, scheduleRelative, scheduleAbsolute);
|
1221
|
-
}());
|
1179
|
+
var SchedulePeriodicRecursive = Rx.internals.SchedulePeriodicRecursive = (function () {
|
1180
|
+
function tick(command, recurse) {
|
1181
|
+
recurse(0, this._period);
|
1182
|
+
try {
|
1183
|
+
this._state = this._action(this._state);
|
1184
|
+
} catch (e) {
|
1185
|
+
this._cancel.dispose();
|
1186
|
+
throw e;
|
1187
|
+
}
|
1188
|
+
}
|
1189
|
+
|
1190
|
+
function SchedulePeriodicRecursive(scheduler, state, period, action) {
|
1191
|
+
this._scheduler = scheduler;
|
1192
|
+
this._state = state;
|
1193
|
+
this._period = period;
|
1194
|
+
this._action = action;
|
1195
|
+
}
|
1196
|
+
|
1197
|
+
SchedulePeriodicRecursive.prototype.start = function () {
|
1198
|
+
var d = new SingleAssignmentDisposable();
|
1199
|
+
this._cancel = d;
|
1200
|
+
d.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0, this._period, tick.bind(this)));
|
1201
|
+
|
1202
|
+
return d;
|
1203
|
+
};
|
1204
|
+
|
1205
|
+
return SchedulePeriodicRecursive;
|
1206
|
+
}());
|
1207
|
+
|
1208
|
+
/**
|
1209
|
+
* Gets a scheduler that schedules work immediately on the current thread.
|
1210
|
+
*/
|
1211
|
+
var immediateScheduler = Scheduler.immediate = (function () {
|
1212
|
+
|
1213
|
+
function scheduleNow(state, action) { return action(this, state); }
|
1214
|
+
|
1215
|
+
function scheduleRelative(state, dueTime, action) {
|
1216
|
+
var dt = normalizeTime(dt);
|
1217
|
+
while (dt - this.now() > 0) { }
|
1218
|
+
return action(this, state);
|
1219
|
+
}
|
1220
|
+
|
1221
|
+
function scheduleAbsolute(state, dueTime, action) {
|
1222
|
+
return this.scheduleWithRelativeAndState(state, dueTime - this.now(), action);
|
1223
|
+
}
|
1224
|
+
|
1225
|
+
return new Scheduler(defaultNow, scheduleNow, scheduleRelative, scheduleAbsolute);
|
1226
|
+
}());
|
1222
1227
|
|
1223
1228
|
/**
|
1224
1229
|
* Gets a scheduler that schedules work as soon as possible on the current thread.
|
@@ -1637,143 +1642,143 @@
|
|
1637
1642
|
};
|
1638
1643
|
}());
|
1639
1644
|
|
1640
|
-
var Enumerator = Rx.internals.Enumerator = function (next) {
|
1641
|
-
this._next = next;
|
1642
|
-
};
|
1643
|
-
|
1644
|
-
Enumerator.prototype.next = function () {
|
1645
|
-
return this._next();
|
1646
|
-
};
|
1647
|
-
|
1648
|
-
Enumerator.prototype[$iterator$] = function () { return this; }
|
1649
|
-
|
1650
|
-
var Enumerable = Rx.internals.Enumerable = function (iterator) {
|
1651
|
-
this._iterator = iterator;
|
1652
|
-
};
|
1653
|
-
|
1654
|
-
Enumerable.prototype[$iterator$] = function () {
|
1655
|
-
return this._iterator();
|
1656
|
-
};
|
1657
|
-
|
1658
|
-
Enumerable.prototype.concat = function () {
|
1659
|
-
var sources = this;
|
1660
|
-
return new AnonymousObservable(function (observer) {
|
1661
|
-
var e;
|
1662
|
-
try {
|
1663
|
-
e = sources[$iterator$]();
|
1664
|
-
} catch(err) {
|
1665
|
-
observer.onError();
|
1666
|
-
return;
|
1667
|
-
}
|
1668
|
-
|
1669
|
-
var isDisposed,
|
1670
|
-
subscription = new SerialDisposable();
|
1671
|
-
var cancelable = immediateScheduler.scheduleRecursive(function (self) {
|
1672
|
-
var currentItem;
|
1673
|
-
if (isDisposed) { return; }
|
1674
|
-
|
1675
|
-
try {
|
1676
|
-
currentItem = e.next();
|
1677
|
-
} catch (ex) {
|
1678
|
-
observer.onError(ex);
|
1679
|
-
return;
|
1680
|
-
}
|
1681
|
-
|
1682
|
-
if (currentItem.done) {
|
1683
|
-
observer.onCompleted();
|
1684
|
-
return;
|
1685
|
-
}
|
1686
|
-
|
1687
|
-
var d = new SingleAssignmentDisposable();
|
1688
|
-
subscription.setDisposable(d);
|
1689
|
-
d.setDisposable(currentItem.value.subscribe(
|
1690
|
-
observer.onNext.bind(observer),
|
1691
|
-
observer.onError.bind(observer),
|
1692
|
-
function () { self(); })
|
1693
|
-
);
|
1694
|
-
});
|
1695
|
-
|
1696
|
-
return new CompositeDisposable(subscription, cancelable, disposableCreate(function () {
|
1697
|
-
isDisposed = true;
|
1698
|
-
}));
|
1699
|
-
});
|
1700
|
-
};
|
1701
|
-
|
1702
|
-
Enumerable.prototype.catchException = function () {
|
1703
|
-
var sources = this;
|
1704
|
-
return new AnonymousObservable(function (observer) {
|
1705
|
-
var e;
|
1706
|
-
try {
|
1707
|
-
e = sources[$iterator$]();
|
1708
|
-
} catch(err) {
|
1709
|
-
observer.onError();
|
1710
|
-
return;
|
1711
|
-
}
|
1712
|
-
|
1713
|
-
var isDisposed,
|
1714
|
-
lastException,
|
1715
|
-
subscription = new SerialDisposable();
|
1716
|
-
var cancelable = immediateScheduler.scheduleRecursive(function (self) {
|
1717
|
-
if (isDisposed) { return; }
|
1718
|
-
|
1719
|
-
var currentItem;
|
1720
|
-
try {
|
1721
|
-
currentItem = e.next();
|
1722
|
-
} catch (ex) {
|
1723
|
-
observer.onError(ex);
|
1724
|
-
return;
|
1725
|
-
}
|
1726
|
-
|
1727
|
-
if (currentItem.done) {
|
1728
|
-
if (lastException) {
|
1729
|
-
observer.onError(lastException);
|
1730
|
-
} else {
|
1731
|
-
observer.onCompleted();
|
1732
|
-
}
|
1733
|
-
return;
|
1734
|
-
}
|
1735
|
-
|
1736
|
-
var d = new SingleAssignmentDisposable();
|
1737
|
-
subscription.setDisposable(d);
|
1738
|
-
d.setDisposable(currentItem.value.subscribe(
|
1739
|
-
observer.onNext.bind(observer),
|
1740
|
-
function (exn) {
|
1741
|
-
lastException = exn;
|
1742
|
-
self();
|
1743
|
-
},
|
1744
|
-
observer.onCompleted.bind(observer)));
|
1745
|
-
});
|
1746
|
-
return new CompositeDisposable(subscription, cancelable, disposableCreate(function () {
|
1747
|
-
isDisposed = true;
|
1748
|
-
}));
|
1749
|
-
});
|
1750
|
-
};
|
1751
|
-
|
1752
|
-
|
1753
|
-
var enumerableRepeat = Enumerable.repeat = function (value, repeatCount) {
|
1754
|
-
if (repeatCount == null) { repeatCount = -1; }
|
1755
|
-
return new Enumerable(function () {
|
1756
|
-
var left = repeatCount;
|
1757
|
-
return new Enumerator(function () {
|
1758
|
-
if (left === 0) { return doneEnumerator; }
|
1759
|
-
if (left > 0) { left--; }
|
1760
|
-
return { done: false, value: value };
|
1761
|
-
});
|
1762
|
-
});
|
1763
|
-
};
|
1764
|
-
|
1765
|
-
var enumerableFor = Enumerable.forEach = function (source, selector, thisArg) {
|
1766
|
-
selector || (selector = identity);
|
1767
|
-
return new Enumerable(function () {
|
1768
|
-
var index = -1;
|
1769
|
-
return new Enumerator(
|
1770
|
-
function () {
|
1771
|
-
return ++index < source.length ?
|
1772
|
-
{ done: false, value: selector.call(thisArg, source[index], index, source) } :
|
1773
|
-
doneEnumerator;
|
1774
|
-
});
|
1775
|
-
});
|
1776
|
-
};
|
1645
|
+
var Enumerator = Rx.internals.Enumerator = function (next) {
|
1646
|
+
this._next = next;
|
1647
|
+
};
|
1648
|
+
|
1649
|
+
Enumerator.prototype.next = function () {
|
1650
|
+
return this._next();
|
1651
|
+
};
|
1652
|
+
|
1653
|
+
Enumerator.prototype[$iterator$] = function () { return this; }
|
1654
|
+
|
1655
|
+
var Enumerable = Rx.internals.Enumerable = function (iterator) {
|
1656
|
+
this._iterator = iterator;
|
1657
|
+
};
|
1658
|
+
|
1659
|
+
Enumerable.prototype[$iterator$] = function () {
|
1660
|
+
return this._iterator();
|
1661
|
+
};
|
1662
|
+
|
1663
|
+
Enumerable.prototype.concat = function () {
|
1664
|
+
var sources = this;
|
1665
|
+
return new AnonymousObservable(function (observer) {
|
1666
|
+
var e;
|
1667
|
+
try {
|
1668
|
+
e = sources[$iterator$]();
|
1669
|
+
} catch(err) {
|
1670
|
+
observer.onError();
|
1671
|
+
return;
|
1672
|
+
}
|
1673
|
+
|
1674
|
+
var isDisposed,
|
1675
|
+
subscription = new SerialDisposable();
|
1676
|
+
var cancelable = immediateScheduler.scheduleRecursive(function (self) {
|
1677
|
+
var currentItem;
|
1678
|
+
if (isDisposed) { return; }
|
1679
|
+
|
1680
|
+
try {
|
1681
|
+
currentItem = e.next();
|
1682
|
+
} catch (ex) {
|
1683
|
+
observer.onError(ex);
|
1684
|
+
return;
|
1685
|
+
}
|
1686
|
+
|
1687
|
+
if (currentItem.done) {
|
1688
|
+
observer.onCompleted();
|
1689
|
+
return;
|
1690
|
+
}
|
1691
|
+
|
1692
|
+
var d = new SingleAssignmentDisposable();
|
1693
|
+
subscription.setDisposable(d);
|
1694
|
+
d.setDisposable(currentItem.value.subscribe(
|
1695
|
+
observer.onNext.bind(observer),
|
1696
|
+
observer.onError.bind(observer),
|
1697
|
+
function () { self(); })
|
1698
|
+
);
|
1699
|
+
});
|
1700
|
+
|
1701
|
+
return new CompositeDisposable(subscription, cancelable, disposableCreate(function () {
|
1702
|
+
isDisposed = true;
|
1703
|
+
}));
|
1704
|
+
});
|
1705
|
+
};
|
1706
|
+
|
1707
|
+
Enumerable.prototype.catchException = function () {
|
1708
|
+
var sources = this;
|
1709
|
+
return new AnonymousObservable(function (observer) {
|
1710
|
+
var e;
|
1711
|
+
try {
|
1712
|
+
e = sources[$iterator$]();
|
1713
|
+
} catch(err) {
|
1714
|
+
observer.onError();
|
1715
|
+
return;
|
1716
|
+
}
|
1717
|
+
|
1718
|
+
var isDisposed,
|
1719
|
+
lastException,
|
1720
|
+
subscription = new SerialDisposable();
|
1721
|
+
var cancelable = immediateScheduler.scheduleRecursive(function (self) {
|
1722
|
+
if (isDisposed) { return; }
|
1723
|
+
|
1724
|
+
var currentItem;
|
1725
|
+
try {
|
1726
|
+
currentItem = e.next();
|
1727
|
+
} catch (ex) {
|
1728
|
+
observer.onError(ex);
|
1729
|
+
return;
|
1730
|
+
}
|
1731
|
+
|
1732
|
+
if (currentItem.done) {
|
1733
|
+
if (lastException) {
|
1734
|
+
observer.onError(lastException);
|
1735
|
+
} else {
|
1736
|
+
observer.onCompleted();
|
1737
|
+
}
|
1738
|
+
return;
|
1739
|
+
}
|
1740
|
+
|
1741
|
+
var d = new SingleAssignmentDisposable();
|
1742
|
+
subscription.setDisposable(d);
|
1743
|
+
d.setDisposable(currentItem.value.subscribe(
|
1744
|
+
observer.onNext.bind(observer),
|
1745
|
+
function (exn) {
|
1746
|
+
lastException = exn;
|
1747
|
+
self();
|
1748
|
+
},
|
1749
|
+
observer.onCompleted.bind(observer)));
|
1750
|
+
});
|
1751
|
+
return new CompositeDisposable(subscription, cancelable, disposableCreate(function () {
|
1752
|
+
isDisposed = true;
|
1753
|
+
}));
|
1754
|
+
});
|
1755
|
+
};
|
1756
|
+
|
1757
|
+
|
1758
|
+
var enumerableRepeat = Enumerable.repeat = function (value, repeatCount) {
|
1759
|
+
if (repeatCount == null) { repeatCount = -1; }
|
1760
|
+
return new Enumerable(function () {
|
1761
|
+
var left = repeatCount;
|
1762
|
+
return new Enumerator(function () {
|
1763
|
+
if (left === 0) { return doneEnumerator; }
|
1764
|
+
if (left > 0) { left--; }
|
1765
|
+
return { done: false, value: value };
|
1766
|
+
});
|
1767
|
+
});
|
1768
|
+
};
|
1769
|
+
|
1770
|
+
var enumerableFor = Enumerable.forEach = function (source, selector, thisArg) {
|
1771
|
+
selector || (selector = identity);
|
1772
|
+
return new Enumerable(function () {
|
1773
|
+
var index = -1;
|
1774
|
+
return new Enumerator(
|
1775
|
+
function () {
|
1776
|
+
return ++index < source.length ?
|
1777
|
+
{ done: false, value: selector.call(thisArg, source[index], index, source) } :
|
1778
|
+
doneEnumerator;
|
1779
|
+
});
|
1780
|
+
});
|
1781
|
+
};
|
1777
1782
|
|
1778
1783
|
/**
|
1779
1784
|
* Supports push-style iteration over an observable sequence.
|
@@ -4186,48 +4191,48 @@
|
|
4186
4191
|
return AutoDetachObserver;
|
4187
4192
|
}(AbstractObserver));
|
4188
4193
|
|
4189
|
-
/** @private */
|
4190
|
-
var GroupedObservable = (function (_super) {
|
4191
|
-
inherits(GroupedObservable, _super);
|
4192
|
-
|
4193
|
-
function subscribe(observer) {
|
4194
|
-
return this.underlyingObservable.subscribe(observer);
|
4195
|
-
}
|
4196
|
-
|
4197
|
-
/**
|
4198
|
-
* @constructor
|
4199
|
-
* @private
|
4200
|
-
*/
|
4201
|
-
function GroupedObservable(key, underlyingObservable, mergedDisposable) {
|
4202
|
-
_super.call(this, subscribe);
|
4203
|
-
this.key = key;
|
4204
|
-
this.underlyingObservable = !mergedDisposable ?
|
4205
|
-
underlyingObservable :
|
4206
|
-
new AnonymousObservable(function (observer) {
|
4207
|
-
return new CompositeDisposable(mergedDisposable.getDisposable(), underlyingObservable.subscribe(observer));
|
4208
|
-
});
|
4209
|
-
}
|
4210
|
-
|
4211
|
-
return GroupedObservable;
|
4212
|
-
}(Observable));
|
4213
|
-
|
4214
|
-
/** @private */
|
4215
|
-
var InnerSubscription = function (subject, observer) {
|
4216
|
-
this.subject = subject;
|
4217
|
-
this.observer = observer;
|
4218
|
-
};
|
4219
|
-
|
4220
|
-
/**
|
4221
|
-
* @private
|
4222
|
-
* @memberOf InnerSubscription
|
4223
|
-
*/
|
4224
|
-
InnerSubscription.prototype.dispose = function () {
|
4225
|
-
if (!this.subject.isDisposed && this.observer !== null) {
|
4226
|
-
var idx = this.subject.observers.indexOf(this.observer);
|
4227
|
-
this.subject.observers.splice(idx, 1);
|
4228
|
-
this.observer = null;
|
4229
|
-
}
|
4230
|
-
};
|
4194
|
+
/** @private */
|
4195
|
+
var GroupedObservable = (function (_super) {
|
4196
|
+
inherits(GroupedObservable, _super);
|
4197
|
+
|
4198
|
+
function subscribe(observer) {
|
4199
|
+
return this.underlyingObservable.subscribe(observer);
|
4200
|
+
}
|
4201
|
+
|
4202
|
+
/**
|
4203
|
+
* @constructor
|
4204
|
+
* @private
|
4205
|
+
*/
|
4206
|
+
function GroupedObservable(key, underlyingObservable, mergedDisposable) {
|
4207
|
+
_super.call(this, subscribe);
|
4208
|
+
this.key = key;
|
4209
|
+
this.underlyingObservable = !mergedDisposable ?
|
4210
|
+
underlyingObservable :
|
4211
|
+
new AnonymousObservable(function (observer) {
|
4212
|
+
return new CompositeDisposable(mergedDisposable.getDisposable(), underlyingObservable.subscribe(observer));
|
4213
|
+
});
|
4214
|
+
}
|
4215
|
+
|
4216
|
+
return GroupedObservable;
|
4217
|
+
}(Observable));
|
4218
|
+
|
4219
|
+
/** @private */
|
4220
|
+
var InnerSubscription = function (subject, observer) {
|
4221
|
+
this.subject = subject;
|
4222
|
+
this.observer = observer;
|
4223
|
+
};
|
4224
|
+
|
4225
|
+
/**
|
4226
|
+
* @private
|
4227
|
+
* @memberOf InnerSubscription
|
4228
|
+
*/
|
4229
|
+
InnerSubscription.prototype.dispose = function () {
|
4230
|
+
if (!this.subject.isDisposed && this.observer !== null) {
|
4231
|
+
var idx = this.subject.observers.indexOf(this.observer);
|
4232
|
+
this.subject.observers.splice(idx, 1);
|
4233
|
+
this.observer = null;
|
4234
|
+
}
|
4235
|
+
};
|
4231
4236
|
|
4232
4237
|
/**
|
4233
4238
|
* Represents an object that is both an observable sequence as well as an observer.
|
@@ -4462,66 +4467,66 @@
|
|
4462
4467
|
return AsyncSubject;
|
4463
4468
|
}(Observable));
|
4464
4469
|
|
4465
|
-
/** @private */
|
4466
|
-
var AnonymousSubject = (function (_super) {
|
4467
|
-
inherits(AnonymousSubject, _super);
|
4468
|
-
|
4469
|
-
function subscribe(observer) {
|
4470
|
-
return this.observable.subscribe(observer);
|
4471
|
-
}
|
4472
|
-
|
4473
|
-
/**
|
4474
|
-
* @private
|
4475
|
-
* @constructor
|
4476
|
-
*/
|
4477
|
-
function AnonymousSubject(observer, observable) {
|
4478
|
-
_super.call(this, subscribe);
|
4479
|
-
this.observer = observer;
|
4480
|
-
this.observable = observable;
|
4481
|
-
}
|
4482
|
-
|
4483
|
-
addProperties(AnonymousSubject.prototype, Observer, {
|
4484
|
-
/**
|
4485
|
-
* @private
|
4486
|
-
* @memberOf AnonymousSubject#
|
4487
|
-
*/
|
4488
|
-
onCompleted: function () {
|
4489
|
-
this.observer.onCompleted();
|
4490
|
-
},
|
4491
|
-
/**
|
4492
|
-
* @private
|
4493
|
-
* @memberOf AnonymousSubject#
|
4494
|
-
*/
|
4495
|
-
onError: function (exception) {
|
4496
|
-
this.observer.onError(exception);
|
4497
|
-
},
|
4498
|
-
/**
|
4499
|
-
* @private
|
4500
|
-
* @memberOf AnonymousSubject#
|
4501
|
-
*/
|
4502
|
-
onNext: function (value) {
|
4503
|
-
this.observer.onNext(value);
|
4504
|
-
}
|
4505
|
-
});
|
4506
|
-
|
4507
|
-
return AnonymousSubject;
|
4508
|
-
}(Observable));
|
4509
|
-
|
4510
|
-
if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
|
4511
|
-
root.Rx = Rx;
|
4512
|
-
|
4513
|
-
define(function() {
|
4514
|
-
return Rx;
|
4515
|
-
});
|
4516
|
-
} else if (freeExports && freeModule) {
|
4517
|
-
// in Node.js or RingoJS
|
4518
|
-
if (moduleExports) {
|
4519
|
-
(freeModule.exports = Rx).Rx = Rx;
|
4520
|
-
} else {
|
4521
|
-
freeExports.Rx = Rx;
|
4522
|
-
}
|
4523
|
-
} else {
|
4524
|
-
// in a browser or Rhino
|
4525
|
-
root.Rx = Rx;
|
4470
|
+
/** @private */
|
4471
|
+
var AnonymousSubject = (function (_super) {
|
4472
|
+
inherits(AnonymousSubject, _super);
|
4473
|
+
|
4474
|
+
function subscribe(observer) {
|
4475
|
+
return this.observable.subscribe(observer);
|
4476
|
+
}
|
4477
|
+
|
4478
|
+
/**
|
4479
|
+
* @private
|
4480
|
+
* @constructor
|
4481
|
+
*/
|
4482
|
+
function AnonymousSubject(observer, observable) {
|
4483
|
+
_super.call(this, subscribe);
|
4484
|
+
this.observer = observer;
|
4485
|
+
this.observable = observable;
|
4486
|
+
}
|
4487
|
+
|
4488
|
+
addProperties(AnonymousSubject.prototype, Observer, {
|
4489
|
+
/**
|
4490
|
+
* @private
|
4491
|
+
* @memberOf AnonymousSubject#
|
4492
|
+
*/
|
4493
|
+
onCompleted: function () {
|
4494
|
+
this.observer.onCompleted();
|
4495
|
+
},
|
4496
|
+
/**
|
4497
|
+
* @private
|
4498
|
+
* @memberOf AnonymousSubject#
|
4499
|
+
*/
|
4500
|
+
onError: function (exception) {
|
4501
|
+
this.observer.onError(exception);
|
4502
|
+
},
|
4503
|
+
/**
|
4504
|
+
* @private
|
4505
|
+
* @memberOf AnonymousSubject#
|
4506
|
+
*/
|
4507
|
+
onNext: function (value) {
|
4508
|
+
this.observer.onNext(value);
|
4509
|
+
}
|
4510
|
+
});
|
4511
|
+
|
4512
|
+
return AnonymousSubject;
|
4513
|
+
}(Observable));
|
4514
|
+
|
4515
|
+
if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
|
4516
|
+
root.Rx = Rx;
|
4517
|
+
|
4518
|
+
define(function() {
|
4519
|
+
return Rx;
|
4520
|
+
});
|
4521
|
+
} else if (freeExports && freeModule) {
|
4522
|
+
// in Node.js or RingoJS
|
4523
|
+
if (moduleExports) {
|
4524
|
+
(freeModule.exports = Rx).Rx = Rx;
|
4525
|
+
} else {
|
4526
|
+
freeExports.Rx = Rx;
|
4527
|
+
}
|
4528
|
+
} else {
|
4529
|
+
// in a browser or Rhino
|
4530
|
+
root.Rx = Rx;
|
4526
4531
|
}
|
4527
4532
|
}.call(this));
|