rxjs-rails 2.4.1 → 2.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rxjs/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/rx.aggregates.js +15 -19
  4. data/vendor/assets/javascripts/rx.aggregates.map +1 -1
  5. data/vendor/assets/javascripts/rx.aggregates.min.js +1 -1
  6. data/vendor/assets/javascripts/rx.all.compat.js +1014 -566
  7. data/vendor/assets/javascripts/rx.all.compat.map +1 -1
  8. data/vendor/assets/javascripts/rx.all.compat.min.js +4 -4
  9. data/vendor/assets/javascripts/rx.all.js +1009 -563
  10. data/vendor/assets/javascripts/rx.all.map +1 -1
  11. data/vendor/assets/javascripts/rx.all.min.js +4 -4
  12. data/vendor/assets/javascripts/rx.async.compat.js +17 -15
  13. data/vendor/assets/javascripts/rx.async.compat.map +1 -1
  14. data/vendor/assets/javascripts/rx.async.compat.min.js +1 -1
  15. data/vendor/assets/javascripts/rx.async.js +17 -15
  16. data/vendor/assets/javascripts/rx.async.map +1 -1
  17. data/vendor/assets/javascripts/rx.async.min.js +1 -1
  18. data/vendor/assets/javascripts/rx.backpressure.js +53 -43
  19. data/vendor/assets/javascripts/rx.backpressure.map +1 -1
  20. data/vendor/assets/javascripts/rx.backpressure.min.js +1 -1
  21. data/vendor/assets/javascripts/rx.binding.js +31 -12
  22. data/vendor/assets/javascripts/rx.binding.map +1 -1
  23. data/vendor/assets/javascripts/rx.binding.min.js +1 -1
  24. data/vendor/assets/javascripts/rx.coincidence.js +3 -2
  25. data/vendor/assets/javascripts/rx.coincidence.map +1 -1
  26. data/vendor/assets/javascripts/rx.coincidence.min.js +1 -1
  27. data/vendor/assets/javascripts/rx.compat.js +821 -444
  28. data/vendor/assets/javascripts/rx.compat.map +1 -1
  29. data/vendor/assets/javascripts/rx.compat.min.js +2 -2
  30. data/vendor/assets/javascripts/rx.experimental.js +2 -9
  31. data/vendor/assets/javascripts/rx.experimental.map +1 -1
  32. data/vendor/assets/javascripts/rx.experimental.min.js +1 -1
  33. data/vendor/assets/javascripts/rx.joinpatterns.js +14 -22
  34. data/vendor/assets/javascripts/rx.joinpatterns.map +1 -1
  35. data/vendor/assets/javascripts/rx.joinpatterns.min.js +1 -1
  36. data/vendor/assets/javascripts/rx.js +817 -442
  37. data/vendor/assets/javascripts/rx.lite.compat.js +897 -443
  38. data/vendor/assets/javascripts/rx.lite.compat.map +1 -1
  39. data/vendor/assets/javascripts/rx.lite.compat.min.js +3 -2
  40. data/vendor/assets/javascripts/rx.lite.extras.compat.js +621 -0
  41. data/vendor/assets/javascripts/rx.lite.extras.compat.map +1 -0
  42. data/vendor/assets/javascripts/rx.lite.extras.compat.min.js +3 -0
  43. data/vendor/assets/javascripts/rx.lite.extras.js +53 -76
  44. data/vendor/assets/javascripts/rx.lite.extras.map +1 -1
  45. data/vendor/assets/javascripts/rx.lite.extras.min.js +1 -1
  46. data/vendor/assets/javascripts/rx.lite.js +898 -444
  47. data/vendor/assets/javascripts/rx.lite.map +1 -1
  48. data/vendor/assets/javascripts/rx.lite.min.js +3 -2
  49. data/vendor/assets/javascripts/rx.map +1 -1
  50. data/vendor/assets/javascripts/rx.min.js +2 -2
  51. data/vendor/assets/javascripts/rx.testing.js +10 -11
  52. data/vendor/assets/javascripts/rx.testing.map +1 -1
  53. data/vendor/assets/javascripts/rx.testing.min.js +1 -1
  54. data/vendor/assets/javascripts/rx.time.js +80 -40
  55. data/vendor/assets/javascripts/rx.time.map +1 -1
  56. data/vendor/assets/javascripts/rx.time.min.js +1 -1
  57. data/vendor/assets/javascripts/rx.virtualtime.js +6 -13
  58. data/vendor/assets/javascripts/rx.virtualtime.map +1 -1
  59. data/vendor/assets/javascripts/rx.virtualtime.min.js +1 -1
  60. metadata +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"rx.binding.min.js","sources":["rx.binding.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","checkDisposed","self","isDisposed","Error","objectDisposed","cloneArray","arr","a","i","len","length","push","Observable","observableProto","prototype","AnonymousObservable","Subject","AsyncSubject","Observer","ScheduledObserver","internals","disposableCreate","Disposable","create","disposableEmpty","empty","CompositeDisposable","currentThreadScheduler","Scheduler","currentThread","isFunction","helpers","inherits","addProperties","multicast","subjectOrSubjectSelector","selector","source","observer","connectable","subscribe","connect","ConnectableObservable","publish","share","refCount","publishLast","publishValue","initialValueOrSelector","initialValue","arguments","BehaviorSubject","shareValue","replay","bufferSize","scheduler","ReplaySubject","shareReplay","InnerSubscription","subject","dispose","idx","observers","indexOf","splice","__super__","isStopped","hasError","onError","error","onCompleted","onNext","value","hasObservers","os","exception","createRemovableDisposable","so","subscription","_trim","now","q","ensureActive","windowSize","Number","MAX_VALUE","shift","interval","hasSubscription","sourceObservable","asObservable","o","connectableSubscription","count","shouldConnect"],"mappings":"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"}
