rxjs-rails 2.3.0 → 2.3.9
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/lib/rxjs/rails/version.rb +1 -1
- data/vendor/assets/javascripts/rx.aggregates.js +115 -27
- data/vendor/assets/javascripts/rx.aggregates.min.js +1 -1
- data/vendor/assets/javascripts/rx.all.compat.js +2751 -2702
- data/vendor/assets/javascripts/rx.all.compat.min.js +3 -3
- data/vendor/assets/javascripts/rx.all.js +2605 -2589
- data/vendor/assets/javascripts/rx.all.min.js +3 -3
- data/vendor/assets/javascripts/rx.async.compat.js +41 -22
- data/vendor/assets/javascripts/rx.async.compat.min.js +1 -1
- data/vendor/assets/javascripts/rx.async.js +41 -22
- data/vendor/assets/javascripts/rx.async.min.js +1 -1
- data/vendor/assets/javascripts/rx.backpressure.js +41 -45
- data/vendor/assets/javascripts/rx.backpressure.min.js +1 -1
- data/vendor/assets/javascripts/rx.binding.js +81 -111
- data/vendor/assets/javascripts/rx.binding.min.js +1 -1
- data/vendor/assets/javascripts/rx.coincidence.js +567 -486
- data/vendor/assets/javascripts/rx.coincidence.min.js +1 -1
- data/vendor/assets/javascripts/rx.compat.js +1430 -1532
- data/vendor/assets/javascripts/rx.compat.min.js +2 -2
- data/vendor/assets/javascripts/rx.core.compat.js +76 -127
- data/vendor/assets/javascripts/rx.core.compat.min.js +1 -1
- data/vendor/assets/javascripts/rx.core.js +76 -127
- data/vendor/assets/javascripts/rx.core.min.js +1 -1
- data/vendor/assets/javascripts/rx.experimental.js +36 -36
- data/vendor/assets/javascripts/rx.experimental.min.js +1 -1
- data/vendor/assets/javascripts/rx.joinpatterns.js +281 -281
- data/vendor/assets/javascripts/rx.js +1286 -1421
- data/vendor/assets/javascripts/rx.lite.compat.js +1443 -1749
- data/vendor/assets/javascripts/rx.lite.compat.min.js +2 -2
- data/vendor/assets/javascripts/rx.lite.extras.js +133 -205
- data/vendor/assets/javascripts/rx.lite.extras.min.js +1 -1
- data/vendor/assets/javascripts/rx.lite.js +1319 -1658
- 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 +302 -322
- data/vendor/assets/javascripts/rx.testing.min.js +1 -1
- data/vendor/assets/javascripts/rx.time.js +90 -75
- data/vendor/assets/javascripts/rx.time.min.js +1 -1
- data/vendor/assets/javascripts/rx.virtualtime.js +264 -279
- data/vendor/assets/javascripts/rx.virtualtime.min.js +1 -1
- metadata +10 -11
@@ -1,4 +1,4 @@
|
|
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 (factory) {
|
4
4
|
var objectTypes = {
|
@@ -140,7 +140,7 @@
|
|
140
140
|
|
141
141
|
args.push(handler);
|
142
142
|
func.apply(context, args);
|
143
|
-
});
|
143
|
+
}).publishLast().refCount();
|
144
144
|
};
|
145
145
|
};
|
146
146
|
|
@@ -185,18 +185,11 @@
|
|
185
185
|
|
186
186
|
args.push(handler);
|
187
187
|
func.apply(context, args);
|
188
|
-
});
|
188
|
+
}).publishLast().refCount();
|
189
189
|
};
|
190
190
|
};
|
191
191
|
|
192
192
|
function createListener (element, name, handler) {
|
193
|
-
// Node.js specific
|
194
|
-
if (element.addListener) {
|
195
|
-
element.addListener(name, handler);
|
196
|
-
return disposableCreate(function () {
|
197
|
-
element.removeListener(name, handler);
|
198
|
-
});
|
199
|
-
}
|
200
193
|
if (element.addEventListener) {
|
201
194
|
element.addEventListener(name, handler, false);
|
202
195
|
return disposableCreate(function () {
|
@@ -210,7 +203,7 @@
|
|
210
203
|
var disposables = new CompositeDisposable();
|
211
204
|
|
212
205
|
// Asume NodeList
|
213
|
-
if (
|
206
|
+
if (Object.prototype.toString.call(el) === '[object NodeList]') {
|
214
207
|
for (var i = 0, len = el.length; i < len; i++) {
|
215
208
|
disposables.add(createEventListener(el.item(i), eventName, handler));
|
216
209
|
}
|
@@ -221,6 +214,11 @@
|
|
221
214
|
return disposables;
|
222
215
|
}
|
223
216
|
|
217
|
+
/**
|
218
|
+
* Configuration option to determine whether to use native events only
|
219
|
+
*/
|
220
|
+
Rx.config.useNativeEvents = false;
|
221
|
+
|
224
222
|
// Check for Angular/jQuery/Zepto support
|
225
223
|
var jq =
|
226
224
|
!!root.angular && !!angular.element ? angular.element :
|
@@ -229,6 +227,10 @@
|
|
229
227
|
|
230
228
|
// Check for ember
|
231
229
|
var ember = !!root.Ember && typeof root.Ember.addListener === 'function';
|
230
|
+
|
231
|
+
// Check for Backbone.Marionette. Note if using AMD add Marionette as a dependency of rxjs
|
232
|
+
// for proper loading order!
|
233
|
+
var marionette = !!root.Backbone && !!root.Backbone.Marionette;
|
232
234
|
|
233
235
|
/**
|
234
236
|
* Creates an observable sequence by adding an event listener to the matching DOMElement or each item in the NodeList.
|
@@ -242,18 +244,35 @@
|
|
242
244
|
* @returns {Observable} An observable sequence of events from the specified element and the specified event.
|
243
245
|
*/
|
244
246
|
Observable.fromEvent = function (element, eventName, selector) {
|
245
|
-
|
246
|
-
|
247
|
-
function (h) { Ember.addListener(element, eventName, h); },
|
248
|
-
function (h) { Ember.removeListener(element, eventName, h); },
|
249
|
-
selector);
|
250
|
-
}
|
251
|
-
if (jq) {
|
252
|
-
var $elem = jq(element);
|
247
|
+
// Node.js specific
|
248
|
+
if (element.addListener) {
|
253
249
|
return fromEventPattern(
|
254
|
-
function (h) {
|
255
|
-
function (h) {
|
250
|
+
function (h) { element.addListener(eventName, h); },
|
251
|
+
function (h) { element.removeListener(eventName, h); },
|
256
252
|
selector);
|
253
|
+
}
|
254
|
+
|
255
|
+
// Use only if non-native events are allowed
|
256
|
+
if (!Rx.config.useNativeEvents) {
|
257
|
+
if (marionette) {
|
258
|
+
return fromEventPattern(
|
259
|
+
function (h) { element.on(eventName, h); },
|
260
|
+
function (h) { element.off(eventName, h); },
|
261
|
+
selector);
|
262
|
+
}
|
263
|
+
if (ember) {
|
264
|
+
return fromEventPattern(
|
265
|
+
function (h) { Ember.addListener(element, eventName, h); },
|
266
|
+
function (h) { Ember.removeListener(element, eventName, h); },
|
267
|
+
selector);
|
268
|
+
}
|
269
|
+
if (jq) {
|
270
|
+
var $elem = jq(element);
|
271
|
+
return fromEventPattern(
|
272
|
+
function (h) { $elem.on(eventName, h); },
|
273
|
+
function (h) { $elem.off(eventName, h); },
|
274
|
+
selector);
|
275
|
+
}
|
257
276
|
}
|
258
277
|
return new AnonymousObservable(function (observer) {
|
259
278
|
return createEventListener(
|
@@ -322,5 +341,5 @@
|
|
322
341
|
return observableFromPromise(promise);
|
323
342
|
}
|
324
343
|
|
325
|
-
return Rx;
|
344
|
+
return Rx;
|
326
345
|
}));
|
@@ -1 +1 @@
|
|
1
|
-
(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx.binding","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){function d(a,b,c){if(a.
|
1
|
+
(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx.binding","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){function d(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),k(function(){a.removeEventListener(b,c,!1)});throw new Error("No listener found")}function e(a,b,c){var f=new l;if("[object NodeList]"===Object.prototype.toString.call(a))for(var g=0,h=a.length;h>g;g++)f.add(e(a.item(g),b,c));else a&&f.add(d(a,b,c));return f}var f=c.Observable,g=(f.prototype,f.fromPromise),h=f.throwException,i=c.AnonymousObservable,j=c.AsyncSubject,k=c.Disposable.create,l=c.CompositeDisposable,m=(c.Scheduler.immediate,c.Scheduler.timeout),n=c.helpers.isScheduler,o=Array.prototype.slice;f.start=function(a,b,c){return p(a,b,c)()};var p=f.toAsync=function(a,b,c){return n(c)||(c=m),function(){var d=arguments,e=new j;return c.schedule(function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};f.fromCallback=function(a,b,c){return function(){var d=o.call(arguments,0);return new i(function(e){function f(a){var b=a;if(c){try{b=c(arguments)}catch(d){return void e.onError(d)}e.onNext(b)}else b.length<=1?e.onNext.apply(e,b):e.onNext(b);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},f.fromNodeCallback=function(a,b,c){return function(){var d=o.call(arguments,0);return new i(function(e){function f(a){if(a)return void e.onError(a);var b=o.call(arguments,1);if(c){try{b=c(b)}catch(d){return void e.onError(d)}e.onNext(b)}else b.length<=1?e.onNext.apply(e,b):e.onNext(b);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},c.config.useNativeEvents=!1;var q=a.angular&&angular.element?angular.element:a.jQuery?a.jQuery:a.Zepto?a.Zepto:null,r=!!a.Ember&&"function"==typeof a.Ember.addListener,s=!!a.Backbone&&!!a.Backbone.Marionette;f.fromEvent=function(a,b,d){if(a.addListener)return t(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},d);if(!c.config.useNativeEvents){if(s)return t(function(c){a.on(b,c)},function(c){a.off(b,c)},d);if(r)return t(function(c){Ember.addListener(a,b,c)},function(c){Ember.removeListener(a,b,c)},d);if(q){var f=q(a);return t(function(a){f.on(b,a)},function(a){f.off(b,a)},d)}}return new i(function(c){return e(a,b,function(a){var b=a;if(d)try{b=d(arguments)}catch(e){return void c.onError(e)}c.onNext(b)})}).publish().refCount()};var t=f.fromEventPattern=function(a,b,c){return new i(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)}var f=a(e);return k(function(){b&&b(e,f)})}).publish().refCount()};return f.startAsync=function(a){var b;try{b=a()}catch(c){return h(c)}return g(b)},c});
|
@@ -1,4 +1,4 @@
|
|
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 (factory) {
|
4
4
|
var objectTypes = {
|
@@ -59,7 +59,7 @@
|
|
59
59
|
subscription = conn.subscribe(observer),
|
60
60
|
connection = disposableEmpty;
|
61
61
|
|
62
|
-
var pausable = this.
|
62
|
+
var pausable = this.pauser.distinctUntilChanged().subscribe(function (b) {
|
63
63
|
if (b) {
|
64
64
|
connection = conn.connect();
|
65
65
|
} else {
|
@@ -71,27 +71,25 @@
|
|
71
71
|
return new CompositeDisposable(subscription, connection, pausable);
|
72
72
|
}
|
73
73
|
|
74
|
-
function PausableObservable(source,
|
74
|
+
function PausableObservable(source, pauser) {
|
75
75
|
this.source = source;
|
76
|
-
this.
|
77
|
-
|
76
|
+
this.controller = new Subject();
|
77
|
+
|
78
|
+
if (pauser && pauser.subscribe) {
|
79
|
+
this.pauser = this.controller.merge(pauser);
|
80
|
+
} else {
|
81
|
+
this.pauser = this.controller;
|
82
|
+
}
|
83
|
+
|
78
84
|
_super.call(this, subscribe);
|
79
85
|
}
|
80
86
|
|
81
87
|
PausableObservable.prototype.pause = function () {
|
82
|
-
|
83
|
-
return;
|
84
|
-
}
|
85
|
-
this.isPaused = true;
|
86
|
-
this.subject.onNext(false);
|
88
|
+
this.controller.onNext(false);
|
87
89
|
};
|
88
90
|
|
89
91
|
PausableObservable.prototype.resume = function () {
|
90
|
-
|
91
|
-
return;
|
92
|
-
}
|
93
|
-
this.isPaused = false;
|
94
|
-
this.subject.onNext(true);
|
92
|
+
this.controller.onNext(true);
|
95
93
|
};
|
96
94
|
|
97
95
|
return PausableObservable;
|
@@ -158,30 +156,33 @@
|
|
158
156
|
inherits(PausableBufferedObservable, _super);
|
159
157
|
|
160
158
|
function subscribe(observer) {
|
161
|
-
var q = [],
|
159
|
+
var q = [], previousShouldFire;
|
162
160
|
|
163
161
|
var subscription =
|
164
162
|
combineLatestSource(
|
165
163
|
this.source,
|
166
|
-
this.
|
164
|
+
this.pauser.distinctUntilChanged().startWith(false),
|
167
165
|
function (data, shouldFire) {
|
168
166
|
return { data: data, shouldFire: shouldFire };
|
169
167
|
})
|
170
168
|
.subscribe(
|
171
169
|
function (results) {
|
172
|
-
if (results.shouldFire
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
170
|
+
if (previousShouldFire !== undefined && results.shouldFire != previousShouldFire) {
|
171
|
+
// change in shouldFire
|
172
|
+
if (results.shouldFire) {
|
173
|
+
while (q.length > 0) {
|
174
|
+
observer.onNext(q.shift());
|
175
|
+
}
|
176
|
+
}
|
177
|
+
} else {
|
178
|
+
// new data
|
179
|
+
if (results.shouldFire) {
|
180
|
+
observer.onNext(results.data);
|
181
|
+
} else {
|
182
|
+
q.push(results.data);
|
178
183
|
}
|
179
|
-
previous = true;
|
180
|
-
} else if (!results.shouldFire && !previous) {
|
181
|
-
q.push(results.data);
|
182
|
-
} else if (!results.shouldFire && previous) {
|
183
|
-
previous = false;
|
184
184
|
}
|
185
|
+
previousShouldFire = results.shouldFire;
|
185
186
|
|
186
187
|
},
|
187
188
|
function (err) {
|
@@ -199,33 +200,28 @@
|
|
199
200
|
observer.onCompleted();
|
200
201
|
}
|
201
202
|
);
|
202
|
-
|
203
|
-
this.subject.onNext(false);
|
204
|
-
|
205
203
|
return subscription;
|
206
204
|
}
|
207
205
|
|
208
|
-
function PausableBufferedObservable(source,
|
206
|
+
function PausableBufferedObservable(source, pauser) {
|
209
207
|
this.source = source;
|
210
|
-
this.
|
211
|
-
|
208
|
+
this.controller = new Subject();
|
209
|
+
|
210
|
+
if (pauser && pauser.subscribe) {
|
211
|
+
this.pauser = this.controller.merge(pauser);
|
212
|
+
} else {
|
213
|
+
this.pauser = this.controller;
|
214
|
+
}
|
215
|
+
|
212
216
|
_super.call(this, subscribe);
|
213
217
|
}
|
214
218
|
|
215
219
|
PausableBufferedObservable.prototype.pause = function () {
|
216
|
-
|
217
|
-
return;
|
218
|
-
}
|
219
|
-
this.isPaused = true;
|
220
|
-
this.subject.onNext(false);
|
220
|
+
this.controller.onNext(false);
|
221
221
|
};
|
222
222
|
|
223
223
|
PausableBufferedObservable.prototype.resume = function () {
|
224
|
-
|
225
|
-
return;
|
226
|
-
}
|
227
|
-
this.isPaused = false;
|
228
|
-
this.subject.onNext(true);
|
224
|
+
this.controller.onNext(true);
|
229
225
|
};
|
230
226
|
|
231
227
|
return PausableBufferedObservable;
|
@@ -406,5 +402,5 @@
|
|
406
402
|
|
407
403
|
return ControlledSubject;
|
408
404
|
}(Observable));
|
409
|
-
return Rx;
|
405
|
+
return Rx;
|
410
406
|
}));
|
@@ -1 +1 @@
|
|
1
|
-
(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){function
|
1
|
+
(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c,d){function e(){if(this.isDisposed)throw new Error(r)}function f(a,b,c){return new i(function(d){function e(a,b){k[b]=a;var e;if(g[b]=!0,h||(h=g.every(q))){try{e=c.apply(null,k)}catch(f){return void d.onError(f)}d.onNext(e)}else i&&d.onCompleted()}var f=2,g=[!1,!1],h=!1,i=!1,k=new Array(f);return new j(a.subscribe(function(a){e(a,0)},d.onError.bind(d),function(){i=!0,d.onCompleted()}),b.subscribe(function(a){e(a,1)},d.onError.bind(d)))})}var g=c.Observable,h=g.prototype,i=c.AnonymousObservable,j=c.CompositeDisposable,k=c.Subject,l=c.Observer,m=c.Disposable.empty,n=c.Disposable.create,o=c.internals.inherits,p=c.internals.addProperties,q=(c.Scheduler.timeout,c.helpers.identity),r="Object has been disposed",s=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=m,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=m)});return new j(c,d,e)}function c(c,d){this.source=c,this.controller=new k,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b)}return o(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(g);h.pausable=function(a){return new s(this,a)};var t=function(a){function b(a){var b,c=[],e=f(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(b!==d&&e.shouldFire!=b){if(e.shouldFire)for(;c.length>0;)a.onNext(c.shift())}else e.shouldFire?a.onNext(e.data):c.push(e.data);b=e.shouldFire},function(b){for(;c.length>0;)a.onNext(c.shift());a.onError(b)},function(){for(;c.length>0;)a.onNext(c.shift());a.onCompleted()});return e}function c(c,d){this.source=c,this.controller=new k,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b)}return o(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(g);h.pausableBuffered=function(a){return new t(this,a)},h.controlled=function(a){return null==a&&(a=!0),new u(this,a)};var u=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b),this.subject=new v(d),this.source=c.multicast(this.subject).refCount()}return o(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(g),v=c.ControlledSubject=function(a){function b(a){return this.subject.subscribe(a)}function c(c){null==c&&(c=!0),a.call(this,b),this.subject=new k,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=m,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.controlledDisposable=m}return o(c,a),p(c.prototype,l,{onCompleted:function(){e.call(this),this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length||this.subject.onCompleted()},onError:function(a){e.call(this),this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length||this.subject.onError(a)},onNext:function(a){e.call(this);var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(a):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0;)this.subject.onNext(this.queue.shift()),a--;return 0!==this.queue.length?{numberOfItems:a,returnValue:!0}:{numberOfItems:a,returnValue:!1}}return this.hasFailed?(this.subject.onError(this.error),this.controlledDisposable.dispose(),this.controlledDisposable=m):this.hasCompleted&&(this.subject.onCompleted(),this.controlledDisposable.dispose(),this.controlledDisposable=m),{numberOfItems:a,returnValue:!1}},request:function(a){e.call(this),this.disposeCurrentRequest();var b=this,c=this._processRequest(a);return a=c.numberOfItems,c.returnValue?m:(this.requestedCount=a,this.requestedDisposable=n(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=m},dispose:function(){this.isDisposed=!0,this.error=null,this.subject.dispose(),this.requestedDisposable.dispose()}}),c}(g);return c});
|
@@ -1,4 +1,4 @@
|
|
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 (factory) {
|
4
4
|
var objectTypes = {
|
@@ -55,32 +55,32 @@
|
|
55
55
|
}
|
56
56
|
}
|
57
57
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
58
|
+
/**
|
59
|
+
* Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each
|
60
|
+
* subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's
|
61
|
+
* invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay.
|
62
|
+
*
|
63
|
+
* @example
|
64
|
+
* 1 - res = source.multicast(observable);
|
65
|
+
* 2 - res = source.multicast(function () { return new Subject(); }, function (x) { return x; });
|
66
|
+
*
|
67
|
+
* @param {Function|Subject} subjectOrSubjectSelector
|
68
|
+
* Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function.
|
69
|
+
* Or:
|
70
|
+
* Subject to push source elements into.
|
71
|
+
*
|
72
|
+
* @param {Function} [selector] Optional selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. Specified only if <paramref name="subjectOrSubjectSelector" is a factory function.
|
73
|
+
* @returns {Observable} An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.
|
74
|
+
*/
|
75
|
+
observableProto.multicast = function (subjectOrSubjectSelector, selector) {
|
76
|
+
var source = this;
|
77
|
+
return typeof subjectOrSubjectSelector === 'function' ?
|
78
|
+
new AnonymousObservable(function (observer) {
|
79
|
+
var connectable = source.multicast(subjectOrSubjectSelector());
|
80
|
+
return new CompositeDisposable(selector(connectable).subscribe(observer), connectable.connect());
|
81
|
+
}) :
|
82
|
+
new ConnectableObservable(source, subjectOrSubjectSelector);
|
83
|
+
};
|
84
84
|
|
85
85
|
/**
|
86
86
|
* Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence.
|
@@ -211,23 +211,23 @@
|
|
211
211
|
return this.replay(null, bufferSize, window, scheduler).refCount();
|
212
212
|
};
|
213
213
|
|
214
|
-
/** @private */
|
215
|
-
var InnerSubscription = function (subject, observer) {
|
216
|
-
this.subject = subject;
|
217
|
-
this.observer = observer;
|
218
|
-
};
|
219
|
-
|
220
|
-
/**
|
221
|
-
* @private
|
222
|
-
* @memberOf InnerSubscription
|
223
|
-
*/
|
224
|
-
InnerSubscription.prototype.dispose = function () {
|
225
|
-
if (!this.subject.isDisposed && this.observer !== null) {
|
226
|
-
var idx = this.subject.observers.indexOf(this.observer);
|
227
|
-
this.subject.observers.splice(idx, 1);
|
228
|
-
this.observer = null;
|
229
|
-
}
|
230
|
-
};
|
214
|
+
/** @private */
|
215
|
+
var InnerSubscription = function (subject, observer) {
|
216
|
+
this.subject = subject;
|
217
|
+
this.observer = observer;
|
218
|
+
};
|
219
|
+
|
220
|
+
/**
|
221
|
+
* @private
|
222
|
+
* @memberOf InnerSubscription
|
223
|
+
*/
|
224
|
+
InnerSubscription.prototype.dispose = function () {
|
225
|
+
if (!this.subject.isDisposed && this.observer !== null) {
|
226
|
+
var idx = this.subject.observers.indexOf(this.observer);
|
227
|
+
this.subject.observers.splice(idx, 1);
|
228
|
+
this.observer = null;
|
229
|
+
}
|
230
|
+
};
|
231
231
|
|
232
232
|
/**
|
233
233
|
* Represents a value that changes over time.
|
@@ -491,71 +491,41 @@
|
|
491
491
|
return ReplaySubject;
|
492
492
|
}(Observable));
|
493
493
|
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
ConnectableObservable.prototype.connect = function () { return this.connect(); };
|
532
|
-
|
533
|
-
/**
|
534
|
-
* @private
|
535
|
-
* @memberOf ConnectableObservable
|
536
|
-
*/
|
537
|
-
ConnectableObservable.prototype.refCount = function () {
|
538
|
-
var connectableSubscription = null, count = 0, source = this;
|
539
|
-
return new AnonymousObservable(function (observer) {
|
540
|
-
var shouldConnect, subscription;
|
541
|
-
count++;
|
542
|
-
shouldConnect = count === 1;
|
543
|
-
subscription = source.subscribe(observer);
|
544
|
-
if (shouldConnect) {
|
545
|
-
connectableSubscription = source.connect();
|
546
|
-
}
|
547
|
-
return disposableCreate(function () {
|
548
|
-
subscription.dispose();
|
549
|
-
count--;
|
550
|
-
if (count === 0) {
|
551
|
-
connectableSubscription.dispose();
|
552
|
-
}
|
553
|
-
});
|
554
|
-
});
|
555
|
-
};
|
556
|
-
|
557
|
-
return ConnectableObservable;
|
558
|
-
}(Observable));
|
559
|
-
|
560
|
-
return Rx;
|
494
|
+
var ConnectableObservable = Rx.ConnectableObservable = (function (__super__) {
|
495
|
+
inherits(ConnectableObservable, __super__);
|
496
|
+
|
497
|
+
function ConnectableObservable(source, subject) {
|
498
|
+
var hasSubscription = false,
|
499
|
+
subscription,
|
500
|
+
sourceObservable = source.asObservable();
|
501
|
+
|
502
|
+
this.connect = function () {
|
503
|
+
if (!hasSubscription) {
|
504
|
+
hasSubscription = true;
|
505
|
+
subscription = new CompositeDisposable(sourceObservable.subscribe(subject), disposableCreate(function () {
|
506
|
+
hasSubscription = false;
|
507
|
+
}));
|
508
|
+
}
|
509
|
+
return subscription;
|
510
|
+
};
|
511
|
+
|
512
|
+
__super__.call(this, subject.subscribe.bind(subject));
|
513
|
+
}
|
514
|
+
|
515
|
+
ConnectableObservable.prototype.refCount = function () {
|
516
|
+
var connectableSubscription, count = 0, source = this;
|
517
|
+
return new AnonymousObservable(function (observer) {
|
518
|
+
var shouldConnect = ++count === 1,
|
519
|
+
subscription = source.subscribe(observer);
|
520
|
+
shouldConnect && (connectableSubscription = source.connect());
|
521
|
+
return function () {
|
522
|
+
subscription.dispose();
|
523
|
+
--count === 0 && connectableSubscription.dispose();
|
524
|
+
};
|
525
|
+
});
|
526
|
+
};
|
527
|
+
|
528
|
+
return ConnectableObservable;
|
529
|
+
}(Observable));
|
530
|
+
return Rx;
|
561
531
|
}));
|
@@ -1 +1 @@
|
|
1
|
-
(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){function d(){if(this.isDisposed)throw new Error(r)}var e=c.Observable,f=e.prototype,g=c.AnonymousObservable,h=c.Subject,i=c.AsyncSubject,j=c.Observer,k=c.internals.ScheduledObserver,l=c.Disposable.create,m=c.Disposable.empty,n=c.CompositeDisposable,o=c.Scheduler.currentThread,p=c.internals.inherits,q=c.internals.addProperties,r="Object has been disposed";f.multicast=function(a,b){var c=this;return"function"==typeof a?new g(function(d){var e=c.multicast(a());return new n(b(e).subscribe(d),e.connect())}):new v(c,a)},f.publish=function(a){return a?this.multicast(function(){return new h},a):this.multicast(new h)},f.share=function(){return this.publish(null).refCount()},f.publishLast=function(a){return a?this.multicast(function(){return new i},a):this.multicast(new i)},f.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new t(b)},a):this.multicast(new t(a))},f.shareValue=function(a){return this.publishValue(a).refCount()},f.replay=function(a,b,c,d){return a?this.multicast(function(){return new u(b,c,d)},a):this.multicast(new u(b,c,d))},f.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var s=function(a,b){this.subject=a,this.observer=b};s.prototype.dispose=function(){if(!this.subject.isDisposed&&null!==this.observer){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1),this.observer=null}};var t=c.BehaviorSubject=function(a){function b(a){if(d.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new s(this,a);var b=this.exception;return b?a.onError(b):a.onCompleted(),m}function c(c){a.call(this,b),this.value=c,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return p(c,a),q(c.prototype,j,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(d.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var b=0,c=a.length;c>b;b++)a[b].onCompleted();this.observers=[]}},onError:function(a){if(d.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,e=b.length;e>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){if(d.call(this),!this.isStopped){this.value=a;for(var b=this.observers.slice(0),c=0,e=b.length;e>c;c++)b[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),c}(e),u=c.ReplaySubject=function(a){function b(a,b){this.subject=a,this.observer=b}function c(a){var c=new k(this.scheduler,a),e=new b(this,c);d.call(this),this._trim(this.scheduler.now()),this.observers.push(c);for(var f=this.q.length,g=0,h=this.q.length;h>g;g++)c.onNext(this.q[g].value);return this.hasError?(f++,c.onError(this.error)):this.isStopped&&(f++,c.onCompleted()),c.ensureActive(f),e}function e(b,d,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==d?Number.MAX_VALUE:d,this.scheduler=e||o,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,c)}return b.prototype.dispose=function(){if(this.observer.dispose(),!this.subject.isDisposed){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1)}},p(e,a),q(e.prototype,j,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){var b;if(d.call(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var e=this.observers.slice(0),f=0,g=e.length;g>f;f++)b=e[f],b.onNext(a),b.ensureActive()}},onError:function(a){var b;if(d.call(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var e=this.observers.slice(0),f=0,g=e.length;g>f;f++)b=e[f],b.onError(a),b.ensureActive();this.observers=[]}},onCompleted:function(){var a;if(d.call(this),!this.isStopped){this.isStopped=!0;var b=this.scheduler.now();this._trim(b);for(var c=this.observers.slice(0),e=0,f=c.length;f>e;e++)a=c[e],a.onCompleted(),a.ensureActive();this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(e),v=c.ConnectableObservable=function(a){function b(b,c){
|
1
|
+
(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){function d(){if(this.isDisposed)throw new Error(r)}var e=c.Observable,f=e.prototype,g=c.AnonymousObservable,h=c.Subject,i=c.AsyncSubject,j=c.Observer,k=c.internals.ScheduledObserver,l=c.Disposable.create,m=c.Disposable.empty,n=c.CompositeDisposable,o=c.Scheduler.currentThread,p=c.internals.inherits,q=c.internals.addProperties,r="Object has been disposed";f.multicast=function(a,b){var c=this;return"function"==typeof a?new g(function(d){var e=c.multicast(a());return new n(b(e).subscribe(d),e.connect())}):new v(c,a)},f.publish=function(a){return a?this.multicast(function(){return new h},a):this.multicast(new h)},f.share=function(){return this.publish(null).refCount()},f.publishLast=function(a){return a?this.multicast(function(){return new i},a):this.multicast(new i)},f.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new t(b)},a):this.multicast(new t(a))},f.shareValue=function(a){return this.publishValue(a).refCount()},f.replay=function(a,b,c,d){return a?this.multicast(function(){return new u(b,c,d)},a):this.multicast(new u(b,c,d))},f.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var s=function(a,b){this.subject=a,this.observer=b};s.prototype.dispose=function(){if(!this.subject.isDisposed&&null!==this.observer){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1),this.observer=null}};var t=c.BehaviorSubject=function(a){function b(a){if(d.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new s(this,a);var b=this.exception;return b?a.onError(b):a.onCompleted(),m}function c(c){a.call(this,b),this.value=c,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return p(c,a),q(c.prototype,j,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(d.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var b=0,c=a.length;c>b;b++)a[b].onCompleted();this.observers=[]}},onError:function(a){if(d.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,e=b.length;e>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){if(d.call(this),!this.isStopped){this.value=a;for(var b=this.observers.slice(0),c=0,e=b.length;e>c;c++)b[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),c}(e),u=c.ReplaySubject=function(a){function b(a,b){this.subject=a,this.observer=b}function c(a){var c=new k(this.scheduler,a),e=new b(this,c);d.call(this),this._trim(this.scheduler.now()),this.observers.push(c);for(var f=this.q.length,g=0,h=this.q.length;h>g;g++)c.onNext(this.q[g].value);return this.hasError?(f++,c.onError(this.error)):this.isStopped&&(f++,c.onCompleted()),c.ensureActive(f),e}function e(b,d,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==d?Number.MAX_VALUE:d,this.scheduler=e||o,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,c)}return b.prototype.dispose=function(){if(this.observer.dispose(),!this.subject.isDisposed){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1)}},p(e,a),q(e.prototype,j,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){var b;if(d.call(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var e=this.observers.slice(0),f=0,g=e.length;g>f;f++)b=e[f],b.onNext(a),b.ensureActive()}},onError:function(a){var b;if(d.call(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var e=this.observers.slice(0),f=0,g=e.length;g>f;f++)b=e[f],b.onError(a),b.ensureActive();this.observers=[]}},onCompleted:function(){var a;if(d.call(this),!this.isStopped){this.isStopped=!0;var b=this.scheduler.now();this._trim(b);for(var c=this.observers.slice(0),e=0,f=c.length;f>e;e++)a=c[e],a.onCompleted(),a.ensureActive();this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(e),v=c.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new n(f.subscribe(c),l(function(){e=!1}))),d},a.call(this,c.subscribe.bind(c))}return p(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new g(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(e);return c});
|