rxjs-rails 2.3.10 → 2.3.11
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 +120 -70
- data/vendor/assets/javascripts/rx.aggregates.min.js +3 -1
- data/vendor/assets/javascripts/rx.all.compat.js +1810 -1849
- data/vendor/assets/javascripts/rx.all.compat.min.js +5 -3
- data/vendor/assets/javascripts/rx.all.js +1776 -1815
- data/vendor/assets/javascripts/rx.all.min.js +5 -3
- data/vendor/assets/javascripts/rx.async.compat.js +45 -45
- data/vendor/assets/javascripts/rx.async.compat.min.js +3 -1
- data/vendor/assets/javascripts/rx.async.js +39 -39
- data/vendor/assets/javascripts/rx.async.min.js +3 -1
- data/vendor/assets/javascripts/rx.backpressure.js +21 -19
- data/vendor/assets/javascripts/rx.backpressure.min.js +3 -1
- data/vendor/assets/javascripts/rx.binding.js +90 -90
- data/vendor/assets/javascripts/rx.binding.min.js +3 -1
- data/vendor/assets/javascripts/rx.coincidence.js +184 -179
- data/vendor/assets/javascripts/rx.coincidence.min.js +3 -1
- data/vendor/assets/javascripts/rx.compat.js +1019 -1001
- data/vendor/assets/javascripts/rx.compat.min.js +4 -2
- data/vendor/assets/javascripts/rx.experimental.js +65 -64
- data/vendor/assets/javascripts/rx.experimental.min.js +3 -1
- data/vendor/assets/javascripts/rx.joinpatterns.js +265 -363
- data/vendor/assets/javascripts/rx.joinpatterns.min.js +3 -1
- data/vendor/assets/javascripts/rx.js +969 -951
- data/vendor/assets/javascripts/rx.lite.compat.js +1014 -1182
- data/vendor/assets/javascripts/rx.lite.compat.min.js +4 -2
- data/vendor/assets/javascripts/rx.lite.extras.js +101 -109
- data/vendor/assets/javascripts/rx.lite.extras.min.js +3 -1
- data/vendor/assets/javascripts/rx.lite.js +1008 -1176
- data/vendor/assets/javascripts/rx.lite.min.js +4 -2
- data/vendor/assets/javascripts/rx.min.js +4 -2
- data/vendor/assets/javascripts/rx.testing.js +196 -196
- data/vendor/assets/javascripts/rx.testing.min.js +3 -1
- data/vendor/assets/javascripts/rx.time.js +162 -178
- data/vendor/assets/javascripts/rx.time.min.js +3 -1
- data/vendor/assets/javascripts/rx.virtualtime.js +30 -30
- data/vendor/assets/javascripts/rx.virtualtime.min.js +3 -1
- metadata +2 -6
- data/vendor/assets/javascripts/rx.core.compat.js +0 -2548
- data/vendor/assets/javascripts/rx.core.compat.min.js +0 -1
- data/vendor/assets/javascripts/rx.core.js +0 -2430
- data/vendor/assets/javascripts/rx.core.min.js +0 -1
@@ -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 = {
|
@@ -15,7 +15,7 @@
|
|
15
15
|
freeModule = objectTypes[typeof module] && module && !module.nodeType && module,
|
16
16
|
moduleExports = freeModule && freeModule.exports === freeExports && freeExports,
|
17
17
|
freeGlobal = objectTypes[typeof global] && global;
|
18
|
-
|
18
|
+
|
19
19
|
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
|
20
20
|
root = freeGlobal;
|
21
21
|
}
|
@@ -32,7 +32,7 @@
|
|
32
32
|
root.Rx = factory(root, {}, root.Rx);
|
33
33
|
}
|
34
34
|
}.call(this, function (root, exp, Rx, undefined) {
|
35
|
-
|
35
|
+
|
36
36
|
// Aliases
|
37
37
|
var Observable = Rx.Observable,
|
38
38
|
observableProto = Observable.prototype,
|
@@ -48,7 +48,7 @@
|
|
48
48
|
slice = Array.prototype.slice;
|
49
49
|
|
50
50
|
var fnString = 'function';
|
51
|
-
|
51
|
+
|
52
52
|
function toThunk(obj, ctx) {
|
53
53
|
if (Array.isArray(obj)) {
|
54
54
|
return objectToThunk.call(ctx, obj);
|
@@ -149,7 +149,7 @@
|
|
149
149
|
fn(null, res);
|
150
150
|
}, fn);
|
151
151
|
}
|
152
|
-
}
|
152
|
+
}
|
153
153
|
|
154
154
|
function isObservable(obj) {
|
155
155
|
return obj && obj.prototype.subscribe === fnString;
|
@@ -167,7 +167,7 @@
|
|
167
167
|
return val && val.constructor === Object;
|
168
168
|
}
|
169
169
|
|
170
|
-
/*
|
170
|
+
/*
|
171
171
|
* Spawns a generator function which allows for Promises, Observable sequences, Arrays, Objects, Generators and functions.
|
172
172
|
* @param {Function} The spawning function.
|
173
173
|
* @returns {Function} a function which has a done continuation.
|
@@ -180,7 +180,7 @@
|
|
180
180
|
gen = fan;
|
181
181
|
|
182
182
|
if (isGenFun) {
|
183
|
-
var args = slice.call(arguments),
|
183
|
+
var args = slice.call(arguments),
|
184
184
|
len = args.length,
|
185
185
|
hasCallback = len && typeof args[len - 1] === fnString;
|
186
186
|
|
@@ -228,7 +228,7 @@
|
|
228
228
|
var called = false;
|
229
229
|
try {
|
230
230
|
ret.value.call(ctx, function(){
|
231
|
-
if (called) {
|
231
|
+
if (called) {
|
232
232
|
return;
|
233
233
|
}
|
234
234
|
|
@@ -237,7 +237,7 @@
|
|
237
237
|
});
|
238
238
|
} catch (e) {
|
239
239
|
timeoutScheduler.schedule(function () {
|
240
|
-
if (called) {
|
240
|
+
if (called) {
|
241
241
|
return;
|
242
242
|
}
|
243
243
|
|
@@ -251,7 +251,7 @@
|
|
251
251
|
// Not supported
|
252
252
|
next(new TypeError('Rx.spawn only supports a function, Promise, Observable, Object or Array.'));
|
253
253
|
}
|
254
|
-
}
|
254
|
+
}
|
255
255
|
};
|
256
256
|
|
257
257
|
/**
|
@@ -286,24 +286,24 @@
|
|
286
286
|
}
|
287
287
|
}
|
288
288
|
}
|
289
|
-
};
|
289
|
+
};
|
290
290
|
|
291
291
|
/**
|
292
292
|
* Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence.
|
293
|
-
*
|
293
|
+
*
|
294
294
|
* @example
|
295
295
|
* var res = Rx.Observable.start(function () { console.log('hello'); });
|
296
296
|
* var res = Rx.Observable.start(function () { console.log('hello'); }, Rx.Scheduler.timeout);
|
297
297
|
* var res = Rx.Observable.start(function () { this.log('hello'); }, Rx.Scheduler.timeout, console);
|
298
|
-
*
|
298
|
+
*
|
299
299
|
* @param {Function} func Function to run asynchronously.
|
300
300
|
* @param {Scheduler} [scheduler] Scheduler to run the function on. If not specified, defaults to Scheduler.timeout.
|
301
301
|
* @param [context] The context for the func parameter to be executed. If not specified, defaults to undefined.
|
302
302
|
* @returns {Observable} An observable sequence exposing the function's result value, or an exception.
|
303
|
-
*
|
303
|
+
*
|
304
304
|
* Remarks
|
305
305
|
* * The function is called immediately, not during the subscription of the resulting sequence.
|
306
|
-
* * Multiple subscriptions to the resulting sequence can observe the function's result.
|
306
|
+
* * Multiple subscriptions to the resulting sequence can observe the function's result.
|
307
307
|
*/
|
308
308
|
Observable.start = function (func, context, scheduler) {
|
309
309
|
return observableToAsync(func, context, scheduler)();
|
@@ -311,12 +311,12 @@
|
|
311
311
|
|
312
312
|
/**
|
313
313
|
* Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
|
314
|
-
*
|
314
|
+
*
|
315
315
|
* @example
|
316
316
|
* var res = Rx.Observable.toAsync(function (x, y) { return x + y; })(4, 3);
|
317
317
|
* var res = Rx.Observable.toAsync(function (x, y) { return x + y; }, Rx.Scheduler.timeout)(4, 3);
|
318
318
|
* var res = Rx.Observable.toAsync(function (x) { this.log(x); }, Rx.Scheduler.timeout, console)('hello');
|
319
|
-
*
|
319
|
+
*
|
320
320
|
* @param {Function} function Function to convert to an asynchronous function.
|
321
321
|
* @param {Scheduler} [scheduler] Scheduler to run the function on. If not specified, defaults to Scheduler.timeout.
|
322
322
|
* @param {Mixed} [context] The context for the func parameter to be executed. If not specified, defaults to undefined.
|
@@ -325,7 +325,7 @@
|
|
325
325
|
var observableToAsync = Observable.toAsync = function (func, context, scheduler) {
|
326
326
|
isScheduler(scheduler) || (scheduler = timeoutScheduler);
|
327
327
|
return function () {
|
328
|
-
var args = arguments,
|
328
|
+
var args = arguments,
|
329
329
|
subject = new AsyncSubject();
|
330
330
|
|
331
331
|
scheduler.schedule(function () {
|
@@ -344,8 +344,8 @@
|
|
344
344
|
};
|
345
345
|
|
346
346
|
/**
|
347
|
-
* Converts a callback function to an observable sequence.
|
348
|
-
*
|
347
|
+
* Converts a callback function to an observable sequence.
|
348
|
+
*
|
349
349
|
* @param {Function} function Function with a callback as the last parameter to convert to an Observable sequence.
|
350
350
|
* @param {Mixed} [context] The context for the func parameter to be executed. If not specified, defaults to undefined.
|
351
351
|
* @param {Function} [selector] A selector which takes the arguments from the callback to produce a single item to yield on next.
|
@@ -358,7 +358,7 @@
|
|
358
358
|
return new AnonymousObservable(function (observer) {
|
359
359
|
function handler(e) {
|
360
360
|
var results = e;
|
361
|
-
|
361
|
+
|
362
362
|
if (selector) {
|
363
363
|
try {
|
364
364
|
results = selector(arguments);
|
@@ -369,13 +369,13 @@
|
|
369
369
|
|
370
370
|
observer.onNext(results);
|
371
371
|
} else {
|
372
|
-
if (results.length <= 1) {
|
372
|
+
if (results.length <= 1) {
|
373
373
|
observer.onNext.apply(observer, results);
|
374
374
|
} else {
|
375
375
|
observer.onNext(results);
|
376
376
|
}
|
377
377
|
}
|
378
|
-
|
378
|
+
|
379
379
|
observer.onCompleted();
|
380
380
|
}
|
381
381
|
|
@@ -389,7 +389,7 @@
|
|
389
389
|
* Converts a Node.js callback style function to an observable sequence. This must be in function (err, ...) format.
|
390
390
|
* @param {Function} func The function to call
|
391
391
|
* @param {Mixed} [context] The context for the func parameter to be executed. If not specified, defaults to undefined.
|
392
|
-
* @param {Function} [selector] A selector which takes the arguments from the callback minus the error to produce a single item to yield on next.
|
392
|
+
* @param {Function} [selector] A selector which takes the arguments from the callback minus the error to produce a single item to yield on next.
|
393
393
|
* @returns {Function} An async function which when applied, returns an observable sequence with the callback arguments as an array.
|
394
394
|
*/
|
395
395
|
Observable.fromNodeCallback = function (func, context, selector) {
|
@@ -404,7 +404,7 @@
|
|
404
404
|
}
|
405
405
|
|
406
406
|
var results = slice.call(arguments, 1);
|
407
|
-
|
407
|
+
|
408
408
|
if (selector) {
|
409
409
|
try {
|
410
410
|
results = selector(results);
|
@@ -414,7 +414,7 @@
|
|
414
414
|
}
|
415
415
|
observer.onNext(results);
|
416
416
|
} else {
|
417
|
-
if (results.length <= 1) {
|
417
|
+
if (results.length <= 1) {
|
418
418
|
observer.onNext.apply(observer, results);
|
419
419
|
} else {
|
420
420
|
observer.onNext(results);
|
@@ -449,7 +449,7 @@
|
|
449
449
|
|
450
450
|
event || (event = root.event);
|
451
451
|
if (!event.target) {
|
452
|
-
event.target = event.target || event.srcElement;
|
452
|
+
event.target = event.target || event.srcElement;
|
453
453
|
|
454
454
|
if (event.type == 'mouseover') {
|
455
455
|
event.relatedTarget = event.fromElement;
|
@@ -470,14 +470,14 @@
|
|
470
470
|
c = 0;
|
471
471
|
event.keyCode = 13;
|
472
472
|
} else if (c == 13 || c == 27) {
|
473
|
-
c = 0;
|
473
|
+
c = 0;
|
474
474
|
} else if (c == 3) {
|
475
|
-
c = 99;
|
475
|
+
c = 99;
|
476
476
|
}
|
477
477
|
event.charCode = c;
|
478
478
|
event.keyChar = event.charCode ? String.fromCharCode(event.charCode) : '';
|
479
479
|
break;
|
480
|
-
}
|
480
|
+
}
|
481
481
|
}
|
482
482
|
|
483
483
|
return event;
|
@@ -490,7 +490,7 @@
|
|
490
490
|
return disposableCreate(function () {
|
491
491
|
element.removeEventListener(name, handler, false);
|
492
492
|
});
|
493
|
-
}
|
493
|
+
}
|
494
494
|
if (element.attachEvent) {
|
495
495
|
// IE Specific
|
496
496
|
var innerHandler = function (event) {
|
@@ -499,9 +499,9 @@
|
|
499
499
|
element.attachEvent('on' + name, innerHandler);
|
500
500
|
return disposableCreate(function () {
|
501
501
|
element.detachEvent('on' + name, innerHandler);
|
502
|
-
});
|
502
|
+
});
|
503
503
|
}
|
504
|
-
// Level 1 DOM Events
|
504
|
+
// Level 1 DOM Events
|
505
505
|
element['on' + name] = handler;
|
506
506
|
return disposableCreate(function () {
|
507
507
|
element['on' + name] = null;
|
@@ -524,7 +524,7 @@
|
|
524
524
|
}
|
525
525
|
|
526
526
|
/**
|
527
|
-
* Configuration option to determine whether to use native events only
|
527
|
+
* Configuration option to determine whether to use native events only
|
528
528
|
*/
|
529
529
|
Rx.config.useNativeEvents = false;
|
530
530
|
|
@@ -536,7 +536,7 @@
|
|
536
536
|
|
537
537
|
// Check for ember
|
538
538
|
var ember = !!root.Ember && typeof root.Ember.addListener === 'function';
|
539
|
-
|
539
|
+
|
540
540
|
// Check for Backbone.Marionette. Note if using AMD add Marionette as a dependency of rxjs
|
541
541
|
// for proper loading order!
|
542
542
|
var marionette = !!root.Backbone && !!root.Backbone.Marionette;
|
@@ -546,10 +546,10 @@
|
|
546
546
|
*
|
547
547
|
* @example
|
548
548
|
* var source = Rx.Observable.fromEvent(element, 'mouseup');
|
549
|
-
*
|
549
|
+
*
|
550
550
|
* @param {Object} element The DOMElement or NodeList to attach a listener.
|
551
551
|
* @param {String} eventName The event name to attach the observable sequence.
|
552
|
-
* @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.
|
552
|
+
* @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.
|
553
553
|
* @returns {Observable} An observable sequence of events from the specified element and the specified event.
|
554
554
|
*/
|
555
555
|
Observable.fromEvent = function (element, eventName, selector) {
|
@@ -559,7 +559,7 @@
|
|
559
559
|
function (h) { element.addListener(eventName, h); },
|
560
560
|
function (h) { element.removeListener(eventName, h); },
|
561
561
|
selector);
|
562
|
-
}
|
562
|
+
}
|
563
563
|
|
564
564
|
// Use only if non-native events are allowed
|
565
565
|
if (!Rx.config.useNativeEvents) {
|
@@ -574,7 +574,7 @@
|
|
574
574
|
function (h) { Ember.addListener(element, eventName, h); },
|
575
575
|
function (h) { Ember.removeListener(element, eventName, h); },
|
576
576
|
selector);
|
577
|
-
}
|
577
|
+
}
|
578
578
|
if (jq) {
|
579
579
|
var $elem = jq(element);
|
580
580
|
return fromEventPattern(
|
@@ -585,9 +585,9 @@
|
|
585
585
|
}
|
586
586
|
return new AnonymousObservable(function (observer) {
|
587
587
|
return createEventListener(
|
588
|
-
element,
|
589
|
-
eventName,
|
590
|
-
function handler (e) {
|
588
|
+
element,
|
589
|
+
eventName,
|
590
|
+
function handler (e) {
|
591
591
|
var results = e;
|
592
592
|
|
593
593
|
if (selector) {
|
@@ -599,7 +599,7 @@
|
|
599
599
|
}
|
600
600
|
}
|
601
601
|
|
602
|
-
observer.onNext(results);
|
602
|
+
observer.onNext(results);
|
603
603
|
});
|
604
604
|
}).publish().refCount();
|
605
605
|
};
|
@@ -650,5 +650,5 @@
|
|
650
650
|
return observableFromPromise(promise);
|
651
651
|
}
|
652
652
|
|
653
|
-
return Rx;
|
654
|
-
}));
|
653
|
+
return Rx;
|
654
|
+
}));
|
@@ -1 +1,3 @@
|
|
1
|
-
|
1
|
+
/* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/
|
2
|
+
(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){return Array.isArray(a)?e.call(b,a):h(a)?y(a.call(b)):i(a)?y(a):g(a)?observableToThunk(a):isPromise(a)?f(a):typeof a===x?a:j(a)||Array.isArray(a)?e.call(b,a):a}function e(a){var b=this;return function(c){function e(a,e){if(!f)try{if(a=d(a,b),typeof a!==x)return i[e]=a,--h||c(null,i);a.call(b,function(a,b){if(!f){if(a)return f=!0,c(a);i[e]=b,--h||c(null,i)}})}catch(g){f=!0,c(g)}}var f,g=Object.keys(a),h=g.length,i=new a.constructor;if(!h)return void u.schedule(function(){c(null,i)});for(var j=0,k=g.length;k>j;j++)e(a[g[j]],g[j])}}function f(a){return function(b){a.then(function(a){b(null,a)},b)}}function g(a){return a&&a.prototype.subscribe===x}function h(a){return a&&a.constructor&&"GeneratorFunction"===a.constructor.name}function i(a){return a&&typeof a.next===x&&typeof a.throw===x}function j(a){return a&&a.constructor===Object}function k(b){var c=function(){this.cancelBubble=!0},d=function(){if(this.bubbledKeyCode=this.keyCode,this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0,this.returnValue=!1,this.modified=!0};if(b||(b=a.event),!b.target)switch(b.target=b.target||b.srcElement,"mouseover"==b.type&&(b.relatedTarget=b.fromElement),"mouseout"==b.type&&(b.relatedTarget=b.toElement),b.stopPropagation||(b.stopPropagation=c,b.preventDefault=d),b.type){case"keypress":var e="charCode"in b?b.charCode:b.keyCode;10==e?(e=0,b.keyCode=13):13==e||27==e?e=0:3==e&&(e=99),b.charCode=e,b.keyChar=b.charCode?String.fromCharCode(b.charCode):""}return b}function l(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),s(function(){a.removeEventListener(b,c,!1)});if(a.attachEvent){var d=function(a){c(k(a))};return a.attachEvent("on"+b,d),s(function(){a.detachEvent("on"+b,d)})}return a["on"+b]=c,s(function(){a["on"+b]=null})}function m(a,b,c){var d=new t;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(m(a.item(e),b,c));else a&&d.add(l(a,b,c));return d}var n=c.Observable,o=(n.prototype,n.fromPromise),p=n.throwException,q=c.AnonymousObservable,r=c.AsyncSubject,s=c.Disposable.create,t=c.CompositeDisposable,u=(c.Scheduler.immediate,c.Scheduler.timeout),v=c.helpers.isScheduler,w=Array.prototype.slice,x="function",y=c.spawn=function(a){var b=h(a);return function(c){function e(a,b){u.schedule(c.bind(g,a,b))}function f(a,b){var c;if(arguments.length>2&&(b=w.call(arguments,1)),a)try{c=h.throw(a)}catch(i){return e(i)}if(!a)try{c=h.next(b)}catch(i){return e(i)}if(c.done)return e(null,c.value);if(c.value=d(c.value,g),typeof c.value!==x)f(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var j=!1;try{c.value.call(g,function(){j||(j=!0,f.apply(g,arguments))})}catch(i){u.schedule(function(){j||(j=!0,f.call(g,i))})}}}var g=this,h=fan;if(b){var i=w.call(arguments),j=i.length,k=j&&typeof i[j-1]===x;c=k?i.pop():error,h=a.apply(this,i)}else c=c||error;f()}};c.denodify=function(a){return function(){var b,c,d,e=w.call(arguments);return e.push(function(){b=arguments,d&&!c&&(c=!0,cb.apply(this,b))}),a.apply(this,e),function(a){d=a,b&&!c&&(c=!0,a.apply(this,b))}}},n.start=function(a,b,c){return z(a,b,c)()};var z=n.toAsync=function(a,b,c){return v(c)||(c=u),function(){var d=arguments,e=new r;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()}};n.fromCallback=function(a,b,c){return function(){var d=w.call(arguments,0);return new q(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()}},n.fromNodeCallback=function(a,b,c){return function(){var d=w.call(arguments,0);return new q(function(e){function f(a){if(a)return void e.onError(a);var b=w.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 A=a.angular&&angular.element?angular.element:a.jQuery?a.jQuery:a.Zepto?a.Zepto:null,B=!!a.Ember&&"function"==typeof a.Ember.addListener,C=!!a.Backbone&&!!a.Backbone.Marionette;n.fromEvent=function(a,b,d){if(a.addListener)return D(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},d);if(!c.config.useNativeEvents){if(C)return D(function(c){a.on(b,c)},function(c){a.off(b,c)},d);if(B)return D(function(c){Ember.addListener(a,b,c)},function(c){Ember.removeListener(a,b,c)},d);if(A){var e=A(a);return D(function(a){e.on(b,a)},function(a){e.off(b,a)},d)}}return new q(function(c){return m(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 D=n.fromEventPattern=function(a,b,c){return new q(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 s(function(){b&&b(e,f)})}).publish().refCount()};return n.startAsync=function(a){var b;try{b=a()}catch(c){return p(c)}return o(b)},c});
|
3
|
+
//# sourceMappingURL=rx.async.compat.map
|
@@ -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 = {
|
@@ -15,7 +15,7 @@
|
|
15
15
|
freeModule = objectTypes[typeof module] && module && !module.nodeType && module,
|
16
16
|
moduleExports = freeModule && freeModule.exports === freeExports && freeExports,
|
17
17
|
freeGlobal = objectTypes[typeof global] && global;
|
18
|
-
|
18
|
+
|
19
19
|
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
|
20
20
|
root = freeGlobal;
|
21
21
|
}
|
@@ -32,7 +32,7 @@
|
|
32
32
|
root.Rx = factory(root, {}, root.Rx);
|
33
33
|
}
|
34
34
|
}.call(this, function (root, exp, Rx, undefined) {
|
35
|
-
|
35
|
+
|
36
36
|
// Aliases
|
37
37
|
var Observable = Rx.Observable,
|
38
38
|
observableProto = Observable.prototype,
|
@@ -48,7 +48,7 @@
|
|
48
48
|
slice = Array.prototype.slice;
|
49
49
|
|
50
50
|
var fnString = 'function';
|
51
|
-
|
51
|
+
|
52
52
|
function toThunk(obj, ctx) {
|
53
53
|
if (Array.isArray(obj)) {
|
54
54
|
return objectToThunk.call(ctx, obj);
|
@@ -149,7 +149,7 @@
|
|
149
149
|
fn(null, res);
|
150
150
|
}, fn);
|
151
151
|
}
|
152
|
-
}
|
152
|
+
}
|
153
153
|
|
154
154
|
function isObservable(obj) {
|
155
155
|
return obj && obj.prototype.subscribe === fnString;
|
@@ -167,7 +167,7 @@
|
|
167
167
|
return val && val.constructor === Object;
|
168
168
|
}
|
169
169
|
|
170
|
-
/*
|
170
|
+
/*
|
171
171
|
* Spawns a generator function which allows for Promises, Observable sequences, Arrays, Objects, Generators and functions.
|
172
172
|
* @param {Function} The spawning function.
|
173
173
|
* @returns {Function} a function which has a done continuation.
|
@@ -180,7 +180,7 @@
|
|
180
180
|
gen = fan;
|
181
181
|
|
182
182
|
if (isGenFun) {
|
183
|
-
var args = slice.call(arguments),
|
183
|
+
var args = slice.call(arguments),
|
184
184
|
len = args.length,
|
185
185
|
hasCallback = len && typeof args[len - 1] === fnString;
|
186
186
|
|
@@ -228,7 +228,7 @@
|
|
228
228
|
var called = false;
|
229
229
|
try {
|
230
230
|
ret.value.call(ctx, function(){
|
231
|
-
if (called) {
|
231
|
+
if (called) {
|
232
232
|
return;
|
233
233
|
}
|
234
234
|
|
@@ -237,7 +237,7 @@
|
|
237
237
|
});
|
238
238
|
} catch (e) {
|
239
239
|
timeoutScheduler.schedule(function () {
|
240
|
-
if (called) {
|
240
|
+
if (called) {
|
241
241
|
return;
|
242
242
|
}
|
243
243
|
|
@@ -251,7 +251,7 @@
|
|
251
251
|
// Not supported
|
252
252
|
next(new TypeError('Rx.spawn only supports a function, Promise, Observable, Object or Array.'));
|
253
253
|
}
|
254
|
-
}
|
254
|
+
}
|
255
255
|
};
|
256
256
|
|
257
257
|
/**
|
@@ -286,24 +286,24 @@
|
|
286
286
|
}
|
287
287
|
}
|
288
288
|
}
|
289
|
-
};
|
289
|
+
};
|
290
290
|
|
291
291
|
/**
|
292
292
|
* Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence.
|
293
|
-
*
|
293
|
+
*
|
294
294
|
* @example
|
295
295
|
* var res = Rx.Observable.start(function () { console.log('hello'); });
|
296
296
|
* var res = Rx.Observable.start(function () { console.log('hello'); }, Rx.Scheduler.timeout);
|
297
297
|
* var res = Rx.Observable.start(function () { this.log('hello'); }, Rx.Scheduler.timeout, console);
|
298
|
-
*
|
298
|
+
*
|
299
299
|
* @param {Function} func Function to run asynchronously.
|
300
300
|
* @param {Scheduler} [scheduler] Scheduler to run the function on. If not specified, defaults to Scheduler.timeout.
|
301
301
|
* @param [context] The context for the func parameter to be executed. If not specified, defaults to undefined.
|
302
302
|
* @returns {Observable} An observable sequence exposing the function's result value, or an exception.
|
303
|
-
*
|
303
|
+
*
|
304
304
|
* Remarks
|
305
305
|
* * The function is called immediately, not during the subscription of the resulting sequence.
|
306
|
-
* * Multiple subscriptions to the resulting sequence can observe the function's result.
|
306
|
+
* * Multiple subscriptions to the resulting sequence can observe the function's result.
|
307
307
|
*/
|
308
308
|
Observable.start = function (func, context, scheduler) {
|
309
309
|
return observableToAsync(func, context, scheduler)();
|
@@ -311,12 +311,12 @@
|
|
311
311
|
|
312
312
|
/**
|
313
313
|
* Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
|
314
|
-
*
|
314
|
+
*
|
315
315
|
* @example
|
316
316
|
* var res = Rx.Observable.toAsync(function (x, y) { return x + y; })(4, 3);
|
317
317
|
* var res = Rx.Observable.toAsync(function (x, y) { return x + y; }, Rx.Scheduler.timeout)(4, 3);
|
318
318
|
* var res = Rx.Observable.toAsync(function (x) { this.log(x); }, Rx.Scheduler.timeout, console)('hello');
|
319
|
-
*
|
319
|
+
*
|
320
320
|
* @param {Function} function Function to convert to an asynchronous function.
|
321
321
|
* @param {Scheduler} [scheduler] Scheduler to run the function on. If not specified, defaults to Scheduler.timeout.
|
322
322
|
* @param {Mixed} [context] The context for the func parameter to be executed. If not specified, defaults to undefined.
|
@@ -325,7 +325,7 @@
|
|
325
325
|
var observableToAsync = Observable.toAsync = function (func, context, scheduler) {
|
326
326
|
isScheduler(scheduler) || (scheduler = timeoutScheduler);
|
327
327
|
return function () {
|
328
|
-
var args = arguments,
|
328
|
+
var args = arguments,
|
329
329
|
subject = new AsyncSubject();
|
330
330
|
|
331
331
|
scheduler.schedule(function () {
|
@@ -344,8 +344,8 @@
|
|
344
344
|
};
|
345
345
|
|
346
346
|
/**
|
347
|
-
* Converts a callback function to an observable sequence.
|
348
|
-
*
|
347
|
+
* Converts a callback function to an observable sequence.
|
348
|
+
*
|
349
349
|
* @param {Function} function Function with a callback as the last parameter to convert to an Observable sequence.
|
350
350
|
* @param {Mixed} [context] The context for the func parameter to be executed. If not specified, defaults to undefined.
|
351
351
|
* @param {Function} [selector] A selector which takes the arguments from the callback to produce a single item to yield on next.
|
@@ -358,7 +358,7 @@
|
|
358
358
|
return new AnonymousObservable(function (observer) {
|
359
359
|
function handler(e) {
|
360
360
|
var results = e;
|
361
|
-
|
361
|
+
|
362
362
|
if (selector) {
|
363
363
|
try {
|
364
364
|
results = selector(arguments);
|
@@ -369,13 +369,13 @@
|
|
369
369
|
|
370
370
|
observer.onNext(results);
|
371
371
|
} else {
|
372
|
-
if (results.length <= 1) {
|
372
|
+
if (results.length <= 1) {
|
373
373
|
observer.onNext.apply(observer, results);
|
374
374
|
} else {
|
375
375
|
observer.onNext(results);
|
376
376
|
}
|
377
377
|
}
|
378
|
-
|
378
|
+
|
379
379
|
observer.onCompleted();
|
380
380
|
}
|
381
381
|
|
@@ -389,7 +389,7 @@
|
|
389
389
|
* Converts a Node.js callback style function to an observable sequence. This must be in function (err, ...) format.
|
390
390
|
* @param {Function} func The function to call
|
391
391
|
* @param {Mixed} [context] The context for the func parameter to be executed. If not specified, defaults to undefined.
|
392
|
-
* @param {Function} [selector] A selector which takes the arguments from the callback minus the error to produce a single item to yield on next.
|
392
|
+
* @param {Function} [selector] A selector which takes the arguments from the callback minus the error to produce a single item to yield on next.
|
393
393
|
* @returns {Function} An async function which when applied, returns an observable sequence with the callback arguments as an array.
|
394
394
|
*/
|
395
395
|
Observable.fromNodeCallback = function (func, context, selector) {
|
@@ -404,7 +404,7 @@
|
|
404
404
|
}
|
405
405
|
|
406
406
|
var results = slice.call(arguments, 1);
|
407
|
-
|
407
|
+
|
408
408
|
if (selector) {
|
409
409
|
try {
|
410
410
|
results = selector(results);
|
@@ -414,7 +414,7 @@
|
|
414
414
|
}
|
415
415
|
observer.onNext(results);
|
416
416
|
} else {
|
417
|
-
if (results.length <= 1) {
|
417
|
+
if (results.length <= 1) {
|
418
418
|
observer.onNext.apply(observer, results);
|
419
419
|
} else {
|
420
420
|
observer.onNext(results);
|
@@ -456,7 +456,7 @@
|
|
456
456
|
}
|
457
457
|
|
458
458
|
/**
|
459
|
-
* Configuration option to determine whether to use native events only
|
459
|
+
* Configuration option to determine whether to use native events only
|
460
460
|
*/
|
461
461
|
Rx.config.useNativeEvents = false;
|
462
462
|
|
@@ -468,7 +468,7 @@
|
|
468
468
|
|
469
469
|
// Check for ember
|
470
470
|
var ember = !!root.Ember && typeof root.Ember.addListener === 'function';
|
471
|
-
|
471
|
+
|
472
472
|
// Check for Backbone.Marionette. Note if using AMD add Marionette as a dependency of rxjs
|
473
473
|
// for proper loading order!
|
474
474
|
var marionette = !!root.Backbone && !!root.Backbone.Marionette;
|
@@ -478,10 +478,10 @@
|
|
478
478
|
*
|
479
479
|
* @example
|
480
480
|
* var source = Rx.Observable.fromEvent(element, 'mouseup');
|
481
|
-
*
|
481
|
+
*
|
482
482
|
* @param {Object} element The DOMElement or NodeList to attach a listener.
|
483
483
|
* @param {String} eventName The event name to attach the observable sequence.
|
484
|
-
* @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.
|
484
|
+
* @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.
|
485
485
|
* @returns {Observable} An observable sequence of events from the specified element and the specified event.
|
486
486
|
*/
|
487
487
|
Observable.fromEvent = function (element, eventName, selector) {
|
@@ -491,8 +491,8 @@
|
|
491
491
|
function (h) { element.addListener(eventName, h); },
|
492
492
|
function (h) { element.removeListener(eventName, h); },
|
493
493
|
selector);
|
494
|
-
}
|
495
|
-
|
494
|
+
}
|
495
|
+
|
496
496
|
// Use only if non-native events are allowed
|
497
497
|
if (!Rx.config.useNativeEvents) {
|
498
498
|
if (marionette) {
|
@@ -506,7 +506,7 @@
|
|
506
506
|
function (h) { Ember.addListener(element, eventName, h); },
|
507
507
|
function (h) { Ember.removeListener(element, eventName, h); },
|
508
508
|
selector);
|
509
|
-
}
|
509
|
+
}
|
510
510
|
if (jq) {
|
511
511
|
var $elem = jq(element);
|
512
512
|
return fromEventPattern(
|
@@ -517,9 +517,9 @@
|
|
517
517
|
}
|
518
518
|
return new AnonymousObservable(function (observer) {
|
519
519
|
return createEventListener(
|
520
|
-
element,
|
521
|
-
eventName,
|
522
|
-
function handler (e) {
|
520
|
+
element,
|
521
|
+
eventName,
|
522
|
+
function handler (e) {
|
523
523
|
var results = e;
|
524
524
|
|
525
525
|
if (selector) {
|
@@ -531,7 +531,7 @@
|
|
531
531
|
}
|
532
532
|
}
|
533
533
|
|
534
|
-
observer.onNext(results);
|
534
|
+
observer.onNext(results);
|
535
535
|
});
|
536
536
|
}).publish().refCount();
|
537
537
|
};
|
@@ -582,5 +582,5 @@
|
|
582
582
|
return observableFromPromise(promise);
|
583
583
|
}
|
584
584
|
|
585
|
-
return Rx;
|
586
|
-
}));
|
585
|
+
return Rx;
|
586
|
+
}));
|
@@ -1 +1,3 @@
|
|
1
|
-
|
1
|
+
/* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/
|
2
|
+
(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){return Array.isArray(a)?e.call(b,a):h(a)?x(a.call(b)):i(a)?x(a):g(a)?observableToThunk(a):isPromise(a)?f(a):typeof a===w?a:j(a)||Array.isArray(a)?e.call(b,a):a}function e(a){var b=this;return function(c){function e(a,e){if(!f)try{if(a=d(a,b),typeof a!==w)return i[e]=a,--h||c(null,i);a.call(b,function(a,b){if(!f){if(a)return f=!0,c(a);i[e]=b,--h||c(null,i)}})}catch(g){f=!0,c(g)}}var f,g=Object.keys(a),h=g.length,i=new a.constructor;if(!h)return void t.schedule(function(){c(null,i)});for(var j=0,k=g.length;k>j;j++)e(a[g[j]],g[j])}}function f(a){return function(b){a.then(function(a){b(null,a)},b)}}function g(a){return a&&a.prototype.subscribe===w}function h(a){return a&&a.constructor&&"GeneratorFunction"===a.constructor.name}function i(a){return a&&typeof a.next===w&&typeof a.throw===w}function j(a){return a&&a.constructor===Object}function k(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),r(function(){a.removeEventListener(b,c,!1)});throw new Error("No listener found")}function l(a,b,c){var d=new s;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(l(a.item(e),b,c));else a&&d.add(k(a,b,c));return d}var m=c.Observable,n=(m.prototype,m.fromPromise),o=m.throwException,p=c.AnonymousObservable,q=c.AsyncSubject,r=c.Disposable.create,s=c.CompositeDisposable,t=(c.Scheduler.immediate,c.Scheduler.timeout),u=c.helpers.isScheduler,v=Array.prototype.slice,w="function",x=c.spawn=function(a){var b=h(a);return function(c){function e(a,b){t.schedule(c.bind(g,a,b))}function f(a,b){var c;if(arguments.length>2&&(b=v.call(arguments,1)),a)try{c=h.throw(a)}catch(i){return e(i)}if(!a)try{c=h.next(b)}catch(i){return e(i)}if(c.done)return e(null,c.value);if(c.value=d(c.value,g),typeof c.value!==w)f(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var j=!1;try{c.value.call(g,function(){j||(j=!0,f.apply(g,arguments))})}catch(i){t.schedule(function(){j||(j=!0,f.call(g,i))})}}}var g=this,h=fan;if(b){var i=v.call(arguments),j=i.length,k=j&&typeof i[j-1]===w;c=k?i.pop():error,h=a.apply(this,i)}else c=c||error;f()}};c.denodify=function(a){return function(){var b,c,d,e=v.call(arguments);return e.push(function(){b=arguments,d&&!c&&(c=!0,cb.apply(this,b))}),a.apply(this,e),function(a){d=a,b&&!c&&(c=!0,a.apply(this,b))}}},m.start=function(a,b,c){return y(a,b,c)()};var y=m.toAsync=function(a,b,c){return u(c)||(c=t),function(){var d=arguments,e=new q;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()}};m.fromCallback=function(a,b,c){return function(){var d=v.call(arguments,0);return new p(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()}},m.fromNodeCallback=function(a,b,c){return function(){var d=v.call(arguments,0);return new p(function(e){function f(a){if(a)return void e.onError(a);var b=v.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 z=a.angular&&angular.element?angular.element:a.jQuery?a.jQuery:a.Zepto?a.Zepto:null,A=!!a.Ember&&"function"==typeof a.Ember.addListener,B=!!a.Backbone&&!!a.Backbone.Marionette;m.fromEvent=function(a,b,d){if(a.addListener)return C(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},d);if(!c.config.useNativeEvents){if(B)return C(function(c){a.on(b,c)},function(c){a.off(b,c)},d);if(A)return C(function(c){Ember.addListener(a,b,c)},function(c){Ember.removeListener(a,b,c)},d);if(z){var e=z(a);return C(function(a){e.on(b,a)},function(a){e.off(b,a)},d)}}return new p(function(c){return l(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 C=m.fromEventPattern=function(a,b,c){return new p(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 r(function(){b&&b(e,f)})}).publish().refCount()};return m.startAsync=function(a){var b;try{b=a()}catch(c){return o(c)}return n(b)},c});
|
3
|
+
//# sourceMappingURL=rx.async.map
|