1
+ {"version":3,"file":"rx.binding.min.js","sources":["rx.binding.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","cloneArray","arr","len","length","a","Array","i","Observable","observableProto","prototype","AnonymousObservable","Subject","AsyncSubject","Observer","ScheduledObserver","internals","disposableCreate","Disposable","create","disposableEmpty","empty","CompositeDisposable","currentThreadScheduler","Scheduler","currentThread","isFunction","helpers","inherits","addProperties","checkDisposed","multicast","subjectOrSubjectSelector","selector","source","observer","connectable","subscribe","connect","ConnectableObservable","publish","share","refCount","publishLast","publishValue","initialValueOrSelector","initialValue","arguments","BehaviorSubject","shareValue","replay","bufferSize","windowSize","scheduler","ReplaySubject","shareReplay","InnerSubscription","subject","dispose","isDisposed","idx","observers","indexOf","splice","__super__","isStopped","hasError","onError","error","onCompleted","push","onNext","value","getValue","hasObservers","os","exception","createRemovableDisposable","so","subscription","_trim","now","q","ensureActive","maxSafeInteger","Math","pow","shift","interval","hasSubscription","sourceObservable","asObservable","o","connectableSubscription","count","shouldConnect"],"mappings":"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"}
@@ -1,3 +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"],function(b,d){return a(c,d,b)}):"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){if(a.isDisposed)throw new Error(t)}function e(a){for(var b=[],c=0,d=a.length;d>c;c++)b.push(a[c]);return b}var f=c.Observable,g=f.prototype,h=c.AnonymousObservable,i=c.Subject,j=c.AsyncSubject,k=c.Observer,l=c.internals.ScheduledObserver,m=c.Disposable.create,n=c.Disposable.empty,o=c.CompositeDisposable,p=c.Scheduler.currentThread,q=c.helpers.isFunction,r=c.internals.inherits,s=c.internals.addProperties,t="Object has been disposed";g.multicast=function(a,b){var c=this;return"function"==typeof a?new h(function(d){var e=c.multicast(a());return new o(b(e).subscribe(d),e.connect())},c):new x(c,a)},g.publish=function(a){return a&&q(a)?this.multicast(function(){return new i},a):this.multicast(new i)},g.share=function(){return this.publish().refCount()},g.publishLast=function(a){return a&&q(a)?this.multicast(function(){return new j},a):this.multicast(new j)},g.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new v(b)},a):this.multicast(new v(a))},g.shareValue=function(a){return this.publishValue(a).refCount()},g.replay=function(a,b,c,d){return a&&q(a)?this.multicast(function(){return new w(b,c,d)},a):this.multicast(new w(b,c,d))},g.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var u=function(a,b){this.subject=a,this.observer=b};u.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 v=c.BehaviorSubject=function(a){function b(a){return d(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),n):(this.observers.push(a),a.onNext(this.value),new u(this,a))}function c(c){a.call(this,b),this.value=c,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return r(c,a),s(c.prototype,k,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(d(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=e(this.observers),c=b.length;c>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(d(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,c=e(this.observers),f=c.length;f>b;b++)c[b].onError(a);this.observers.length=0}},onNext:function(a){if(d(this),!this.isStopped){this.value=a;for(var b=0,c=e(this.observers),f=c.length;f>b;b++)c[b].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),c}(f),w=c.ReplaySubject=function(a){function b(a,b){return m(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function c(a){var c=new l(this.scheduler,a),e=b(this,c);d(this),this._trim(this.scheduler.now()),this.observers.push(c);for(var f=0,g=this.q.length;g>f;f++)c.onNext(this.q[f].value);return this.hasError?c.onError(this.error):this.isStopped&&c.onCompleted(),c.ensureActive(),e}function f(b,d,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==d?Number.MAX_VALUE:d,this.scheduler=e||p,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,c)}return r(f,a),s(f.prototype,k.prototype,{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){if(d(this),!this.isStopped){var b=this.scheduler.now();this.q.push({interval:b,value:a}),this._trim(b);for(var c=0,f=e(this.observers),g=f.length;g>c;c++){var h=f[c];h.onNext(a),h.ensureActive()}}},onError:function(a){if(d(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var b=this.scheduler.now();this._trim(b);for(var c=0,f=e(this.observers),g=f.length;g>c;c++){var h=f[c];h.onError(a),h.ensureActive()}this.observers.length=0}},onCompleted:function(){if(d(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var b=0,c=e(this.observers),f=c.length;f>b;b++){var g=c[b];g.onCompleted(),g.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),f}(f),x=c.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new o(f.subscribe(c),m(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return r(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new h(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(f);return c});
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"],function(b,d){return a(c,d,b)}):"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){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}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.helpers.isFunction,q=c.internals.inherits,r=c.internals.addProperties,s=c.Disposable.checkDisposed;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())},c):new w(c,a)},f.publish=function(a){return a&&p(a)?this.multicast(function(){return new h},a):this.multicast(new h)},f.share=function(){return this.publish().refCount()},f.publishLast=function(a){return a&&p(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 u(b)},a):this.multicast(new u(a))},f.shareValue=function(a){return this.publishValue(a).refCount()},f.replay=function(a,b,c,d){return a&&p(a)?this.multicast(function(){return new v(b,c,d)},a):this.multicast(new v(b,c,d))},f.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var t=function(a,b){this.subject=a,this.observer=b};t.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 u=c.BehaviorSubject=function(a){function b(a){return s(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),m):(this.observers.push(a),a.onNext(this.value),new t(this,a))}function c(c){a.call(this,b),this.value=c,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return q(c,a),r(c.prototype,j,{getValue:function(){if(s(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(s(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=d(this.observers),c=b.length;c>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(s(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,c=d(this.observers),e=c.length;e>b;b++)c[b].onError(a);this.observers.length=0}},onNext:function(a){if(s(this),!this.isStopped){this.value=a;for(var b=0,c=d(this.observers),e=c.length;e>b;b++)c[b].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),c}(e),v=c.ReplaySubject=function(a){function b(a,b){return l(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function c(a){var c=new k(this.scheduler,a),d=b(this,c);s(this),this._trim(this.scheduler.now()),this.observers.push(c);for(var e=0,f=this.q.length;f>e;e++)c.onNext(this.q[e].value);return this.hasError?c.onError(this.error):this.isStopped&&c.onCompleted(),c.ensureActive(),d}function e(b,d,e){this.bufferSize=null==b?f:b,this.windowSize=null==d?f: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)}var f=Math.pow(2,53)-1;return q(e,a),r(e.prototype,j.prototype,{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){if(s(this),!this.isStopped){var b=this.scheduler.now();this.q.push({interval:b,value:a}),this._trim(b);for(var c=0,e=d(this.observers),f=e.length;f>c;c++){var g=e[c];g.onNext(a),g.ensureActive()}}},onError:function(a){if(s(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var b=this.scheduler.now();this._trim(b);for(var c=0,e=d(this.observers),f=e.length;f>c;c++){var g=e[c];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(s(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var b=0,c=d(this.observers),e=c.length;e>b;b++){var f=c[b];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(e),w=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,function(a){return c.subscribe(a)})}return q(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});
3
3
  //# sourceMappingURL=rx.binding.map
@@ -49,7 +49,8 @@
49
49
  noop = Rx.helpers.noop,
50
50
  identity = Rx.helpers.identity,
51
51
  isPromise = Rx.helpers.isPromise,
52
- observableFromPromise = Observable.fromPromise;
52
+ observableFromPromise = Observable.fromPromise,
53
+ ArgumentOutOfRangeError = Rx.ArgumentOutOfRangeError;
53
54
 
54
55
  var Dictionary = (function () {
55
56
 
@@ -134,7 +135,7 @@
134
135
  }
135
136
 
136
137
  function Dictionary(capacity, comparer) {
137
- if (capacity < 0) { throw new Error('out of range'); }
138
+ if (capacity < 0) { throw new ArgumentOutOfRangeError(); }
138
139
  if (capacity > 0) { this._initialize(capacity); }
139
140
 
140
141
  this.comparer = comparer || defaultComparer;
@@ -1 +1 @@
1
- {"version":3,"file":"rx.coincidence.min.js","sources":["rx.coincidence.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","source","AnonymousObservable","observer","Subject","d","CompositeDisposable","r","RefCountDisposable","onNext","addRef","add","subscribe","x","err","onError","onCompleted","isPromise","observableFromPromise","observableWindowWithClosingSelector","createWindowClose","windowClose","e","m1","SingleAssignmentDisposable","m","setDisposable","take","noop","SerialDisposable","Observable","observableProto","prototype","empty","observableNever","never","Observer","create","internals","defaultComparer","isEqual","inherits","helpers","identity","fromPromise","Dictionary","isPrime","candidate","num1","Math","sqrt","num2","getPrime","min","index","num","primes","length","stringHashFn","str","hash","i","len","character","charCodeAt","numberHashFn","key","c2","newEntry","value","next","hashCode","capacity","comparer","Error","_initialize","freeCount","size","freeList","noSuchkey","duplicatekey","getHashCode","uniqueIdCounter","obj","Date","valueOf","RegExp","toString","id","dictionaryProto","prime","buckets","Array","entries","_insert","index3","index1","index2","_resize","numArray","entryArray","remove","clear","_findEntry","count","tryGetValue","entry","getValues","results","get","set","containskey","join","right","leftDurationSelector","rightDurationSelector","resultSelector","left","group","leftDone","rightDone","leftId","rightId","leftMap","rightMap","md","duration","expire","bind","forEach","v","result","exn","handleError","s","buffer","apply","arguments","selectMany","toArray","windowOpeningsOrClosingSelector","pairwise","previous","hasPrevious","partition","predicate","thisArg","filter","o","groupBy","keySelector","elementSelector","groupByUntil","durationSelector","item","map","groupDisposable","refCountDisposable","fireNewMapEntry","writer","GroupedObservable","durationGroup","element","ex","__super__","underlyingObservable","mergedDisposable","getDisposable"],"mappings":"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"}
1
+ {"version":3,"file":"rx.coincidence.min.js","sources":["rx.coincidence.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","source","AnonymousObservable","observer","Subject","d","CompositeDisposable","r","RefCountDisposable","onNext","addRef","add","subscribe","x","err","onError","onCompleted","isPromise","observableFromPromise","observableWindowWithClosingSelector","createWindowClose","windowClose","e","m1","SingleAssignmentDisposable","m","setDisposable","take","noop","SerialDisposable","Observable","observableProto","prototype","empty","observableNever","never","Observer","create","internals","defaultComparer","isEqual","inherits","helpers","identity","fromPromise","ArgumentOutOfRangeError","Dictionary","isPrime","candidate","num1","Math","sqrt","num2","getPrime","min","index","num","primes","length","stringHashFn","str","hash","i","len","character","charCodeAt","numberHashFn","key","c2","newEntry","value","next","hashCode","capacity","comparer","_initialize","freeCount","size","freeList","noSuchkey","duplicatekey","getHashCode","uniqueIdCounter","obj","Error","Date","valueOf","RegExp","toString","id","dictionaryProto","prime","buckets","Array","entries","_insert","index3","index1","index2","_resize","numArray","entryArray","remove","clear","_findEntry","count","tryGetValue","entry","getValues","results","get","set","containskey","join","right","leftDurationSelector","rightDurationSelector","resultSelector","left","group","leftDone","rightDone","leftId","rightId","leftMap","rightMap","md","duration","expire","bind","forEach","v","result","exn","handleError","s","buffer","apply","arguments","selectMany","toArray","windowOpeningsOrClosingSelector","pairwise","previous","hasPrevious","partition","predicate","thisArg","filter","o","groupBy","keySelector","elementSelector","groupByUntil","durationSelector","item","map","groupDisposable","refCountDisposable","fireNewMapEntry","writer","GroupedObservable","durationGroup","element","ex","__super__","underlyingObservable","mergedDisposable","getDisposable"],"mappings":"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"}
@@ -1,3 +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"],function(b,d){return a(c,d,b)}):"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(a,b){return a.groupJoin(this,b,o,function(a,b){return b})}function f(a){var b=this;return new q(function(c){var d=new m,e=new i,f=new j(e);return c.onNext(r(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),w(a)&&(a=x(a)),e.add(a.subscribe(function(){d.onCompleted(),d=new m,c.onNext(r(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function g(a){var b=this;return new q(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}w(b)&&(b=x(b));var i=new k;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(u,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new m,c.onNext(r(h,g)),d()}))}var e=new l,f=new i(e),g=new j(f),h=new m;return c.onNext(r(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}var h=c.Observable,i=c.CompositeDisposable,j=c.RefCountDisposable,k=c.SingleAssignmentDisposable,l=c.SerialDisposable,m=c.Subject,n=h.prototype,o=h.empty,p=h.never,q=c.AnonymousObservable,r=(c.Observer.create,c.internals.addRef),s=c.internals.isEqual,t=c.internals.inherits,u=c.helpers.noop,v=c.helpers.identity,w=c.helpers.isPromise,x=h.fromPromise,y=function(){function a(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function b(b){var c,d,e;for(c=0;c<h.length;++c)if(d=h[c],d>=b)return d;for(e=1|b;e<h[h.length-1];){if(a(e))return e;e+=2}return b}function c(a){var b=757602046;if(!a.length)return b;for(var c=0,d=a.length;d>c;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new Error("out of range");a>0&&this._initialize(a),this.comparer=b||s,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return c(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return c(b.toString());if("function"==typeof b.valueOf){var d=b.valueOf();if("number"==typeof d)return e(d);if("string"==typeof d)return c(d)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var c,d=b(a);for(this.buckets=new Array(d),this.entries=new Array(d),c=0;d>c;c++)this.buckets[c]=-1,this.entries[c]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=b(2*this.size),c=new Array(a);for(e=0;e<c.length;++e)c[e]=-1;var d=new Array(a);for(e=0;e<this.size;++e)d[e]=this.entries[e];for(var e=this.size;a>e;++e)d[e]=f();for(var g=0;g<this.size;++g){var h=d[g].hashCode%a;d[g].next=c[h],c[h]=g}this.buckets=c,this.entries=d},l.remove=function(a){if(this.buckets)for(var b=2147483647&k(a),c=b%this.buckets.length,d=-1,e=this.buckets[c];e>=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a<this.size;++a)this.entries[a]=f();this.freeList=-1,this.size=0}},l._findEntry=function(a){if(this.buckets)for(var b=2147483647&k(a),c=this.buckets[b%this.buckets.length];c>=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(a){var b=this._findEntry(a);return b>=0?this.entries[b].value:d},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c<this.size;c++)this.entries[c].hashCode>=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();n.join=function(a,b,c,d){var e=this;return new q(function(f){var g=new i,h=!1,j=!1,l=0,m=0,n=new y,o=new y;return g.add(e.subscribe(function(a){var c=l++,e=new k;n.add(c,a),g.add(e);var i,j=function(){n.remove(c)&&0===n.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(m){return void f.onError(m)}e.setDisposable(i.take(1).subscribe(u,f.onError.bind(f),j)),o.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(j||0===n.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=m++,e=new k;o.add(b,a),g.add(e);var h,i=function(){o.remove(b)&&0===o.count()&&j&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(l){return void f.onError(l)}e.setDisposable(h.take(1).subscribe(u,f.onError.bind(f),i)),n.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){j=!0,(h||0===o.count())&&f.onCompleted()})),g},e)},n.groupJoin=function(a,b,c,d){var e=this;return new q(function(f){function g(a){return function(b){b.onError(a)}}var h=new i,l=new j(h),n=new y,o=new y,p=0,q=0;return h.add(e.subscribe(function(a){var c=new m,e=p++;n.add(e,c);var i;try{i=d(a,r(c,l))}catch(j){return n.getValues().forEach(g(j)),void f.onError(j)}f.onNext(i),o.getValues().forEach(function(a){c.onNext(a)});var q=new k;h.add(q);var s,t=function(){n.remove(e)&&c.onCompleted(),h.remove(q)};try{s=b(a)}catch(j){return n.getValues().forEach(g(j)),void f.onError(j)}q.setDisposable(s.take(1).subscribe(u,function(a){n.getValues().forEach(g(a)),f.onError(a)},t))},function(a){n.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=q++;o.add(b,a);var d=new k;h.add(d);var e,i=function(){o.remove(b),h.remove(d)};try{e=c(a)}catch(j){return n.getValues().forEach(g(j)),void f.onError(j)}d.setDisposable(e.take(1).subscribe(u,function(a){n.getValues().forEach(g(a)),f.onError(a)},i)),n.getValues().forEach(function(b){b.onNext(a)})},function(a){n.getValues().forEach(g(a)),f.onError(a)})),l},e)},n.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},n.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?f.call(this,a):"function"==typeof a?g.call(this,a):e.call(this,a,b)},n.pairwise=function(){var a=this;return new q(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},n.partition=function(a,b){return[this.filter(a,b),this.filter(function(c,d,e){return!a.call(b,c,d,e)})]},n.groupBy=function(a,b,c){return this.groupByUntil(a,b,p,c)},n.groupByUntil=function(a,b,c,d){var e=this;return b||(b=v),d||(d=s),new q(function(f){function g(a){return function(b){b.onError(a)}}var h=new y(0,d),l=new i,n=new j(l);return l.add(e.subscribe(function(d){var e;try{e=a(d)}catch(i){return h.getValues().forEach(g(i)),void f.onError(i)}var j=!1,o=h.tryGetValue(e);if(o||(o=new m,h.set(e,o),j=!0),j){var p=new z(e,o,n),q=new z(e,o);try{duration=c(q)}catch(i){return h.getValues().forEach(g(i)),void f.onError(i)}f.onNext(p);var r=new k;l.add(r);var s=function(){h.remove(e)&&o.onCompleted(),l.remove(r)};r.setDisposable(duration.take(1).subscribe(u,function(a){h.getValues().forEach(g(a)),f.onError(a)},s))}var t;try{t=b(d)}catch(i){return h.getValues().forEach(g(i)),void f.onError(i)}o.onNext(t)},function(a){h.getValues().forEach(g(a)),f.onError(a)},function(){h.getValues().forEach(function(a){a.onCompleted()}),f.onCompleted()})),n},e)};var z=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new q(function(a){return new i(e.getDisposable(),d.subscribe(a))}):d}return t(c,a),c}(h);return c});
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"],function(b,d){return a(c,d,b)}):"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(a,b){return a.groupJoin(this,b,o,function(a,b){return b})}function f(a){var b=this;return new q(function(c){var d=new m,e=new i,f=new j(e);return c.onNext(r(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),w(a)&&(a=x(a)),e.add(a.subscribe(function(){d.onCompleted(),d=new m,c.onNext(r(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function g(a){var b=this;return new q(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}w(b)&&(b=x(b));var i=new k;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(u,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new m,c.onNext(r(h,g)),d()}))}var e=new l,f=new i(e),g=new j(f),h=new m;return c.onNext(r(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}var h=c.Observable,i=c.CompositeDisposable,j=c.RefCountDisposable,k=c.SingleAssignmentDisposable,l=c.SerialDisposable,m=c.Subject,n=h.prototype,o=h.empty,p=h.never,q=c.AnonymousObservable,r=(c.Observer.create,c.internals.addRef),s=c.internals.isEqual,t=c.internals.inherits,u=c.helpers.noop,v=c.helpers.identity,w=c.helpers.isPromise,x=h.fromPromise,y=c.ArgumentOutOfRangeError,z=function(){function a(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function b(b){var c,d,e;for(c=0;c<h.length;++c)if(d=h[c],d>=b)return d;for(e=1|b;e<h[h.length-1];){if(a(e))return e;e+=2}return b}function c(a){var b=757602046;if(!a.length)return b;for(var c=0,d=a.length;d>c;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new y;a>0&&this._initialize(a),this.comparer=b||s,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return c(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return c(b.toString());if("function"==typeof b.valueOf){var d=b.valueOf();if("number"==typeof d)return e(d);if("string"==typeof d)return c(d)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var c,d=b(a);for(this.buckets=new Array(d),this.entries=new Array(d),c=0;d>c;c++)this.buckets[c]=-1,this.entries[c]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=b(2*this.size),c=new Array(a);for(e=0;e<c.length;++e)c[e]=-1;var d=new Array(a);for(e=0;e<this.size;++e)d[e]=this.entries[e];for(var e=this.size;a>e;++e)d[e]=f();for(var g=0;g<this.size;++g){var h=d[g].hashCode%a;d[g].next=c[h],c[h]=g}this.buckets=c,this.entries=d},l.remove=function(a){if(this.buckets)for(var b=2147483647&k(a),c=b%this.buckets.length,d=-1,e=this.buckets[c];e>=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a<this.size;++a)this.entries[a]=f();this.freeList=-1,this.size=0}},l._findEntry=function(a){if(this.buckets)for(var b=2147483647&k(a),c=this.buckets[b%this.buckets.length];c>=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(a){var b=this._findEntry(a);return b>=0?this.entries[b].value:d},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c<this.size;c++)this.entries[c].hashCode>=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();n.join=function(a,b,c,d){var e=this;return new q(function(f){var g=new i,h=!1,j=!1,l=0,m=0,n=new z,o=new z;return g.add(e.subscribe(function(a){var c=l++,e=new k;n.add(c,a),g.add(e);var i,j=function(){n.remove(c)&&0===n.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(m){return void f.onError(m)}e.setDisposable(i.take(1).subscribe(u,f.onError.bind(f),j)),o.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(j||0===n.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=m++,e=new k;o.add(b,a),g.add(e);var h,i=function(){o.remove(b)&&0===o.count()&&j&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(l){return void f.onError(l)}e.setDisposable(h.take(1).subscribe(u,f.onError.bind(f),i)),n.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){j=!0,(h||0===o.count())&&f.onCompleted()})),g},e)},n.groupJoin=function(a,b,c,d){var e=this;return new q(function(f){function g(a){return function(b){b.onError(a)}}var h=new i,l=new j(h),n=new z,o=new z,p=0,q=0;return h.add(e.subscribe(function(a){var c=new m,e=p++;n.add(e,c);var i;try{i=d(a,r(c,l))}catch(j){return n.getValues().forEach(g(j)),void f.onError(j)}f.onNext(i),o.getValues().forEach(function(a){c.onNext(a)});var q=new k;h.add(q);var s,t=function(){n.remove(e)&&c.onCompleted(),h.remove(q)};try{s=b(a)}catch(j){return n.getValues().forEach(g(j)),void f.onError(j)}q.setDisposable(s.take(1).subscribe(u,function(a){n.getValues().forEach(g(a)),f.onError(a)},t))},function(a){n.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=q++;o.add(b,a);var d=new k;h.add(d);var e,i=function(){o.remove(b),h.remove(d)};try{e=c(a)}catch(j){return n.getValues().forEach(g(j)),void f.onError(j)}d.setDisposable(e.take(1).subscribe(u,function(a){n.getValues().forEach(g(a)),f.onError(a)},i)),n.getValues().forEach(function(b){b.onNext(a)})},function(a){n.getValues().forEach(g(a)),f.onError(a)})),l},e)},n.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},n.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?f.call(this,a):"function"==typeof a?g.call(this,a):e.call(this,a,b)},n.pairwise=function(){var a=this;return new q(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},n.partition=function(a,b){return[this.filter(a,b),this.filter(function(c,d,e){return!a.call(b,c,d,e)})]},n.groupBy=function(a,b,c){return this.groupByUntil(a,b,p,c)},n.groupByUntil=function(a,b,c,d){var e=this;return b||(b=v),d||(d=s),new q(function(f){function g(a){return function(b){b.onError(a)}}var h=new z(0,d),l=new i,n=new j(l);return l.add(e.subscribe(function(d){var e;try{e=a(d)}catch(i){return h.getValues().forEach(g(i)),void f.onError(i)}var j=!1,o=h.tryGetValue(e);if(o||(o=new m,h.set(e,o),j=!0),j){var p=new A(e,o,n),q=new A(e,o);try{duration=c(q)}catch(i){return h.getValues().forEach(g(i)),void f.onError(i)}f.onNext(p);var r=new k;l.add(r);var s=function(){h.remove(e)&&o.onCompleted(),l.remove(r)};r.setDisposable(duration.take(1).subscribe(u,function(a){h.getValues().forEach(g(a)),f.onError(a)},s))}var t;try{t=b(d)}catch(i){return h.getValues().forEach(g(i)),void f.onError(i)}o.onNext(t)},function(a){h.getValues().forEach(g(a)),f.onError(a)},function(){h.getValues().forEach(function(a){a.onCompleted()}),f.onCompleted()})),n},e)};var A=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new q(function(a){return new i(e.getDisposable(),d.subscribe(a))}):d}return t(c,a),c}(h);return c});
3
3
  //# sourceMappingURL=rx.coincidence.map
@@ -32,7 +32,6 @@
32
32
  // Defaults
33
33
  var noop = Rx.helpers.noop = function () { },
34
34
  notDefined = Rx.helpers.notDefined = function (x) { return typeof x === 'undefined'; },
35
- isScheduler = Rx.helpers.isScheduler = function (x) { return x instanceof Rx.Scheduler; },
36
35
  identity = Rx.helpers.identity = function (x) { return x; },
37
36
  pluck = Rx.helpers.pluck = function (property) { return function (x) { return x[property]; }; },
38
37
  just = Rx.helpers.just = function (value) { return function () { return value; }; },
@@ -45,7 +44,6 @@
45
44
  asArray = Rx.helpers.asArray = function () { return Array.prototype.slice.call(arguments); },
46
45
  not = Rx.helpers.not = function (a) { return !a; },
47
46
  isFunction = Rx.helpers.isFunction = (function () {
48
-
49
47
  var isFn = function (value) {
50
48
  return typeof value == 'function' || false;
51
49
  }
@@ -56,16 +54,14 @@
56
54
  return typeof value == 'function' && toString.call(value) == '[object Function]';
57
55
  };
58
56
  }
59
-
60
57
  return isFn;
61
58
  }());
62
59
 
63
- // Errors
64
- var sequenceContainsNoElements = 'Sequence contains no elements.';
65
- var argumentOutOfRange = 'Argument out of range';
66
- var objectDisposed = 'Object has been disposed';
67
- function checkDisposed(self) { if (self.isDisposed) { throw new Error(objectDisposed); } }
68
- function cloneArray(arr) { for(var a = [], i = 0, len = arr.length; i < len; i++) { a.push(arr[i]); } return a;}
60
+ function cloneArray(arr) {
61
+ var len = arr.length, a = new Array(len);
62
+ for(var i = 0; i < len; i++) { a[i] = arr[i]; }
63
+ return a;
64
+ }
69
65
 
70
66
  Rx.config.longStackSupport = false;
71
67
  var hasStacks = false;
@@ -163,6 +159,44 @@
163
159
  if (attempt3) { return [attempt3[1], Number(attempt3[2])]; }
164
160
  }
165
161
 
162
+ var EmptyError = Rx.EmptyError = function() {
163
+ this.message = 'Sequence contains no elements.';
164
+ Error.call(this);
165
+ };
166
+ EmptyError.prototype = Error.prototype;
167
+
168
+ var ObjectDisposedError = Rx.ObjectDisposedError = function() {
169
+ this.message = 'Object has been disposed';
170
+ Error.call(this);
171
+ };
172
+ ObjectDisposedError.prototype = Error.prototype;
173
+
174
+ var ArgumentOutOfRangeError = Rx.ArgumentOutOfRangeError = function () {
175
+ this.message = 'Argument out of range';
176
+ Error.call(this);
177
+ };
178
+ ArgumentOutOfRangeError.prototype = Error.prototype;
179
+
180
+ var NotSupportedError = Rx.NotSupportedError = function (message) {
181
+ this.message = message || 'This operation is not supported';
182
+ Error.call(this);
183
+ };
184
+ NotSupportedError.prototype = Error.prototype;
185
+
186
+ var NotImplementedError = Rx.NotImplementedError = function (message) {
187
+ this.message = message || 'This operation is not implemented';
188
+ Error.call(this);
189
+ };
190
+ NotImplementedError.prototype = Error.prototype;
191
+
192
+ var notImplemented = Rx.helpers.notImplemented = function () {
193
+ throw new NotImplementedError();
194
+ };
195
+
196
+ var notSupported = Rx.helpers.notSupported = function () {
197
+ throw new NotSupportedError();
198
+ };
199
+
166
200
  // Shim in iterator support
167
201
  var $iterator$ = (typeof Symbol === 'function' && Symbol.iterator) ||
168
202
  '_es6shim_iterator_';
@@ -827,13 +861,17 @@
827
861
  * @constructor
828
862
  */
829
863
  var CompositeDisposable = Rx.CompositeDisposable = function () {
830
- var args = [];
864
+ var args = [], i, len;
831
865
  if (Array.isArray(arguments[0])) {
832
866
  args = arguments[0];
867
+ len = args.length;
833
868
  } else {
834
- var len = arguments.length;
869
+ len = arguments.length;
835
870
  args = new Array(len);
836
- for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
871
+ for(i = 0; i < len; i++) { args[i] = arguments[i]; }
872
+ }
873
+ for(i = 0; i < len; i++) {
874
+ if (!isDisposable(args[i])) { throw new TypeError('Not a disposable'); }
837
875
  }
838
876
  this.disposables = args;
839
877
  this.isDisposed = false;
@@ -920,51 +958,67 @@
920
958
  */
921
959
  var disposableEmpty = Disposable.empty = { dispose: noop };
922
960
 
923
- var SingleAssignmentDisposable = Rx.SingleAssignmentDisposable = (function () {
924
- function BooleanDisposable () {
925
- this.isDisposed = false;
926
- this.current = null;
927
- }
928
-
929
- var booleanDisposablePrototype = BooleanDisposable.prototype;
930
-
931
- /**
932
- * Gets the underlying disposable.
933
- * @return The underlying disposable.
934
- */
935
- booleanDisposablePrototype.getDisposable = function () {
936
- return this.current;
937
- };
961
+ /**
962
+ * Validates whether the given object is a disposable
963
+ * @param {Object} Object to test whether it has a dispose method
964
+ * @returns {Boolean} true if a disposable object, else false.
965
+ */
966
+ var isDisposable = Disposable.isDisposable = function (d) {
967
+ return d && isFunction(d.dispose);
968
+ };
938
969
 
939
- /**
940
- * Sets the underlying disposable.
941
- * @param {Disposable} value The new underlying disposable.
942
- */
943
- booleanDisposablePrototype.setDisposable = function (value) {
944
- var shouldDispose = this.isDisposed;
945
- if (!shouldDispose) {
946
- var old = this.current;
947
- this.current = value;
948
- }
949
- old && old.dispose();
950
- shouldDispose && value && value.dispose();
951
- };
970
+ var checkDisposed = Disposable.checkDisposed = function (disposable) {
971
+ if (disposable.isDisposed) { throw new ObjectDisposedError(); }
972
+ };
952
973
 
953
- /**
954
- * Disposes the underlying disposable as well as all future replacements.
955
- */
956
- booleanDisposablePrototype.dispose = function () {
957
- if (!this.isDisposed) {
958
- this.isDisposed = true;
959
- var old = this.current;
960
- this.current = null;
961
- }
962
- old && old.dispose();
963
- };
974
+ // Single assignment
975
+ var SingleAssignmentDisposable = Rx.SingleAssignmentDisposable = function () {
976
+ this.isDisposed = false;
977
+ this.current = null;
978
+ };
979
+ SingleAssignmentDisposable.prototype.getDisposable = function () {
980
+ return this.current;
981
+ };
982
+ SingleAssignmentDisposable.prototype.setDisposable = function (value) {
983
+ if (this.current) { throw new Error('Disposable has already been assigned'); }
984
+ var shouldDispose = this.isDisposed;
985
+ !shouldDispose && (this.current = value);
986
+ shouldDispose && value && value.dispose();
987
+ };
988
+ SingleAssignmentDisposable.prototype.dispose = function () {
989
+ if (!this.isDisposed) {
990
+ this.isDisposed = true;
991
+ var old = this.current;
992
+ this.current = null;
993
+ }
994
+ old && old.dispose();
995
+ };
964
996
 
965
- return BooleanDisposable;
966
- }());
967
- var SerialDisposable = Rx.SerialDisposable = SingleAssignmentDisposable;
997
+ // Multiple assignment disposable
998
+ var SerialDisposable = Rx.SerialDisposable = function () {
999
+ this.isDisposed = false;
1000
+ this.current = null;
1001
+ };
1002
+ SerialDisposable.prototype.getDisposable = function () {
1003
+ return this.current;
1004
+ };
1005
+ SerialDisposable.prototype.setDisposable = function (value) {
1006
+ var shouldDispose = this.isDisposed;
1007
+ if (!shouldDispose) {
1008
+ var old = this.current;
1009
+ this.current = value;
1010
+ }
1011
+ old && old.dispose();
1012
+ shouldDispose && value && value.dispose();
1013
+ };
1014
+ SerialDisposable.prototype.dispose = function () {
1015
+ if (!this.isDisposed) {
1016
+ this.isDisposed = true;
1017
+ var old = this.current;
1018
+ this.current = null;
1019
+ }
1020
+ old && old.dispose();
1021
+ };
968
1022
 
969
1023
  /**
970
1024
  * Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed.
@@ -1076,6 +1130,11 @@
1076
1130
  this._scheduleAbsolute = scheduleAbsolute;
1077
1131
  }
1078
1132
 
1133
+ /** Determines whether the given object is a scheduler */
1134
+ Scheduler.isScheduler = function (s) {
1135
+ return s instanceof Scheduler;
1136
+ }
1137
+
1079
1138
  function invokeAction(scheduler, action) {
1080
1139
  action();
1081
1140
  return disposableEmpty;
@@ -1160,12 +1219,14 @@
1160
1219
  return Scheduler;
1161
1220
  }());
1162
1221
 
1163
- var normalizeTime = Scheduler.normalize;
1222
+ var normalizeTime = Scheduler.normalize, isScheduler = Scheduler.isScheduler;
1164
1223
 
1165
1224
  (function (schedulerProto) {
1225
+
1166
1226
  function invokeRecImmediate(scheduler, pair) {
1167
- var state = pair.first, action = pair.second, group = new CompositeDisposable(),
1168
- recursiveAction = function (state1) {
1227
+ var state = pair[0], action = pair[1], group = new CompositeDisposable();
1228
+
1229
+ function recursiveAction(state1) {
1169
1230
  action(state1, function (state2) {
1170
1231
  var isAdded = false, isDone = false,
1171
1232
  d = scheduler.scheduleWithState(state2, function (scheduler1, state3) {
@@ -1182,14 +1243,15 @@
1182
1243
  isAdded = true;
1183
1244
  }
1184
1245
  });
1185
- };
1246
+ }
1247
+
1186
1248
  recursiveAction(state);
1187
1249
  return group;
1188
1250
  }
1189
1251
 
1190
1252
  function invokeRecDate(scheduler, pair, method) {
1191
- var state = pair.first, action = pair.second, group = new CompositeDisposable(),
1192
- recursiveAction = function (state1) {
1253
+ var state = pair[0], action = pair[1], group = new CompositeDisposable();
1254
+ function recursiveAction(state1) {
1193
1255
  action(state1, function (state2, dueTime1) {
1194
1256
  var isAdded = false, isDone = false,
1195
1257
  d = scheduler[method](state2, dueTime1, function (scheduler1, state3) {
@@ -1232,7 +1294,7 @@
1232
1294
  * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).
1233
1295
  */
1234
1296
  schedulerProto.scheduleRecursiveWithState = function (state, action) {
1235
- return this.scheduleWithState({ first: state, second: action }, invokeRecImmediate);
1297
+ return this.scheduleWithState([state, action], invokeRecImmediate);
1236
1298
  };
1237
1299
 
1238
1300
  /**
@@ -1253,7 +1315,7 @@
1253
1315
  * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).
1254
1316
  */
1255
1317
  schedulerProto.scheduleRecursiveWithRelativeAndState = function (state, dueTime, action) {
1256
- return this._scheduleRelative({ first: state, second: action }, dueTime, function (s, p) {
1318
+ return this._scheduleRelative([state, action], dueTime, function (s, p) {
1257
1319
  return invokeRecDate(s, p, 'scheduleWithRelativeAndState');
1258
1320
  });
1259
1321
  };
@@ -1276,7 +1338,7 @@
1276
1338
  * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).
1277
1339
  */
1278
1340
  schedulerProto.scheduleRecursiveWithAbsoluteAndState = function (state, dueTime, action) {
1279
- return this._scheduleAbsolute({ first: state, second: action }, dueTime, function (s, p) {
1341
+ return this._scheduleAbsolute([state, action], dueTime, function (s, p) {
1280
1342
  return invokeRecDate(s, p, 'scheduleWithAbsoluteAndState');
1281
1343
  });
1282
1344
  };
@@ -1302,16 +1364,10 @@
1302
1364
  * @returns {Disposable} The disposable object used to cancel the scheduled recurring action (best effort).
1303
1365
  */
1304
1366
  Scheduler.prototype.schedulePeriodicWithState = function(state, period, action) {
1305
- if (typeof root.setInterval === 'undefined') { throw new Error('Periodic scheduling not supported.'); }
1306
- var s = state;
1307
-
1308
- var id = root.setInterval(function () {
1309
- s = action(s);
1310
- }, period);
1311
-
1312
- return disposableCreate(function () {
1313
- root.clearInterval(id);
1314
- });
1367
+ if (typeof root.setInterval === 'undefined') { throw new NotSupportedError(); }
1368
+ period = normalizeTime(period);
1369
+ var s = state, id = root.setInterval(function () { s = action(s); }, period);
1370
+ return disposableCreate(function () { root.clearInterval(id); });
1315
1371
  };
1316
1372
 
1317
1373
  }(Scheduler.prototype));
@@ -1358,10 +1414,7 @@
1358
1414
 
1359
1415
  /** Gets a scheduler that schedules work immediately on the current thread. */
1360
1416
  var immediateScheduler = Scheduler.immediate = (function () {
1361
-
1362
1417
  function scheduleNow(state, action) { return action(this, state); }
1363
- function notSupported() { throw new Error('Not supported'); }
1364
-
1365
1418
  return new Scheduler(defaultNow, scheduleNow, notSupported, notSupported);
1366
1419
  }());
1367
1420
 
@@ -1371,12 +1424,10 @@
1371
1424
  var currentThreadScheduler = Scheduler.currentThread = (function () {
1372
1425
  var queue;
1373
1426
 
1374
- function runTrampoline (q) {
1375
- while (q.length > 0) {
1376
- var item = q.dequeue();
1377
- if (!item.isCancelled()) {
1378
- !item.isCancelled() && item.invoke();
1379
- }
1427
+ function runTrampoline () {
1428
+ while (queue.length > 0) {
1429
+ var item = queue.dequeue();
1430
+ !item.isCancelled() && item.invoke();
1380
1431
  }
1381
1432
  }
1382
1433
 
@@ -1386,44 +1437,36 @@
1386
1437
  if (!queue) {
1387
1438
  queue = new PriorityQueue(4);
1388
1439
  queue.enqueue(si);
1389
- try {
1390
- runTrampoline(queue);
1391
- } catch (e) {
1392
- throw e;
1393
- } finally {
1394
- queue = null;
1395
- }
1440
+
1441
+ var result = tryCatch(runTrampoline)();
1442
+ queue = null;
1443
+ if (result === errorObj) { return thrower(result.e); }
1396
1444
  } else {
1397
1445
  queue.enqueue(si);
1398
1446
  }
1399
1447
  return si.disposable;
1400
1448
  }
1401
1449
 
1402
- function notSupported() { throw new Error('Not supported'); }
1403
-
1404
1450
  var currentScheduler = new Scheduler(defaultNow, scheduleNow, notSupported, notSupported);
1405
-
1406
1451
  currentScheduler.scheduleRequired = function () { return !queue; };
1407
- currentScheduler.ensureTrampoline = function (action) {
1408
- if (!queue) { this.schedule(action); } else { action(); }
1409
- };
1410
1452
 
1411
1453
  return currentScheduler;
1412
1454
  }());
1413
1455
 
1414
- var scheduleMethod, clearMethod = noop;
1456
+ var scheduleMethod, clearMethod;
1457
+
1415
1458
  var localTimer = (function () {
1416
1459
  var localSetTimeout, localClearTimeout = noop;
1417
- if ('WScript' in this) {
1460
+ if (!!root.setTimeout) {
1461
+ localSetTimeout = root.setTimeout;
1462
+ localClearTimeout = root.clearTimeout;
1463
+ } else if (!!root.WScript) {
1418
1464
  localSetTimeout = function (fn, time) {
1419
- WScript.Sleep(time);
1465
+ root.WScript.Sleep(time);
1420
1466
  fn();
1421
1467
  };
1422
- } else if (!!root.setTimeout) {
1423
- localSetTimeout = root.setTimeout;
1424
- localClearTimeout = root.clearTimeout;
1425
1468
  } else {
1426
- throw new Error('No concurrency detected!');
1469
+ throw new NotSupportedError();
1427
1470
  }
1428
1471
 
1429
1472
  return {
@@ -1436,6 +1479,27 @@
1436
1479
 
1437
1480
  (function () {
1438
1481
 
1482
+ var nextHandle = 1, tasksByHandle = {}, currentlyRunning = false;
1483
+
1484
+ clearMethod = function (handle) {
1485
+ delete tasksByHandle[handle];
1486
+ };
1487
+
1488
+ function runTask(handle) {
1489
+ if (currentlyRunning) {
1490
+ localSetTimeout(function () { runTask(handle) }, 0);
1491
+ } else {
1492
+ var task = tasksByHandle[handle];
1493
+ if (task) {
1494
+ currentlyRunning = true;
1495
+ var result = tryCatch(task)();
1496
+ clearMethod(handle);
1497
+ currentlyRunning = false;
1498
+ if (result === errorObj) { return thrower(result.e); }
1499
+ }
1500
+ }
1501
+ }
1502
+
1439
1503
  var reNative = RegExp('^' +
1440
1504
  String(toString)
1441
1505
  .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
@@ -1443,15 +1507,12 @@
1443
1507
  );
1444
1508
 
1445
1509
  var setImmediate = typeof (setImmediate = freeGlobal && moduleExports && freeGlobal.setImmediate) == 'function' &&
1446
- !reNative.test(setImmediate) && setImmediate,
1447
- clearImmediate = typeof (clearImmediate = freeGlobal && moduleExports && freeGlobal.clearImmediate) == 'function' &&
1448
- !reNative.test(clearImmediate) && clearImmediate;
1510
+ !reNative.test(setImmediate) && setImmediate;
1449
1511
 
1450
1512
  function postMessageSupported () {
1451
1513
  // Ensure not in a worker
1452
1514
  if (!root.postMessage || root.importScripts) { return false; }
1453
- var isAsync = false,
1454
- oldHandler = root.onmessage;
1515
+ var isAsync = false, oldHandler = root.onmessage;
1455
1516
  // Test for async
1456
1517
  root.onmessage = function () { isAsync = true; };
1457
1518
  root.postMessage('', '*');
@@ -1461,85 +1522,96 @@
1461
1522
  }
1462
1523
 
1463
1524
  // Use in order, setImmediate, nextTick, postMessage, MessageChannel, script readystatechanged, setTimeout
1464
- if (typeof setImmediate === 'function') {
1465
- scheduleMethod = setImmediate;
1466
- clearMethod = clearImmediate;
1525
+ if (isFunction(setImmediate)) {
1526
+ scheduleMethod = function (action) {
1527
+ var id = nextHandle++;
1528
+ tasksByHandle[id] = action;
1529
+ setImmediate(function () { runTask(id); });
1530
+
1531
+ return id;
1532
+ };
1467
1533
  } else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {
1468
- scheduleMethod = process.nextTick;
1534
+ scheduleMethod = function (action) {
1535
+ var id = nextHandle++;
1536
+ tasksByHandle[id] = action;
1537
+ process.nextTick(function () { runTask(id); });
1538
+
1539
+ return id;
1540
+ };
1469
1541
  } else if (postMessageSupported()) {
1470
- var MSG_PREFIX = 'ms.rx.schedule' + Math.random(),
1471
- tasks = {},
1472
- taskId = 0;
1542
+ var MSG_PREFIX = 'ms.rx.schedule' + Math.random();
1473
1543
 
1474
- var onGlobalPostMessage = function (event) {
1544
+ function onGlobalPostMessage(event) {
1475
1545
  // Only if we're a match to avoid any other global events
1476
1546
  if (typeof event.data === 'string' && event.data.substring(0, MSG_PREFIX.length) === MSG_PREFIX) {
1477
- var handleId = event.data.substring(MSG_PREFIX.length),
1478
- action = tasks[handleId];
1479
- action();
1480
- delete tasks[handleId];
1547
+ runTask(event.data.substring(MSG_PREFIX.length));
1481
1548
  }
1482
1549
  }
1483
1550
 
1484
1551
  if (root.addEventListener) {
1485
1552
  root.addEventListener('message', onGlobalPostMessage, false);
1553
+ } else if (root.attachEvent) {
1554
+ root.attachEvent('onmessage', onGlobalPostMessage);
1486
1555
  } else {
1487
- root.attachEvent('onmessage', onGlobalPostMessage, false);
1556
+ root.onmessage = onGlobalPostMessage;
1488
1557
  }
1489
1558
 
1490
1559
  scheduleMethod = function (action) {
1491
- var currentId = taskId++;
1492
- tasks[currentId] = action;
1560
+ var id = nextHandle++;
1561
+ tasksByHandle[id] = action;
1493
1562
  root.postMessage(MSG_PREFIX + currentId, '*');
1563
+ return id;
1494
1564
  };
1495
1565
  } else if (!!root.MessageChannel) {
1496
- var channel = new root.MessageChannel(),
1497
- channelTasks = {},
1498
- channelTaskId = 0;
1566
+ var channel = new root.MessageChannel();
1499
1567
 
1500
- channel.port1.onmessage = function (event) {
1501
- var id = event.data,
1502
- action = channelTasks[id];
1503
- action();
1504
- delete channelTasks[id];
1505
- };
1568
+ channel.port1.onmessage = function (e) { runTask(e.data); };
1506
1569
 
1507
1570
  scheduleMethod = function (action) {
1508
- var id = channelTaskId++;
1509
- channelTasks[id] = action;
1571
+ var id = nextHandle++;
1572
+ tasksByHandle[id] = action;
1510
1573
  channel.port2.postMessage(id);
1574
+ return id;
1511
1575
  };
1512
1576
  } else if ('document' in root && 'onreadystatechange' in root.document.createElement('script')) {
1513
1577
 
1514
1578
  scheduleMethod = function (action) {
1515
1579
  var scriptElement = root.document.createElement('script');
1580
+ var id = nextHandle++;
1581
+ tasksByHandle[id] = action;
1582
+
1516
1583
  scriptElement.onreadystatechange = function () {
1517
- action();
1584
+ runTask(id);
1518
1585
  scriptElement.onreadystatechange = null;
1519
1586
  scriptElement.parentNode.removeChild(scriptElement);
1520
1587
  scriptElement = null;
1521
1588
  };
1522
1589
  root.document.documentElement.appendChild(scriptElement);
1590
+ return id;
1523
1591
  };
1524
1592
 
1525
1593
  } else {
1526
- scheduleMethod = function (action) { return localSetTimeout(action, 0); };
1527
- clearMethod = localClearTimeout;
1594
+ scheduleMethod = function (action) {
1595
+ var id = nextHandle++;
1596
+ tasksByHandle[id] = action;
1597
+ localSetTimeout(function () {
1598
+ runTask(id);
1599
+ }, 0);
1600
+
1601
+ return id;
1602
+ };
1528
1603
  }
1529
1604
  }());
1530
1605
 
1531
1606
  /**
1532
1607
  * Gets a scheduler that schedules work via a timed callback based upon platform.
1533
1608
  */
1534
- var timeoutScheduler = Scheduler.timeout = (function () {
1609
+ var timeoutScheduler = Scheduler.timeout = Scheduler['default'] = (function () {
1535
1610
 
1536
1611
  function scheduleNow(state, action) {
1537
- var scheduler = this,
1538
- disposable = new SingleAssignmentDisposable();
1612
+ var scheduler = this, disposable = new SingleAssignmentDisposable();
1539
1613
  var id = scheduleMethod(function () {
1540
- if (!disposable.isDisposed) {
1541
- disposable.setDisposable(action(scheduler, state));
1542
- }
1614
+ !disposable.isDisposed && disposable.setDisposable(action(scheduler, state));
1543
1615
  });
1544
1616
  return new CompositeDisposable(disposable, disposableCreate(function () {
1545
1617
  clearMethod(id);
@@ -1547,16 +1619,10 @@
1547
1619
  }
1548
1620
 
1549
1621
  function scheduleRelative(state, dueTime, action) {
1550
- var scheduler = this,
1551
- dt = Scheduler.normalize(dueTime);
1552
- if (dt === 0) {
1553
- return scheduler.scheduleWithState(state, action);
1554
- }
1555
- var disposable = new SingleAssignmentDisposable();
1622
+ var scheduler = this, dt = Scheduler.normalize(dueTime), disposable = new SingleAssignmentDisposable();
1623
+ if (dt === 0) { return scheduler.scheduleWithState(state, action); }
1556
1624
  var id = localSetTimeout(function () {
1557
- if (!disposable.isDisposed) {
1558
- disposable.setDisposable(action(scheduler, state));
1559
- }
1625
+ !disposable.isDisposed && disposable.setDisposable(action(scheduler, state));
1560
1626
  }, dt);
1561
1627
  return new CompositeDisposable(disposable, disposableCreate(function () {
1562
1628
  localClearTimeout(id);
@@ -1646,9 +1712,13 @@
1646
1712
  * Represents a notification to an observer.
1647
1713
  */
1648
1714
  var Notification = Rx.Notification = (function () {
1649
- function Notification(kind, hasValue) {
1650
- this.hasValue = hasValue == null ? false : hasValue;
1715
+ function Notification(kind, value, exception, accept, acceptObservable, toString) {
1651
1716
  this.kind = kind;
1717
+ this.value = value;
1718
+ this.exception = exception;
1719
+ this._accept = accept;
1720
+ this._acceptObservable = acceptObservable;
1721
+ this.toString = toString;
1652
1722
  }
1653
1723
 
1654
1724
  /**
@@ -1674,10 +1744,10 @@
1674
1744
  * @returns {Observable} The observable sequence that surfaces the behavior of the notification upon subscription.
1675
1745
  */
1676
1746
  Notification.prototype.toObservable = function (scheduler) {
1677
- var notification = this;
1747
+ var self = this;
1678
1748
  isScheduler(scheduler) || (scheduler = immediateScheduler);
1679
1749
  return new AnonymousObservable(function (observer) {
1680
- return scheduler.schedule(function () {
1750
+ return scheduler.scheduleWithState(self, function (_, notification) {
1681
1751
  notification._acceptObservable(observer);
1682
1752
  notification.kind === 'N' && observer.onCompleted();
1683
1753
  });
@@ -1693,18 +1763,12 @@
1693
1763
  * @returns {Notification} The OnNext notification containing the value.
1694
1764
  */
1695
1765
  var notificationCreateOnNext = Notification.createOnNext = (function () {
1696
-
1697
- function _accept (onNext) { return onNext(this.value); }
1766
+ function _accept(onNext) { return onNext(this.value); }
1698
1767
  function _acceptObservable(observer) { return observer.onNext(this.value); }
1699
- function toString () { return 'OnNext(' + this.value + ')'; }
1768
+ function toString() { return 'OnNext(' + this.value + ')'; }
1700
1769
 
1701
1770
  return function (value) {
1702
- var notification = new Notification('N', true);
1703
- notification.value = value;
1704
- notification._accept = _accept;
1705
- notification._acceptObservable = _acceptObservable;
1706
- notification.toString = toString;
1707
- return notification;
1771
+ return new Notification('N', value, null, _accept, _acceptObservable, toString);
1708
1772
  };
1709
1773
  }());
1710
1774
 
@@ -1714,18 +1778,12 @@
1714
1778
  * @returns {Notification} The OnError notification containing the exception.
1715
1779
  */
1716
1780
  var notificationCreateOnError = Notification.createOnError = (function () {
1717
-
1718
1781
  function _accept (onNext, onError) { return onError(this.exception); }
1719
1782
  function _acceptObservable(observer) { return observer.onError(this.exception); }
1720
1783
  function toString () { return 'OnError(' + this.exception + ')'; }
1721
1784
 
1722
1785
  return function (e) {
1723
- var notification = new Notification('E');
1724
- notification.exception = e;
1725
- notification._accept = _accept;
1726
- notification._acceptObservable = _acceptObservable;
1727
- notification.toString = toString;
1728
- return notification;
1786
+ return new Notification('E', null, e, _accept, _acceptObservable, toString);
1729
1787
  };
1730
1788
  }());
1731
1789
 
@@ -1734,17 +1792,12 @@
1734
1792
  * @returns {Notification} The OnCompleted notification.
1735
1793
  */
1736
1794
  var notificationCreateOnCompleted = Notification.createOnCompleted = (function () {
1737
-
1738
1795
  function _accept (onNext, onError, onCompleted) { return onCompleted(); }
1739
1796
  function _acceptObservable(observer) { return observer.onCompleted(); }
1740
1797
  function toString () { return 'OnCompleted()'; }
1741
1798
 
1742
1799
  return function () {
1743
- var notification = new Notification('C');
1744
- notification._accept = _accept;
1745
- notification._acceptObservable = _acceptObservable;
1746
- notification.toString = toString;
1747
- return notification;
1800
+ return new Notification('C', null, null, _accept, _acceptObservable, toString);
1748
1801
  };
1749
1802
  }());
1750
1803
 
@@ -2019,10 +2072,6 @@
2019
2072
  __super__.call(this);
2020
2073
  }
2021
2074
 
2022
- function notImplemented() {
2023
- throw new Error('Method not implemented');
2024
- }
2025
-
2026
2075
  // Must be implemented by other observers
2027
2076
  AbstractObserver.prototype.next = notImplemented;
2028
2077
  AbstractObserver.prototype.error = notImplemented;
@@ -2122,58 +2171,46 @@
2122
2171
  return AnonymousObserver;
2123
2172
  }(AbstractObserver));
2124
2173
 
2125
- var CheckedObserver = (function (_super) {
2126
- inherits(CheckedObserver, _super);
2174
+ var CheckedObserver = (function (__super__) {
2175
+ inherits(CheckedObserver, __super__);
2127
2176
 
2128
- function CheckedObserver(observer) {
2129
- _super.call(this);
2130
- this._observer = observer;
2131
- this._state = 0; // 0 - idle, 1 - busy, 2 - done
2132
- }
2177
+ function CheckedObserver(observer) {
2178
+ __super__.call(this);
2179
+ this._observer = observer;
2180
+ this._state = 0; // 0 - idle, 1 - busy, 2 - done
2181
+ }
2133
2182
 
2134
- var CheckedObserverPrototype = CheckedObserver.prototype;
2183
+ var CheckedObserverPrototype = CheckedObserver.prototype;
2135
2184
 
2136
- CheckedObserverPrototype.onNext = function (value) {
2137
- this.checkAccess();
2138
- try {
2139
- this._observer.onNext(value);
2140
- } catch (e) {
2141
- throw e;
2142
- } finally {
2143
- this._state = 0;
2144
- }
2145
- };
2185
+ CheckedObserverPrototype.onNext = function (value) {
2186
+ this.checkAccess();
2187
+ var res = tryCatch(this._observer.onNext).call(this._observer, value);
2188
+ this._state = 0;
2189
+ res === errorObj && thrower(res.e);
2190
+ };
2146
2191
 
2147
- CheckedObserverPrototype.onError = function (err) {
2148
- this.checkAccess();
2149
- try {
2150
- this._observer.onError(err);
2151
- } catch (e) {
2152
- throw e;
2153
- } finally {
2154
- this._state = 2;
2155
- }
2156
- };
2192
+ CheckedObserverPrototype.onError = function (err) {
2193
+ this.checkAccess();
2194
+ var res = tryCatch(this._observer.onError).call(this._observer, err);
2195
+ this._state = 2;
2196
+ res === errorObj && thrower(res.e);
2197
+ };
2157
2198
 
2158
- CheckedObserverPrototype.onCompleted = function () {
2159
- this.checkAccess();
2160
- try {
2161
- this._observer.onCompleted();
2162
- } catch (e) {
2163
- throw e;
2164
- } finally {
2165
- this._state = 2;
2166
- }
2167
- };
2199
+ CheckedObserverPrototype.onCompleted = function () {
2200
+ this.checkAccess();
2201
+ var res = tryCatch(this._observer.onCompleted).call(this._observer);
2202
+ this._state = 2;
2203
+ res === errorObj && thrower(res.e);
2204
+ };
2168
2205
 
2169
- CheckedObserverPrototype.checkAccess = function () {
2170
- if (this._state === 1) { throw new Error('Re-entrancy detected'); }
2171
- if (this._state === 2) { throw new Error('Observer completed'); }
2172
- if (this._state === 0) { this._state = 1; }
2173
- };
2206
+ CheckedObserverPrototype.checkAccess = function () {
2207
+ if (this._state === 1) { throw new Error('Re-entrancy detected'); }
2208
+ if (this._state === 2) { throw new Error('Observer completed'); }
2209
+ if (this._state === 0) { this._state = 1; }
2210
+ };
2174
2211
 
2175
- return CheckedObserver;
2176
- }(Observer));
2212
+ return CheckedObserver;
2213
+ }(Observer));
2177
2214
 
2178
2215
  var ScheduledObserver = Rx.internals.ScheduledObserver = (function (__super__) {
2179
2216
  inherits(ScheduledObserver, __super__);
@@ -2350,25 +2387,21 @@
2350
2387
  })();
2351
2388
 
2352
2389
  var ObservableBase = Rx.ObservableBase = (function (__super__) {
2390
+ inherits(ObservableBase, __super__);
2353
2391
 
2354
- inherits(ObservableBase, __super__);
2355
-
2356
- // Fix subscriber to check for undefined or function returned to decorate as Disposable
2357
- function fixSubscriber(subscriber) {
2358
- if (subscriber && typeof subscriber.dispose === 'function') { return subscriber; }
2359
-
2360
- return typeof subscriber === 'function' ?
2361
- disposableCreate(subscriber) :
2362
- disposableEmpty;
2392
+ function fixSubscriber(subscriber) {
2393
+ return subscriber && isFunction(subscriber.dispose) ? subscriber :
2394
+ isFunction(subscriber) ? disposableCreate(subscriber) : disposableEmpty;
2363
2395
  }
2364
2396
 
2365
2397
  function setDisposable(s, state) {
2366
2398
  var ado = state[0], self = state[1];
2367
- try {
2368
- ado.setDisposable(fixSubscriber(self.subscribeCore(ado)));
2369
- } catch (e) {
2370
- if (!ado.fail(e)) { throw e; }
2399
+ var sub = tryCatch(self.subscribeCore).call(self, ado);
2400
+
2401
+ if (sub === errorObj) {
2402
+ if(!ado.fail(errorObj.e)) { return thrower(errorObj.e); }
2371
2403
  }
2404
+ ado.setDisposable(fixSubscriber(sub));
2372
2405
  }
2373
2406
 
2374
2407
  function subscribe(observer) {
@@ -2379,7 +2412,6 @@
2379
2412
  } else {
2380
2413
  setDisposable(null, state);
2381
2414
  }
2382
-
2383
2415
  return ado;
2384
2416
  }
2385
2417
 
@@ -2387,12 +2419,9 @@
2387
2419
  __super__.call(this, subscribe);
2388
2420
  }
2389
2421
 
2390
- ObservableBase.prototype.subscribeCore = function(observer) {
2391
- throw new Error('Not implemeneted');
2392
- }
2422
+ ObservableBase.prototype.subscribeCore = notImplemented;
2393
2423
 
2394
2424
  return ObservableBase;
2395
-
2396
2425
  }(Observable));
2397
2426
 
2398
2427
  /**
@@ -2466,7 +2495,7 @@
2466
2495
  */
2467
2496
  observableProto.toPromise = function (promiseCtor) {
2468
2497
  promiseCtor || (promiseCtor = Rx.config.Promise);
2469
- if (!promiseCtor) { throw new TypeError('Promise type not provided nor in Rx.config.Promise'); }
2498
+ if (!promiseCtor) { throw new NotSupportedError('Promise type not provided nor in Rx.config.Promise'); }
2470
2499
  var source = this;
2471
2500
  return new promiseCtor(function (resolve, reject) {
2472
2501
  // No cancellation can be done
@@ -2566,6 +2595,34 @@
2566
2595
  });
2567
2596
  };
2568
2597
 
2598
+ var EmptyObservable = (function(__super__) {
2599
+ inherits(EmptyObservable, __super__);
2600
+ function EmptyObservable(scheduler) {
2601
+ this.scheduler = scheduler;
2602
+ __super__.call(this);
2603
+ }
2604
+
2605
+ EmptyObservable.prototype.subscribeCore = function (observer) {
2606
+ var sink = new EmptySink(observer, this);
2607
+ return sink.run();
2608
+ };
2609
+
2610
+ function EmptySink(observer, parent) {
2611
+ this.observer = observer;
2612
+ this.parent = parent;
2613
+ }
2614
+
2615
+ function scheduleItem(s, state) {
2616
+ state.onCompleted();
2617
+ }
2618
+
2619
+ EmptySink.prototype.run = function () {
2620
+ return this.parent.scheduler.scheduleWithState(this.observer, scheduleItem);
2621
+ };
2622
+
2623
+ return EmptyObservable;
2624
+ }(ObservableBase));
2625
+
2569
2626
  /**
2570
2627
  * Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message.
2571
2628
  *
@@ -2577,11 +2634,7 @@
2577
2634
  */
2578
2635
  var observableEmpty = Observable.empty = function (scheduler) {
2579
2636
  isScheduler(scheduler) || (scheduler = immediateScheduler);
2580
- return new AnonymousObservable(function (observer) {
2581
- return scheduler.schedule(function () {
2582
- observer.onCompleted();
2583
- });
2584
- });
2637
+ return new EmptyObservable(scheduler);
2585
2638
  };
2586
2639
 
2587
2640
  var FromObservable = (function(__super__) {
@@ -2753,7 +2806,7 @@
2753
2806
  inherits(FromArrayObservable, __super__);
2754
2807
  function FromArrayObservable(args, scheduler) {
2755
2808
  this.args = args;
2756
- this.scheduler = scheduler || currentThreadScheduler;
2809
+ this.scheduler = scheduler;
2757
2810
  __super__.call(this);
2758
2811
  }
2759
2812
 
@@ -2791,6 +2844,7 @@
2791
2844
  * @returns {Observable} The observable sequence whose elements are pulled from the given enumerable sequence.
2792
2845
  */
2793
2846
  var observableFromArray = Observable.fromArray = function (array, scheduler) {
2847
+ isScheduler(scheduler) || (scheduler = currentThreadScheduler);
2794
2848
  return new FromArrayObservable(array, scheduler)
2795
2849
  };
2796
2850
 
@@ -2809,9 +2863,9 @@
2809
2863
  */
2810
2864
  Observable.generate = function (initialState, condition, iterate, resultSelector, scheduler) {
2811
2865
  isScheduler(scheduler) || (scheduler = currentThreadScheduler);
2812
- return new AnonymousObservable(function (observer) {
2813
- var first = true, state = initialState;
2814
- return scheduler.scheduleRecursive(function (self) {
2866
+ return new AnonymousObservable(function (o) {
2867
+ var first = true;
2868
+ return scheduler.scheduleRecursiveWithState(initialState, function (state, self) {
2815
2869
  var hasResult, result;
2816
2870
  try {
2817
2871
  if (first) {
@@ -2820,34 +2874,43 @@
2820
2874
  state = iterate(state);
2821
2875
  }
2822
2876
  hasResult = condition(state);
2823
- if (hasResult) {
2824
- result = resultSelector(state);
2825
- }
2826
- } catch (exception) {
2827
- observer.onError(exception);
2828
- return;
2877
+ hasResult && (result = resultSelector(state));
2878
+ } catch (e) {
2879
+ return o.onError(e);
2829
2880
  }
2830
2881
  if (hasResult) {
2831
- observer.onNext(result);
2832
- self();
2882
+ o.onNext(result);
2883
+ self(state);
2833
2884
  } else {
2834
- observer.onCompleted();
2885
+ o.onCompleted();
2835
2886
  }
2836
2887
  });
2837
2888
  });
2838
2889
  };
2839
2890
 
2891
+ var NeverObservable = (function(__super__) {
2892
+ inherits(NeverObservable, __super__);
2893
+ function NeverObservable() {
2894
+ __super__.call(this);
2895
+ }
2896
+
2897
+ NeverObservable.prototype.subscribeCore = function (observer) {
2898
+ return disposableEmpty;
2899
+ };
2900
+
2901
+ return NeverObservable;
2902
+ }(ObservableBase));
2903
+
2840
2904
  /**
2841
- * Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins).
2905
+ * Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins).
2842
2906
  * @returns {Observable} An observable sequence whose observers will never get called.
2843
2907
  */
2844
2908
  var observableNever = Observable.never = function () {
2845
- return new AnonymousObservable(function () {
2846
- return disposableEmpty;
2847
- });
2909
+ return new NeverObservable();
2848
2910
  };
2849
2911
 
2850
2912
  function observableOf (scheduler, array) {
2913
+ isScheduler(scheduler) || (scheduler = currentThreadScheduler);
2851
2914
  return new FromArrayObservable(array, scheduler);
2852
2915
  }
2853
2916
 
@@ -2858,7 +2921,7 @@
2858
2921
  Observable.of = function () {
2859
2922
  var len = arguments.length, args = new Array(len);
2860
2923
  for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
2861
- return new FromArrayObservable(args);
2924
+ return new FromArrayObservable(args, currentThreadScheduler);
2862
2925
  };
2863
2926
 
2864
2927
  /**
@@ -2872,6 +2935,43 @@
2872
2935
  return new FromArrayObservable(args, scheduler);
2873
2936
  };
2874
2937
 
2938
+ var PairsObservable = (function(__super__) {
2939
+ inherits(PairsObservable, __super__);
2940
+ function PairsObservable(obj, scheduler) {
2941
+ this.obj = obj;
2942
+ this.keys = Object.keys(obj);
2943
+ this.scheduler = scheduler;
2944
+ __super__.call(this);
2945
+ }
2946
+
2947
+ PairsObservable.prototype.subscribeCore = function (observer) {
2948
+ var sink = new PairsSink(observer, this);
2949
+ return sink.run();
2950
+ };
2951
+
2952
+ return PairsObservable;
2953
+ }(ObservableBase));
2954
+
2955
+ function PairsSink(observer, parent) {
2956
+ this.observer = observer;
2957
+ this.parent = parent;
2958
+ }
2959
+
2960
+ PairsSink.prototype.run = function () {
2961
+ var observer = this.observer, obj = this.parent.obj, keys = this.parent.keys, len = keys.length;
2962
+ function loopRecursive(i, recurse) {
2963
+ if (i < len) {
2964
+ var key = keys[i];
2965
+ observer.onNext([key, obj[key]]);
2966
+ recurse(i + 1);
2967
+ } else {
2968
+ observer.onCompleted();
2969
+ }
2970
+ }
2971
+
2972
+ return this.parent.scheduler.scheduleRecursiveWithState(0, loopRecursive);
2973
+ };
2974
+
2875
2975
  /**
2876
2976
  * Convert an object into an observable sequence of [key, value] pairs.
2877
2977
  * @param {Object} obj The object to inspect.
@@ -2879,19 +2979,8 @@
2879
2979
  * @returns {Observable} An observable sequence of [key, value] pairs from the object.
2880
2980
  */
2881
2981
  Observable.pairs = function (obj, scheduler) {
2882
- scheduler || (scheduler = Rx.Scheduler.currentThread);
2883
- return new AnonymousObservable(function (observer) {
2884
- var keys = Object.keys(obj), len = keys.length;
2885
- return scheduler.scheduleRecursiveWithState(0, function (idx, self) {
2886
- if (idx < len) {
2887
- var key = keys[idx];
2888
- observer.onNext([key, obj[key]]);
2889
- self(idx + 1);
2890
- } else {
2891
- observer.onCompleted();
2892
- }
2893
- });
2894
- });
2982
+ scheduler || (scheduler = currentThreadScheduler);
2983
+ return new PairsObservable(obj, scheduler);
2895
2984
  };
2896
2985
 
2897
2986
  var RangeObservable = (function(__super__) {
@@ -2946,14 +3035,44 @@
2946
3035
  return new RangeObservable(start, count, scheduler);
2947
3036
  };
2948
3037
 
3038
+ var RepeatObservable = (function(__super__) {
3039
+ inherits(RepeatObservable, __super__);
3040
+ function RepeatObservable(value, repeatCount, scheduler) {
3041
+ this.value = value;
3042
+ this.repeatCount = repeatCount == null ? -1 : repeatCount;
3043
+ this.scheduler = scheduler;
3044
+ __super__.call(this);
3045
+ }
3046
+
3047
+ RepeatObservable.prototype.subscribeCore = function (observer) {
3048
+ var sink = new RepeatSink(observer, this);
3049
+ return sink.run();
3050
+ };
3051
+
3052
+ return RepeatObservable;
3053
+ }(ObservableBase));
3054
+
3055
+ function RepeatSink(observer, parent) {
3056
+ this.observer = observer;
3057
+ this.parent = parent;
3058
+ }
3059
+
3060
+ RepeatSink.prototype.run = function () {
3061
+ var observer = this.observer, value = this.parent.value;
3062
+ function loopRecursive(i, recurse) {
3063
+ if (i === -1 || i > 0) {
3064
+ observer.onNext(value);
3065
+ i > 0 && i--;
3066
+ }
3067
+ if (i === 0) { return observer.onCompleted(); }
3068
+ recurse(i);
3069
+ }
3070
+
3071
+ return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount, loopRecursive);
3072
+ };
3073
+
2949
3074
  /**
2950
3075
  * Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages.
2951
- *
2952
- * @example
2953
- * var res = Rx.Observable.repeat(42);
2954
- * var res = Rx.Observable.repeat(42, 4);
2955
- * 3 - res = Rx.Observable.repeat(42, 4, Rx.Scheduler.timeout);
2956
- * 4 - res = Rx.Observable.repeat(42, null, Rx.Scheduler.timeout);
2957
3076
  * @param {Mixed} value Element to repeat.
2958
3077
  * @param {Number} repeatCount [Optiona] Number of times to repeat the element. If not specified, repeats indefinitely.
2959
3078
  * @param {Scheduler} scheduler Scheduler to run the producer loop on. If not specified, defaults to Scheduler.immediate.
@@ -2961,31 +3080,81 @@
2961
3080
  */
2962
3081
  Observable.repeat = function (value, repeatCount, scheduler) {
2963
3082
  isScheduler(scheduler) || (scheduler = currentThreadScheduler);
2964
- return observableReturn(value, scheduler).repeat(repeatCount == null ? -1 : repeatCount);
3083
+ return new RepeatObservable(value, repeatCount, scheduler);
2965
3084
  };
2966
3085
 
3086
+ var JustObservable = (function(__super__) {
3087
+ inherits(JustObservable, __super__);
3088
+ function JustObservable(value, scheduler) {
3089
+ this.value = value;
3090
+ this.scheduler = scheduler;
3091
+ __super__.call(this);
3092
+ }
3093
+
3094
+ JustObservable.prototype.subscribeCore = function (observer) {
3095
+ var sink = new JustSink(observer, this);
3096
+ return sink.run();
3097
+ };
3098
+
3099
+ function JustSink(observer, parent) {
3100
+ this.observer = observer;
3101
+ this.parent = parent;
3102
+ }
3103
+
3104
+ function scheduleItem(s, state) {
3105
+ var value = state[0], observer = state[1];
3106
+ observer.onNext(value);
3107
+ observer.onCompleted();
3108
+ }
3109
+
3110
+ JustSink.prototype.run = function () {
3111
+ return this.parent.scheduler.scheduleWithState([this.parent.value, this.observer], scheduleItem);
3112
+ };
3113
+
3114
+ return JustObservable;
3115
+ }(ObservableBase));
3116
+
2967
3117
  /**
2968
3118
  * Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages.
2969
- * There is an alias called 'just', and 'returnValue' for browsers <IE9.
3119
+ * There is an alias called 'just' or browsers <IE9.
2970
3120
  * @param {Mixed} value Single element in the resulting observable sequence.
2971
3121
  * @param {Scheduler} scheduler Scheduler to send the single element on. If not specified, defaults to Scheduler.immediate.
2972
3122
  * @returns {Observable} An observable sequence containing the single specified element.
2973
3123
  */
2974
- var observableReturn = Observable['return'] = Observable.just = function (value, scheduler) {
3124
+ var observableReturn = Observable['return'] = Observable.just = Observable.returnValue = function (value, scheduler) {
2975
3125
  isScheduler(scheduler) || (scheduler = immediateScheduler);
2976
- return new AnonymousObservable(function (observer) {
2977
- return scheduler.schedule(function () {
2978
- observer.onNext(value);
2979
- observer.onCompleted();
2980
- });
2981
- });
3126
+ return new JustObservable(value, scheduler);
2982
3127
  };
2983
3128
 
2984
- /** @deprecated use return or just */
2985
- Observable.returnValue = function () {
2986
- //deprecate('returnValue', 'return or just');
2987
- return observableReturn.apply(null, arguments);
2988
- };
3129
+ var ThrowObservable = (function(__super__) {
3130
+ inherits(ThrowObservable, __super__);
3131
+ function ThrowObservable(error, scheduler) {
3132
+ this.error = error;
3133
+ this.scheduler = scheduler;
3134
+ __super__.call(this);
3135
+ }
3136
+
3137
+ ThrowObservable.prototype.subscribeCore = function (observer) {
3138
+ var sink = new ThrowSink(observer, this);
3139
+ return sink.run();
3140
+ };
3141
+
3142
+ function ThrowSink(observer, parent) {
3143
+ this.observer = observer;
3144
+ this.parent = parent;
3145
+ }
3146
+
3147
+ function scheduleItem(s, state) {
3148
+ var error = state[0], observer = state[1];
3149
+ observer.onError(error);
3150
+ }
3151
+
3152
+ ThrowSink.prototype.run = function () {
3153
+ return this.parent.scheduler.scheduleWithState([this.parent.error, this.observer], scheduleItem);
3154
+ };
3155
+
3156
+ return ThrowObservable;
3157
+ }(ObservableBase));
2989
3158
 
2990
3159
  /**
2991
3160
  * Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single onError message.
@@ -2994,19 +3163,9 @@
2994
3163
  * @param {Scheduler} scheduler Scheduler to send the exceptional termination call on. If not specified, defaults to Scheduler.immediate.
2995
3164
  * @returns {Observable} The observable sequence that terminates exceptionally with the specified exception object.
2996
3165
  */
2997
- var observableThrow = Observable['throw'] = Observable.throwError = function (error, scheduler) {
3166
+ var observableThrow = Observable['throw'] = Observable.throwError = Observable.throwException = function (error, scheduler) {
2998
3167
  isScheduler(scheduler) || (scheduler = immediateScheduler);
2999
- return new AnonymousObservable(function (observer) {
3000
- return scheduler.schedule(function () {
3001
- observer.onError(error);
3002
- });
3003
- });
3004
- };
3005
-
3006
- /** @deprecated use #some instead */
3007
- Observable.throwException = function () {
3008
- //deprecate('throwException', 'throwError');
3009
- return Observable.throwError.apply(null, arguments);
3168
+ return new ThrowObservable(error, scheduler);
3010
3169
  };
3011
3170
 
3012
3171
  /**
@@ -3202,24 +3361,23 @@
3202
3361
  var len = arguments.length, args = new Array(len);
3203
3362
  for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
3204
3363
  var resultSelector = args.pop();
3205
- len--;
3206
3364
  Array.isArray(args[0]) && (args = args[0]);
3207
3365
 
3208
3366
  return new AnonymousObservable(function (o) {
3209
- var falseFactory = function () { return false; },
3210
- hasValue = arrayInitialize(len, falseFactory),
3367
+ var n = args.length,
3368
+ falseFactory = function () { return false; },
3369
+ hasValue = arrayInitialize(n, falseFactory),
3211
3370
  hasValueAll = false,
3212
- isDone = arrayInitialize(len, falseFactory),
3213
- values = new Array(len);
3371
+ isDone = arrayInitialize(n, falseFactory),
3372
+ values = new Array(n);
3214
3373
 
3215
3374
  function next(i) {
3216
3375
  hasValue[i] = true;
3217
3376
  if (hasValueAll || (hasValueAll = hasValue.every(identity))) {
3218
3377
  try {
3219
3378
  var res = resultSelector.apply(null, values);
3220
- } catch (ex) {
3221
- o.onError(ex);
3222
- return;
3379
+ } catch (e) {
3380
+ return o.onError(e);
3223
3381
  }
3224
3382
  o.onNext(res);
3225
3383
  } else if (isDone.filter(function (x, j) { return j !== i; }).every(identity)) {
@@ -3232,8 +3390,8 @@
3232
3390
  isDone.every(identity) && o.onCompleted();
3233
3391
  }
3234
3392
 
3235
- var subscriptions = new Array(len);
3236
- for (var idx = 0; idx < len; idx++) {
3393
+ var subscriptions = new Array(n);
3394
+ for (var idx = 0; idx < n; idx++) {
3237
3395
  (function (i) {
3238
3396
  var source = args[i], sad = new SingleAssignmentDisposable();
3239
3397
  isPromise(source) && (source = observableFromPromise(source));
@@ -3286,52 +3444,131 @@
3286
3444
  return this.merge(1);
3287
3445
  };
3288
3446
 
3289
- /**
3290
- * Merges an observable sequence of observable sequences into an observable sequence, limiting the number of concurrent subscriptions to inner sequences.
3291
- * Or merges two observable sequences into a single observable sequence.
3292
- *
3293
- * @example
3294
- * 1 - merged = sources.merge(1);
3295
- * 2 - merged = source.merge(otherSource);
3296
- * @param {Mixed} [maxConcurrentOrOther] Maximum number of inner observable sequences being subscribed to concurrently or the second observable sequence.
3297
- * @returns {Observable} The observable sequence that merges the elements of the inner sequences.
3298
- */
3299
- observableProto.merge = function (maxConcurrentOrOther) {
3300
- if (typeof maxConcurrentOrOther !== 'number') { return observableMerge(this, maxConcurrentOrOther); }
3301
- var sources = this;
3302
- return new AnonymousObservable(function (o) {
3303
- var activeCount = 0, group = new CompositeDisposable(), isStopped = false, q = [];
3447
+ var MergeObservable = (function (__super__) {
3448
+ inherits(MergeObservable, __super__);
3449
+
3450
+ function MergeObservable(source, maxConcurrent) {
3451
+ this.source = source;
3452
+ this.maxConcurrent = maxConcurrent;
3453
+ __super__.call(this);
3454
+ }
3304
3455
 
3305
- function subscribe(xs) {
3306
- var subscription = new SingleAssignmentDisposable();
3307
- group.add(subscription);
3456
+ MergeObservable.prototype.subscribeCore = function(observer) {
3457
+ var g = new CompositeDisposable();
3458
+ g.add(this.source.subscribe(new MergeObserver(observer, this.maxConcurrent, g)));
3459
+ return g;
3460
+ };
3308
3461
 
3309
- // Check for promises support
3310
- isPromise(xs) && (xs = observableFromPromise(xs));
3462
+ return MergeObservable;
3463
+
3464
+ }(ObservableBase));
3465
+
3466
+ var MergeObserver = (function () {
3467
+ function MergeObserver(o, max, g) {
3468
+ this.o = o;
3469
+ this.max = max;
3470
+ this.g = g;
3471
+ this.done = false;
3472
+ this.q = [];
3473
+ this.activeCount = 0;
3474
+ this.isStopped = false;
3475
+ }
3476
+ MergeObserver.prototype.handleSubscribe = function (xs) {
3477
+ var sad = new SingleAssignmentDisposable();
3478
+ this.g.add(sad);
3479
+ isPromise(xs) && (xs = observableFromPromise(xs));
3480
+ sad.setDisposable(xs.subscribe(new InnerObserver(this, sad)));
3481
+ };
3482
+ MergeObserver.prototype.onNext = function (innerSource) {
3483
+ if (this.isStopped) { return; }
3484
+ if(this.activeCount < this.max) {
3485
+ this.activeCount++;
3486
+ this.handleSubscribe(innerSource);
3487
+ } else {
3488
+ this.q.push(innerSource);
3489
+ }
3490
+ };
3491
+ MergeObserver.prototype.onError = function (e) {
3492
+ if (!this.isStopped) {
3493
+ this.isStopped = true;
3494
+ this.o.onError(e);
3495
+ }
3496
+ };
3497
+ MergeObserver.prototype.onCompleted = function () {
3498
+ if (!this.isStopped) {
3499
+ this.isStopped = true;
3500
+ this.done = true;
3501
+ this.activeCount === 0 && this.o.onCompleted();
3502
+ }
3503
+ };
3504
+ MergeObserver.prototype.dispose = function() { this.isStopped = true; };
3505
+ MergeObserver.prototype.fail = function (e) {
3506
+ if (!this.isStopped) {
3507
+ this.isStopped = true;
3508
+ this.o.onError(e);
3509
+ return true;
3510
+ }
3311
3511
 
3312
- subscription.setDisposable(xs.subscribe(function (x) { o.onNext(x); }, function (e) { o.onError(e); }, function () {
3313
- group.remove(subscription);
3314
- if (q.length > 0) {
3315
- subscribe(q.shift());
3512
+ return false;
3513
+ };
3514
+
3515
+ function InnerObserver(parent, sad) {
3516
+ this.parent = parent;
3517
+ this.sad = sad;
3518
+ this.isStopped = false;
3519
+ }
3520
+ InnerObserver.prototype.onNext = function (x) { if(!this.isStopped) { this.parent.o.onNext(x); } };
3521
+ InnerObserver.prototype.onError = function (e) {
3522
+ if (!this.isStopped) {
3523
+ this.isStopped = true;
3524
+ this.parent.o.onError(e);
3525
+ }
3526
+ };
3527
+ InnerObserver.prototype.onCompleted = function () {
3528
+ if(!this.isStopped) {
3529
+ this.isStopped = true;
3530
+ var parent = this.parent;
3531
+ parent.g.remove(this.sad);
3532
+ if (parent.q.length > 0) {
3533
+ parent.handleSubscribe(parent.q.shift());
3316
3534
  } else {
3317
- activeCount--;
3318
- isStopped && activeCount === 0 && o.onCompleted();
3535
+ parent.activeCount--;
3536
+ parent.done && parent.activeCount === 0 && parent.o.onCompleted();
3319
3537
  }
3320
- }));
3321
- }
3322
- group.add(sources.subscribe(function (innerSource) {
3323
- if (activeCount < maxConcurrentOrOther) {
3324
- activeCount++;
3325
- subscribe(innerSource);
3326
- } else {
3327
- q.push(innerSource);
3328
3538
  }
3329
- }, function (e) { o.onError(e); }, function () {
3330
- isStopped = true;
3331
- activeCount === 0 && o.onCompleted();
3332
- }));
3333
- return group;
3334
- }, sources);
3539
+ };
3540
+ InnerObserver.prototype.dispose = function() { this.isStopped = true; };
3541
+ InnerObserver.prototype.fail = function (e) {
3542
+ if (!this.isStopped) {
3543
+ this.isStopped = true;
3544
+ this.parent.o.onError(e);
3545
+ return true;
3546
+ }
3547
+
3548
+ return false;
3549
+ };
3550
+
3551
+ return MergeObserver;
3552
+ }());
3553
+
3554
+
3555
+
3556
+
3557
+
3558
+ /**
3559
+ * Merges an observable sequence of observable sequences into an observable sequence, limiting the number of concurrent subscriptions to inner sequences.
3560
+ * Or merges two observable sequences into a single observable sequence.
3561
+ *
3562
+ * @example
3563
+ * 1 - merged = sources.merge(1);
3564
+ * 2 - merged = source.merge(otherSource);
3565
+ * @param {Mixed} [maxConcurrentOrOther] Maximum number of inner observable sequences being subscribed to concurrently or the second observable sequence.
3566
+ * @returns {Observable} The observable sequence that merges the elements of the inner sequences.
3567
+ */
3568
+ observableProto.merge = function (maxConcurrentOrOther) {
3569
+ return typeof maxConcurrentOrOther !== 'number' ?
3570
+ observableMerge(this, maxConcurrentOrOther) :
3571
+ new MergeObservable(this, maxConcurrentOrOther);
3335
3572
  };
3336
3573
 
3337
3574
  /**
@@ -3357,35 +3594,188 @@
3357
3594
  return observableOf(scheduler, sources).mergeAll();
3358
3595
  };
3359
3596
 
3597
+ var MergeAllObservable = (function (__super__) {
3598
+ inherits(MergeAllObservable, __super__);
3599
+
3600
+ function MergeAllObservable(source) {
3601
+ this.source = source;
3602
+ __super__.call(this);
3603
+ }
3604
+
3605
+ MergeAllObservable.prototype.subscribeCore = function (observer) {
3606
+ var g = new CompositeDisposable(), m = new SingleAssignmentDisposable();
3607
+ g.add(m);
3608
+ m.setDisposable(this.source.subscribe(new MergeAllObserver(observer, g)));
3609
+ return g;
3610
+ };
3611
+
3612
+ return MergeAllObservable;
3613
+ }(ObservableBase));
3614
+
3615
+ var MergeAllObserver = (function() {
3616
+
3617
+ function MergeAllObserver(o, g) {
3618
+ this.o = o;
3619
+ this.g = g;
3620
+ this.isStopped = false;
3621
+ this.done = false;
3622
+ }
3623
+ MergeAllObserver.prototype.onNext = function(innerSource) {
3624
+ if(this.isStopped) { return; }
3625
+ var sad = new SingleAssignmentDisposable();
3626
+ this.g.add(sad);
3627
+
3628
+ isPromise(innerSource) && (innerSource = observableFromPromise(innerSource));
3629
+
3630
+ sad.setDisposable(innerSource.subscribe(new InnerObserver(this, this.g, sad)));
3631
+ };
3632
+ MergeAllObserver.prototype.onError = function (e) {
3633
+ if(!this.isStopped) {
3634
+ this.isStopped = true;
3635
+ this.o.onError(e);
3636
+ }
3637
+ };
3638
+ MergeAllObserver.prototype.onCompleted = function () {
3639
+ if(!this.isStopped) {
3640
+ this.isStopped = true;
3641
+ this.done = true;
3642
+ this.g.length === 1 && this.o.onCompleted();
3643
+ }
3644
+ };
3645
+ MergeAllObserver.prototype.dispose = function() { this.isStopped = true; };
3646
+ MergeAllObserver.prototype.fail = function (e) {
3647
+ if (!this.isStopped) {
3648
+ this.isStopped = true;
3649
+ this.o.onError(e);
3650
+ return true;
3651
+ }
3652
+
3653
+ return false;
3654
+ };
3655
+
3656
+ function InnerObserver(parent, g, sad) {
3657
+ this.parent = parent;
3658
+ this.g = g;
3659
+ this.sad = sad;
3660
+ this.isStopped = false;
3661
+ }
3662
+ InnerObserver.prototype.onNext = function (x) { if (!this.isStopped) { this.parent.o.onNext(x); } };
3663
+ InnerObserver.prototype.onError = function (e) {
3664
+ if(!this.isStopped) {
3665
+ this.isStopped = true;
3666
+ this.parent.o.onError(e);
3667
+ }
3668
+ };
3669
+ InnerObserver.prototype.onCompleted = function () {
3670
+ if(!this.isStopped) {
3671
+ var parent = this.parent;
3672
+ this.isStopped = true;
3673
+ parent.g.remove(this.sad);
3674
+ parent.done && parent.g.length === 1 && parent.o.onCompleted();
3675
+ }
3676
+ };
3677
+ InnerObserver.prototype.dispose = function() { this.isStopped = true; };
3678
+ InnerObserver.prototype.fail = function (e) {
3679
+ if (!this.isStopped) {
3680
+ this.isStopped = true;
3681
+ this.parent.o.onError(e);
3682
+ return true;
3683
+ }
3684
+
3685
+ return false;
3686
+ };
3687
+
3688
+ return MergeAllObserver;
3689
+
3690
+ }());
3691
+
3360
3692
  /**
3361
- * Merges an observable sequence of observable sequences into an observable sequence.
3362
- * @returns {Observable} The observable sequence that merges the elements of the inner sequences.
3363
- */
3693
+ * Merges an observable sequence of observable sequences into an observable sequence.
3694
+ * @returns {Observable} The observable sequence that merges the elements of the inner sequences.
3695
+ */
3364
3696
  observableProto.mergeAll = observableProto.mergeObservable = function () {
3365
- var sources = this;
3697
+ return new MergeAllObservable(this);
3698
+ };
3699
+
3700
+ var CompositeError = Rx.CompositeError = function(errors) {
3701
+ this.name = "NotImplementedError";
3702
+ this.innerErrors = errors;
3703
+ this.message = 'This contains multiple errors. Check the innerErrors';
3704
+ Error.call(this);
3705
+ }
3706
+ CompositeError.prototype = Error.prototype;
3707
+
3708
+ /**
3709
+ * Flattens an Observable that emits Observables into one Observable, in a way that allows an Observer to
3710
+ * receive all successfully emitted items from all of the source Observables without being interrupted by
3711
+ * an error notification from one of them.
3712
+ *
3713
+ * This behaves like Observable.prototype.mergeAll except that if any of the merged Observables notify of an
3714
+ * error via the Observer's onError, mergeDelayError will refrain from propagating that
3715
+ * error notification until all of the merged Observables have finished emitting items.
3716
+ * @param {Array | Arguments} args Arguments or an array to merge.
3717
+ * @returns {Observable} an Observable that emits all of the items emitted by the Observables emitted by the Observable
3718
+ */
3719
+ Observable.mergeDelayError = function() {
3720
+ var args;
3721
+ if (Array.isArray(arguments[0])) {
3722
+ args = arguments[0];
3723
+ } else {
3724
+ var len = arguments.length;
3725
+ args = new Array(len);
3726
+ for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
3727
+ }
3728
+ var source = observableOf(null, args);
3729
+
3366
3730
  return new AnonymousObservable(function (o) {
3367
3731
  var group = new CompositeDisposable(),
3732
+ m = new SingleAssignmentDisposable(),
3368
3733
  isStopped = false,
3369
- m = new SingleAssignmentDisposable();
3734
+ errors = [];
3370
3735
 
3371
- group.add(m);
3372
- m.setDisposable(sources.subscribe(function (innerSource) {
3373
- var innerSubscription = new SingleAssignmentDisposable();
3374
- group.add(innerSubscription);
3736
+ function setCompletion() {
3737
+ if (errors.length === 0) {
3738
+ o.onCompleted();
3739
+ } else if (errors.length === 1) {
3740
+ o.onError(errors[0]);
3741
+ } else {
3742
+ o.onError(new CompositeError(errors));
3743
+ }
3744
+ }
3375
3745
 
3376
- // Check for promises support
3377
- isPromise(innerSource) && (innerSource = observableFromPromise(innerSource));
3746
+ group.add(m);
3378
3747
 
3379
- innerSubscription.setDisposable(innerSource.subscribe(function (x) { o.onNext(x); }, function (e) { o.onError(e); }, function () {
3380
- group.remove(innerSubscription);
3381
- isStopped && group.length === 1 && o.onCompleted();
3748
+ m.setDisposable(source.subscribe(
3749
+ function (innerSource) {
3750
+ var innerSubscription = new SingleAssignmentDisposable();
3751
+ group.add(innerSubscription);
3752
+
3753
+ // Check for promises support
3754
+ isPromise(innerSource) && (innerSource = observableFromPromise(innerSource));
3755
+
3756
+ innerSubscription.setDisposable(innerSource.subscribe(
3757
+ function (x) { o.onNext(x); },
3758
+ function (e) {
3759
+ errors.push(e);
3760
+ group.remove(innerSubscription);
3761
+ isStopped && group.length === 1 && setCompletion();
3762
+ },
3763
+ function () {
3764
+ group.remove(innerSubscription);
3765
+ isStopped && group.length === 1 && setCompletion();
3766
+ }));
3767
+ },
3768
+ function (e) {
3769
+ errors.push(e);
3770
+ isStopped = true;
3771
+ group.length === 1 && setCompletion();
3772
+ },
3773
+ function () {
3774
+ isStopped = true;
3775
+ group.length === 1 && setCompletion();
3382
3776
  }));
3383
- }, function (e) { o.onError(e); }, function () {
3384
- isStopped = true;
3385
- group.length === 1 && o.onCompleted();
3386
- }));
3387
3777
  return group;
3388
- }, sources);
3778
+ });
3389
3779
  };
3390
3780
 
3391
3781
  /**
@@ -3525,7 +3915,8 @@
3525
3915
  * @returns {Observable} An observable sequence containing the result of combining elements of the sources using the specified result selector function.
3526
3916
  */
3527
3917
  observableProto.withLatestFrom = function () {
3528
- for(var args = [], i = 0, len = arguments.length; i < len; i++) { args.push(arguments[i]); }
3918
+ var len = arguments.length, args = new Array(len)
3919
+ for(var i = 0; i < len; i++) { args[i] = arguments[i]; }
3529
3920
  var resultSelector = args.pop(), source = this;
3530
3921
 
3531
3922
  if (typeof source === 'undefined') {
@@ -3826,10 +4217,12 @@
3826
4217
  * @returns {Observable} The source sequence with the side-effecting behavior applied.
3827
4218
  */
3828
4219
  observableProto['do'] = observableProto.tap = observableProto.doAction = function (observerOrOnNext, onError, onCompleted) {
3829
- var source = this, tapObserver = typeof observerOrOnNext === 'function' || typeof observerOrOnNext === 'undefined'?
3830
- observerCreate(observerOrOnNext || noop, onError || noop, onCompleted || noop) :
3831
- observerOrOnNext;
4220
+ var source = this;
3832
4221
  return new AnonymousObservable(function (observer) {
4222
+ var tapObserver = !observerOrOnNext || isFunction(observerOrOnNext) ?
4223
+ observerCreate(observerOrOnNext || noop, onError || noop, onCompleted || noop) :
4224
+ observerOrOnNext;
4225
+
3833
4226
  return source.subscribe(function (x) {
3834
4227
  try {
3835
4228
  tapObserver.onNext(x);
@@ -4045,6 +4438,7 @@
4045
4438
  * @returns {Observable} An observable sequence containing the source sequence elements except for the bypassed ones at the end.
4046
4439
  */
4047
4440
  observableProto.skipLast = function (count) {
4441
+ if (count < 0) { throw new ArgumentOutOfRangeError(); }
4048
4442
  var source = this;
4049
4443
  return new AnonymousObservable(function (o) {
4050
4444
  var q = [];
@@ -4084,6 +4478,7 @@
4084
4478
  * @returns {Observable} An observable sequence containing the specified number of elements from the end of the source sequence.
4085
4479
  */
4086
4480
  observableProto.takeLast = function (count) {
4481
+ if (count < 0) { throw new ArgumentOutOfRangeError(); }
4087
4482
  var source = this;
4088
4483
  return new AnonymousObservable(function (o) {
4089
4484
  var q = [];
@@ -4133,12 +4528,12 @@
4133
4528
  var source = this;
4134
4529
  +count || (count = 0);
4135
4530
  Math.abs(count) === Infinity && (count = 0);
4136
- if (count <= 0) { throw new Error(argumentOutOfRange); }
4531
+ if (count <= 0) { throw new ArgumentOutOfRangeError(); }
4137
4532
  skip == null && (skip = count);
4138
4533
  +skip || (skip = 0);
4139
4534
  Math.abs(skip) === Infinity && (skip = 0);
4140
4535
 
4141
- if (skip <= 0) { throw new Error(argumentOutOfRange); }
4536
+ if (skip <= 0) { throw new ArgumentOutOfRangeError(); }
4142
4537
  return new AnonymousObservable(function (observer) {
4143
4538
  var m = new SingleAssignmentDisposable(),
4144
4539
  refCountDisposable = new RefCountDisposable(m),
@@ -4363,7 +4758,7 @@
4363
4758
 
4364
4759
  MapObservable.prototype.internalMap = function (selector, thisArg) {
4365
4760
  var self = this;
4366
- return new MapObservable(this.source, function (x, i, o) { return selector(self.selector(x, i, o), i, o); }, thisArg)
4761
+ return new MapObservable(this.source, function (x, i, o) { return selector.call(this, self.selector(x, i, o), i, o); }, thisArg)
4367
4762
  };
4368
4763
 
4369
4764
  MapObservable.prototype.subscribeCore = function (observer) {
@@ -4384,10 +4779,9 @@
4384
4779
 
4385
4780
  MapObserver.prototype.onNext = function(x) {
4386
4781
  if (this.isStopped) { return; }
4387
- try {
4388
- var result = this.selector(x, this.i++, this.source);
4389
- } catch (e) {
4390
- return this.observer.onError(e);
4782
+ var result = tryCatch(this.selector).call(this, x, this.i++, this.source);
4783
+ if (result === errorObj) {
4784
+ return this.observer.onError(result.e);
4391
4785
  }
4392
4786
  this.observer.onNext(result);
4393
4787
  };
@@ -4560,7 +4954,7 @@
4560
4954
  * @returns {Observable} An observable sequence that contains the elements that occur after the specified index in the input sequence.
4561
4955
  */
4562
4956
  observableProto.skip = function (count) {
4563
- if (count < 0) { throw new Error(argumentOutOfRange); }
4957
+ if (count < 0) { throw new ArgumentOutOfRangeError(); }
4564
4958
  var source = this;
4565
4959
  return new AnonymousObservable(function (o) {
4566
4960
  var remaining = count;
@@ -4613,7 +5007,7 @@
4613
5007
  * @returns {Observable} An observable sequence that contains the specified number of elements from the start of the input sequence.
4614
5008
  */
4615
5009
  observableProto.take = function (count, scheduler) {
4616
- if (count < 0) { throw new RangeError(argumentOutOfRange); }
5010
+ if (count < 0) { throw new ArgumentOutOfRangeError(); }
4617
5011
  if (count === 0) { return observableEmpty(scheduler); }
4618
5012
  var source = this;
4619
5013
  return new AnonymousObservable(function (o) {
@@ -4672,7 +5066,7 @@
4672
5066
 
4673
5067
  FilterObservable.prototype.internalFilter = function(predicate, thisArg) {
4674
5068
  var self = this;
4675
- return new FilterObservable(this.source, function(x, i, o) { return self.predicate(x, i, o) && predicate(x, i, o); }, thisArg);
5069
+ return new FilterObservable(this.source, function(x, i, o) { return self.predicate(x, i, o) && predicate.call(this, x, i, o); }, thisArg);
4676
5070
  };
4677
5071
 
4678
5072
  return FilterObservable;
@@ -4689,10 +5083,9 @@
4689
5083
 
4690
5084
  FilterObserver.prototype.onNext = function(x) {
4691
5085
  if (this.isStopped) { return; }
4692
- try {
4693
- var shouldYield = this.predicate(x, this.i++, this.source);
4694
- } catch (e) {
4695
- return this.observer.onError(e);
5086
+ var shouldYield = tryCatch(this.predicate).call(this, x, this.i++, this.source);
5087
+ if (shouldYield === errorObj) {
5088
+ return this.observer.onError(shouldYield.e);
4696
5089
  }
4697
5090
  shouldYield && this.observer.onNext(x);
4698
5091
  };
@@ -4731,32 +5124,32 @@
4731
5124
  observableProto.transduce = function(transducer) {
4732
5125
  var source = this;
4733
5126
 
4734
- function transformForObserver(observer) {
5127
+ function transformForObserver(o) {
4735
5128
  return {
4736
- init: function() {
4737
- return observer;
5129
+ '@@transducer/init': function() {
5130
+ return o;
4738
5131
  },
4739
- step: function(obs, input) {
5132
+ '@@transducer/step': function(obs, input) {
4740
5133
  return obs.onNext(input);
4741
5134
  },
4742
- result: function(obs) {
5135
+ '@@transducer/result': function(obs) {
4743
5136
  return obs.onCompleted();
4744
5137
  }
4745
5138
  };
4746
5139
  }
4747
5140
 
4748
- return new AnonymousObservable(function(observer) {
4749
- var xform = transducer(transformForObserver(observer));
5141
+ return new AnonymousObservable(function(o) {
5142
+ var xform = transducer(transformForObserver(o));
4750
5143
  return source.subscribe(
4751
5144
  function(v) {
4752
5145
  try {
4753
- xform.step(observer, v);
5146
+ xform['@@transducer/step'](o, v);
4754
5147
  } catch (e) {
4755
- observer.onError(e);
5148
+ o.onError(e);
4756
5149
  }
4757
5150
  },
4758
- observer.onError.bind(observer),
4759
- function() { xform.result(observer); }
5151
+ function (e) { o.onError(e); },
5152
+ function() { xform['@@transducer/result'](o); }
4760
5153
  );
4761
5154
  }, source);
4762
5155
  };
@@ -4766,27 +5159,24 @@
4766
5159
 
4767
5160
  // Fix subscriber to check for undefined or function returned to decorate as Disposable
4768
5161
  function fixSubscriber(subscriber) {
4769
- if (subscriber && typeof subscriber.dispose === 'function') { return subscriber; }
4770
-
4771
- return typeof subscriber === 'function' ?
4772
- disposableCreate(subscriber) :
4773
- disposableEmpty;
5162
+ return subscriber && isFunction(subscriber.dispose) ? subscriber :
5163
+ isFunction(subscriber) ? disposableCreate(subscriber) : disposableEmpty;
4774
5164
  }
4775
5165
 
4776
5166
  function setDisposable(s, state) {
4777
5167
  var ado = state[0], subscribe = state[1];
4778
- try {
4779
- ado.setDisposable(fixSubscriber(subscribe(ado)));
4780
- } catch (e) {
4781
- if (!ado.fail(e)) { throw e; }
5168
+ var sub = tryCatch(subscribe)(ado);
5169
+
5170
+ if (sub === errorObj) {
5171
+ if(!ado.fail(errorObj.e)) { return thrower(errorObj.e); }
4782
5172
  }
5173
+ ado.setDisposable(fixSubscriber(sub));
4783
5174
  }
4784
5175
 
4785
5176
  function AnonymousObservable(subscribe, parent) {
4786
5177
  this.source = parent;
4787
5178
 
4788
5179
  function s(observer) {
4789
-
4790
5180
  var ado = new AutoDetachObserver(observer), state = [ado, subscribe];
4791
5181
 
4792
5182
  if (currentThreadScheduler.scheduleRequired()) {
@@ -4794,7 +5184,6 @@
4794
5184
  } else {
4795
5185
  setDisposable(null, state);
4796
5186
  }
4797
-
4798
5187
  return ado;
4799
5188
  }
4800
5189
 
@@ -4817,35 +5206,23 @@
4817
5206
  var AutoDetachObserverPrototype = AutoDetachObserver.prototype;
4818
5207
 
4819
5208
  AutoDetachObserverPrototype.next = function (value) {
4820
- var noError = false;
4821
- try {
4822
- this.observer.onNext(value);
4823
- noError = true;
4824
- } catch (e) {
4825
- return thrower(e);
4826
- } finally {
4827
- !noError && this.dispose();
5209
+ var result = tryCatch(this.observer.onNext).call(this.observer, value);
5210
+ if (result === errorObj) {
5211
+ this.dispose();
5212
+ thrower(result.e);
4828
5213
  }
4829
5214
  };
4830
5215
 
4831
5216
  AutoDetachObserverPrototype.error = function (err) {
4832
- try {
4833
- this.observer.onError(err);
4834
- } catch (e) {
4835
- return thrower(e);
4836
- } finally {
4837
- this.dispose();
4838
- }
5217
+ var result = tryCatch(this.observer.onError).call(this.observer, err);
5218
+ this.dispose();
5219
+ result === errorObj && thrower(result.e);
4839
5220
  };
4840
5221
 
4841
5222
  AutoDetachObserverPrototype.completed = function () {
4842
- try {
4843
- this.observer.onCompleted();
4844
- } catch (e) {
4845
- return thrower(e);
4846
- } finally {
4847
- this.dispose();
4848
- }
5223
+ var result = tryCatch(this.observer.onCompleted).call(this.observer);
5224
+ this.dispose();
5225
+ result === errorObj && thrower(result.e);
4849
5226
  };
4850
5227
 
4851
5228
  AutoDetachObserverPrototype.setDisposable = function (value) { this.m.setDisposable(value); };