rxjs-rails 2.2.17 → 2.2.18
Sign up to get free protection for your applications and to get access to all the features.
- 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));
|