rxjs-rails 2.2.18 → 2.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rxjs/rails/version.rb +1 -1
- data/vendor/assets/javascripts/rx.aggregates.js +4 -12
- data/vendor/assets/javascripts/rx.aggregates.min.js +1 -1
- data/vendor/assets/javascripts/rx.async.compat.js +170 -148
- data/vendor/assets/javascripts/rx.async.compat.min.js +1 -1
- data/vendor/assets/javascripts/rx.async.js +107 -83
- data/vendor/assets/javascripts/rx.async.min.js +1 -1
- data/vendor/assets/javascripts/rx.backpressure.js +97 -33
- data/vendor/assets/javascripts/rx.backpressure.min.js +1 -1
- data/vendor/assets/javascripts/rx.coincidence.js +2 -4
- data/vendor/assets/javascripts/rx.coincidence.min.js +1 -1
- data/vendor/assets/javascripts/rx.compat.js +31 -11
- data/vendor/assets/javascripts/rx.compat.min.js +2 -2
- data/vendor/assets/javascripts/rx.experimental.js +3 -3
- data/vendor/assets/javascripts/rx.experimental.min.js +1 -1
- data/vendor/assets/javascripts/rx.joinpatterns.js +4 -7
- data/vendor/assets/javascripts/rx.joinpatterns.min.js +1 -1
- data/vendor/assets/javascripts/rx.js +31 -11
- data/vendor/assets/javascripts/rx.lite.compat.js +296 -190
- data/vendor/assets/javascripts/rx.lite.compat.min.js +2 -2
- data/vendor/assets/javascripts/rx.lite.js +233 -125
- data/vendor/assets/javascripts/rx.lite.min.js +2 -2
- data/vendor/assets/javascripts/rx.min.js +2 -2
- data/vendor/assets/javascripts/rx.virtualtime.js +2 -3
- data/vendor/assets/javascripts/rx.virtualtime.min.js +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ca12b7cac3d584e7ae7333c48c6a9f0eb4c8365c
         | 
| 4 | 
            +
              data.tar.gz: 1417d47add82b99aa3d7795e0fd01a9e05c3e4de
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 706f784ad10ceef8cad344b47f33050008c81e6da1f7e4e02b90d3aa0a92b9d31f7663094772b2c4ad107c9faefaba18a57023aa32383aaad541aa03af9790fd
         | 
| 7 | 
            +
              data.tar.gz: f55b4c6143f62d22e2a8f0e684ac0f95a319dc16a47330c89a596ec50ac973b80d97adb9f7be004ca430cdf50830ab2aa59913221cbe4e74ea985849718976b7
         | 
    
        data/lib/rxjs/rails/version.rb
    CHANGED
    
    
| @@ -38,22 +38,14 @@ | |
| 38 38 | 
             
                    observableProto = Observable.prototype,
         | 
| 39 39 | 
             
                    CompositeDisposable = Rx.CompositeDisposable,
         | 
| 40 40 | 
             
                    AnonymousObservable = Rx.AnonymousObservable,
         | 
| 41 | 
            -
                    isEqual = Rx.internals.isEqual | 
| 41 | 
            +
                    isEqual = Rx.internals.isEqual,
         | 
| 42 | 
            +
                    defaultComparer = Rx.helpers.defaultComparer,
         | 
| 43 | 
            +
                    identity = Rx.helpers.identity,
         | 
| 44 | 
            +
                    subComparer = Rx.helpers.defaultSubComparer;
         | 
| 42 45 |  | 
| 43 46 | 
             
                // Defaults
         | 
| 44 47 | 
             
                var argumentOutOfRange = 'Argument out of range';
         | 
| 45 48 | 
             
                var sequenceContainsNoElements = "Sequence contains no elements.";
         | 
| 46 | 
            -
                function defaultComparer(x, y) { return isEqual(x, y); }
         | 
| 47 | 
            -
                function identity(x) { return x; }
         | 
| 48 | 
            -
                function subComparer(x, y) {
         | 
| 49 | 
            -
                    if (x > y) {
         | 
| 50 | 
            -
                        return 1;
         | 
| 51 | 
            -
                    }
         | 
| 52 | 
            -
                    if (x < y) {
         | 
| 53 | 
            -
                        return -1
         | 
| 54 | 
            -
                    }
         | 
| 55 | 
            -
                    return 0;
         | 
| 56 | 
            -
                }
         | 
| 57 49 |  | 
| 58 50 | 
             
                function extremaBy(source, keySelector, comparer) {
         | 
| 59 51 | 
             
                    return new AnonymousObservable(function (observer) {
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            (function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c,d){function e(a,b | 
| 1 | 
            +
            (function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c,d){function e(a,b,c){return new p(function(d){var e=!1,f=null,g=[];return a.subscribe(function(a){var h,i;try{i=b(a)}catch(j){return void d.onError(j)}if(h=0,e)try{h=c(i,f)}catch(k){return void d.onError(k)}else e=!0,f=i;h>0&&(f=i,g=[]),h>=0&&g.push(a)},d.onError.bind(d),function(){d.onNext(g),d.onCompleted()})})}function f(a){if(0===a.length)throw new Error(u);return a[0]}function g(a,b,c){return new p(function(d){var e=0,f=b.length;return a.subscribe(function(a){var g=!1;try{f>e&&(g=c(a,b[e++]))}catch(h){return void d.onError(h)}g||(d.onNext(!1),d.onCompleted())},d.onError.bind(d),function(){d.onNext(e===f),d.onCompleted()})})}function h(a,b,c,d){if(0>b)throw new Error(t);return new p(function(e){var f=b;return a.subscribe(function(a){0===f&&(e.onNext(a),e.onCompleted()),f--},e.onError.bind(e),function(){c?(e.onNext(d),e.onCompleted()):e.onError(new Error(t))})})}function i(a,b,c){return new p(function(d){var e=c,f=!1;return a.subscribe(function(a){f?d.onError(new Error("Sequence contains more than one element")):(e=a,f=!0)},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(u))})})}function j(a,b,c){return new p(function(d){return a.subscribe(function(a){d.onNext(a),d.onCompleted()},d.onError.bind(d),function(){b?(d.onNext(c),d.onCompleted()):d.onError(new Error(u))})})}function k(a,b,c){return new p(function(d){var e=c,f=!1;return a.subscribe(function(a){e=a,f=!0},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(u))})})}function l(a,b,c,e){return new p(function(f){var g=0;return a.subscribe(function(d){var h;try{h=b.call(c,d,g,a)}catch(i){return void f.onError(i)}h?(f.onNext(e?g:d),f.onCompleted()):g++},f.onError.bind(f),function(){f.onNext(e?-1:d),f.onCompleted()})})}var m=c.Observable,n=m.prototype,o=c.CompositeDisposable,p=c.AnonymousObservable,q=(c.internals.isEqual,c.helpers.defaultComparer),r=c.helpers.identity,s=c.helpers.defaultSubComparer,t="Argument out of range",u="Sequence contains no elements.";return n.aggregate=function(){var a,b,c;return 2===arguments.length?(a=arguments[0],b=!0,c=arguments[1]):c=arguments[0],b?this.scan(a,c).startWith(a).finalValue():this.scan(c).finalValue()},n.reduce=function(a){var b,c;return 2===arguments.length&&(c=!0,b=arguments[1]),c?this.scan(b,a).startWith(b).finalValue():this.scan(a).finalValue()},n.some=n.any=function(a,b){var c=this;return a?c.where(a,b).any():new p(function(a){return c.subscribe(function(){a.onNext(!0),a.onCompleted()},a.onError.bind(a),function(){a.onNext(!1),a.onCompleted()})})},n.isEmpty=function(){return this.any().select(function(a){return!a})},n.every=n.all=function(a,b){return this.where(function(b){return!a(b)},b).any().select(function(a){return!a})},n.contains=function(a,b){return b||(b=q),this.where(function(c){return b(c,a)}).any()},n.count=function(a,b){return a?this.where(a,b).count():this.aggregate(0,function(a){return a+1})},n.sum=function(a,b){return a?this.select(a,b).sum():this.aggregate(0,function(a,b){return a+b})},n.minBy=function(a,b){return b||(b=s),e(this,a,function(a,c){return-1*b(a,c)})},n.min=function(a){return this.minBy(r,a).select(function(a){return f(a)})},n.maxBy=function(a,b){return b||(b=s),e(this,a,b)},n.max=function(a){return this.maxBy(r,a).select(function(a){return f(a)})},n.average=function(a,b){return a?this.select(a,b).average():this.scan({sum:0,count:0},function(a,b){return{sum:a.sum+b,count:a.count+1}}).finalValue().select(function(a){if(0===a.count)throw new Error("The input sequence was empty");return a.sum/a.count})},n.sequenceEqual=function(a,b){var c=this;return b||(b=q),Array.isArray(a)?g(c,a,b):new p(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){var c,e;if(h.length>0){e=h.shift();try{c=b(e,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},d.onError.bind(d),function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))}),j=a.subscribe(function(a){var c,f;if(g.length>0){f=g.shift();try{c=b(f,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},d.onError.bind(d),function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new o(i,j)})},n.elementAt=function(a){return h(this,a,!1)},n.elementAtOrDefault=function(a,b){return h(this,a,!0,b)},n.single=function(a,b){return a?this.where(a,b).single():i(this,!1)},n.singleOrDefault=function(a,b,c){return a?this.where(a,c).singleOrDefault(null,b):i(this,!0,b)},n.first=function(a,b){return a?this.where(a,b).first():j(this,!1)},n.firstOrDefault=function(a,b){return a?this.where(a).firstOrDefault(null,b):j(this,!0,b)},n.last=function(a,b){return a?this.where(a,b).last():k(this,!1)},n.lastOrDefault=function(a,b,c){return a?this.where(a,c).lastOrDefault(null,b):k(this,!0,b)},n.find=function(a,b){return l(this,a,b,!1)},n.findIndex=function(a,b){return l(this,a,b,!0)},c});
         | 
| @@ -191,168 +191,190 @@ | |
| 191 191 | 
             
                    };
         | 
| 192 192 | 
             
                };
         | 
| 193 193 |  | 
| 194 | 
            -
             | 
| 195 | 
            -
             | 
| 196 | 
            -
             | 
| 197 | 
            -
             | 
| 194 | 
            +
              function fixEvent(event) {
         | 
| 195 | 
            +
                var stopPropagation = function () {
         | 
| 196 | 
            +
                  this.cancelBubble = true;
         | 
| 197 | 
            +
                };
         | 
| 198 198 |  | 
| 199 | 
            -
             | 
| 200 | 
            -
             | 
| 201 | 
            -
             | 
| 202 | 
            -
             | 
| 203 | 
            -
             | 
| 204 | 
            -
             | 
| 205 | 
            -
             | 
| 206 | 
            -
             | 
| 207 | 
            -
             | 
| 208 | 
            -
             | 
| 209 | 
            -
             | 
| 199 | 
            +
                var preventDefault = function () {
         | 
| 200 | 
            +
                  this.bubbledKeyCode = this.keyCode;
         | 
| 201 | 
            +
                  if (this.ctrlKey) {
         | 
| 202 | 
            +
                    try {
         | 
| 203 | 
            +
                      this.keyCode = 0;
         | 
| 204 | 
            +
                    } catch (e) { }
         | 
| 205 | 
            +
                  }
         | 
| 206 | 
            +
                  this.defaultPrevented = true;
         | 
| 207 | 
            +
                  this.returnValue = false;
         | 
| 208 | 
            +
                  this.modified = true;
         | 
| 209 | 
            +
                };
         | 
| 210 210 |  | 
| 211 | 
            -
             | 
| 212 | 
            -
             | 
| 213 | 
            -
             | 
| 211 | 
            +
                event || (event = root.event);
         | 
| 212 | 
            +
                if (!event.target) {
         | 
| 213 | 
            +
                  event.target = event.target || event.srcElement; 
         | 
| 214 214 |  | 
| 215 | 
            -
             | 
| 216 | 
            -
             | 
| 217 | 
            -
             | 
| 218 | 
            -
             | 
| 219 | 
            -
             | 
| 220 | 
            -
             | 
| 221 | 
            -
             | 
| 222 | 
            -
             | 
| 223 | 
            -
             | 
| 224 | 
            -
             | 
| 225 | 
            -
             | 
| 226 | 
            -
             | 
| 227 | 
            -
             | 
| 228 | 
            -
             | 
| 229 | 
            -
             | 
| 230 | 
            -
             | 
| 231 | 
            -
             | 
| 232 | 
            -
             | 
| 233 | 
            -
             | 
| 234 | 
            -
             | 
| 235 | 
            -
             | 
| 236 | 
            -
             | 
| 237 | 
            -
             | 
| 238 | 
            -
             | 
| 239 | 
            -
             | 
| 240 | 
            -
             | 
| 241 | 
            -
             | 
| 242 | 
            -
             | 
| 215 | 
            +
                  if (event.type == 'mouseover') {
         | 
| 216 | 
            +
                    event.relatedTarget = event.fromElement;
         | 
| 217 | 
            +
                  }
         | 
| 218 | 
            +
                  if (event.type == 'mouseout') {
         | 
| 219 | 
            +
                    event.relatedTarget = event.toElement;
         | 
| 220 | 
            +
                  }
         | 
| 221 | 
            +
                  // Adding stopPropogation and preventDefault to IE
         | 
| 222 | 
            +
                  if (!event.stopPropagation){
         | 
| 223 | 
            +
                    event.stopPropagation = stopPropagation;
         | 
| 224 | 
            +
                    event.preventDefault = preventDefault;
         | 
| 225 | 
            +
                  }
         | 
| 226 | 
            +
                  // Normalize key events
         | 
| 227 | 
            +
                  switch(event.type){
         | 
| 228 | 
            +
                    case 'keypress':
         | 
| 229 | 
            +
                      var c = ('charCode' in event ? event.charCode : event.keyCode);
         | 
| 230 | 
            +
                      if (c == 10) {
         | 
| 231 | 
            +
                        c = 0;
         | 
| 232 | 
            +
                        event.keyCode = 13;
         | 
| 233 | 
            +
                      } else if (c == 13 || c == 27) {
         | 
| 234 | 
            +
                        c = 0; 
         | 
| 235 | 
            +
                      } else if (c == 3) {
         | 
| 236 | 
            +
                        c = 99; 
         | 
| 237 | 
            +
                      }
         | 
| 238 | 
            +
                      event.charCode = c;
         | 
| 239 | 
            +
                      event.keyChar = event.charCode ? String.fromCharCode(event.charCode) : '';
         | 
| 240 | 
            +
                      break;
         | 
| 241 | 
            +
                  }                    
         | 
| 242 | 
            +
                }
         | 
| 243 | 
            +
             | 
| 244 | 
            +
                return event;
         | 
| 245 | 
            +
              }
         | 
| 243 246 |  | 
| 244 | 
            -
             | 
| 247 | 
            +
              function createListener (element, name, handler) {
         | 
| 248 | 
            +
                // Node.js specific
         | 
| 249 | 
            +
                if (element.addListener) {
         | 
| 250 | 
            +
                  element.addListener(name, handler);
         | 
| 251 | 
            +
                  return disposableCreate(function () {
         | 
| 252 | 
            +
                    element.removeListener(name, handler);
         | 
| 253 | 
            +
                  });
         | 
| 254 | 
            +
                }
         | 
| 255 | 
            +
                // Standards compliant
         | 
| 256 | 
            +
                if (element.addEventListener) {
         | 
| 257 | 
            +
                  element.addEventListener(name, handler, false);
         | 
| 258 | 
            +
                  return disposableCreate(function () {
         | 
| 259 | 
            +
                    element.removeEventListener(name, handler, false);
         | 
| 260 | 
            +
                  });
         | 
| 261 | 
            +
                } 
         | 
| 262 | 
            +
                if (element.attachEvent) {
         | 
| 263 | 
            +
                  // IE Specific
         | 
| 264 | 
            +
                  var innerHandler = function (event) {
         | 
| 265 | 
            +
                    handler(fixEvent(event));
         | 
| 266 | 
            +
                  };
         | 
| 267 | 
            +
                  element.attachEvent('on' + name, innerHandler);
         | 
| 268 | 
            +
                  return disposableCreate(function () {
         | 
| 269 | 
            +
                    element.detachEvent('on' + name, innerHandler);
         | 
| 270 | 
            +
                  });         
         | 
| 245 271 | 
             
                }
         | 
| 272 | 
            +
                // Level 1 DOM Events      
         | 
| 273 | 
            +
                element['on' + name] = handler;
         | 
| 274 | 
            +
                return disposableCreate(function () {
         | 
| 275 | 
            +
                  element['on' + name] = null;
         | 
| 276 | 
            +
                });
         | 
| 277 | 
            +
              }
         | 
| 246 278 |  | 
| 247 | 
            -
             | 
| 248 | 
            -
             | 
| 249 | 
            -
             | 
| 250 | 
            -
             | 
| 251 | 
            -
             | 
| 252 | 
            -
             | 
| 253 | 
            -
             | 
| 254 | 
            -
             | 
| 255 | 
            -
             | 
| 256 | 
            -
             | 
| 257 | 
            -
                        element.addEventListener(name, handler, false);
         | 
| 258 | 
            -
                        return disposableCreate(function () {
         | 
| 259 | 
            -
                            element.removeEventListener(name, handler, false);
         | 
| 260 | 
            -
                        });
         | 
| 261 | 
            -
                    } else if (element.attachEvent) {
         | 
| 262 | 
            -
                        // IE Specific
         | 
| 263 | 
            -
                        var innerHandler = function (event) {
         | 
| 264 | 
            -
                            handler(fixEvent(event));
         | 
| 265 | 
            -
                        };
         | 
| 266 | 
            -
                        element.attachEvent('on' + name, innerHandler);
         | 
| 267 | 
            -
                        return disposableCreate(function () {
         | 
| 268 | 
            -
                            element.detachEvent('on' + name, innerHandler);
         | 
| 269 | 
            -
                        });         
         | 
| 270 | 
            -
                    } else {
         | 
| 271 | 
            -
                        // Level 1 DOM Events      
         | 
| 272 | 
            -
                        element['on' + name] = handler;
         | 
| 273 | 
            -
                        return disposableCreate(function () {
         | 
| 274 | 
            -
                            element['on' + name] = null;
         | 
| 275 | 
            -
                        });
         | 
| 276 | 
            -
                    }
         | 
| 279 | 
            +
              function createEventListener (el, eventName, handler) {
         | 
| 280 | 
            +
                var disposables = new CompositeDisposable();
         | 
| 281 | 
            +
             | 
| 282 | 
            +
                // Asume NodeList
         | 
| 283 | 
            +
                if (typeof el.item === 'function' && typeof el.length === 'number') {
         | 
| 284 | 
            +
                  for (var i = 0, len = el.length; i < len; i++) {
         | 
| 285 | 
            +
                    disposables.add(createEventListener(el.item(i), eventName, handler));
         | 
| 286 | 
            +
                  }
         | 
| 287 | 
            +
                } else if (el) {
         | 
| 288 | 
            +
                  disposables.add(createListener(el, eventName, handler));
         | 
| 277 289 | 
             
                }
         | 
| 278 290 |  | 
| 279 | 
            -
                 | 
| 280 | 
            -
             | 
| 291 | 
            +
                return disposables;
         | 
| 292 | 
            +
              }
         | 
| 281 293 |  | 
| 282 | 
            -
             | 
| 283 | 
            -
             | 
| 284 | 
            -
             | 
| 285 | 
            -
             | 
| 286 | 
            -
             | 
| 287 | 
            -
                    } else if (el) {
         | 
| 288 | 
            -
                        disposables.add(createListener(el, eventName, handler));
         | 
| 289 | 
            -
                    }
         | 
| 294 | 
            +
              // Check for Angular/jQuery/Zepto support
         | 
| 295 | 
            +
              var jq =
         | 
| 296 | 
            +
               !!root.angular && !!angular.element ? angular.element :
         | 
| 297 | 
            +
               (!!root.jQuery ? root.jQuery : (
         | 
| 298 | 
            +
                 !!root.Zepto ? root.Zepto : null));
         | 
| 290 299 |  | 
| 291 | 
            -
             | 
| 292 | 
            -
             | 
| 300 | 
            +
              // Check for ember
         | 
| 301 | 
            +
              var ember = !!root.Ember && typeof root.Ember.addListener === 'function';
         | 
| 293 302 |  | 
| 294 | 
            -
             | 
| 295 | 
            -
             | 
| 296 | 
            -
             | 
| 297 | 
            -
             | 
| 298 | 
            -
             | 
| 299 | 
            -
             | 
| 300 | 
            -
             | 
| 301 | 
            -
             | 
| 302 | 
            -
             | 
| 303 | 
            -
             | 
| 304 | 
            -
             | 
| 305 | 
            -
             | 
| 306 | 
            -
             | 
| 307 | 
            -
             | 
| 308 | 
            -
             | 
| 309 | 
            -
             | 
| 310 | 
            -
             | 
| 311 | 
            -
             | 
| 312 | 
            -
             | 
| 313 | 
            -
             | 
| 314 | 
            -
             | 
| 315 | 
            -
             | 
| 316 | 
            -
             | 
| 317 | 
            -
             | 
| 318 | 
            -
             | 
| 319 | 
            -
             | 
| 320 | 
            -
             | 
| 303 | 
            +
              /**
         | 
| 304 | 
            +
               * Creates an observable sequence by adding an event listener to the matching DOMElement or each item in the NodeList.
         | 
| 305 | 
            +
               *
         | 
| 306 | 
            +
               * @example
         | 
| 307 | 
            +
               *   var source = Rx.Observable.fromEvent(element, 'mouseup');
         | 
| 308 | 
            +
               * 
         | 
| 309 | 
            +
               * @param {Object} element The DOMElement or NodeList to attach a listener.
         | 
| 310 | 
            +
               * @param {String} eventName The event name to attach the observable sequence.
         | 
| 311 | 
            +
               * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.     
         | 
| 312 | 
            +
               * @returns {Observable} An observable sequence of events from the specified element and the specified event.
         | 
| 313 | 
            +
               */
         | 
| 314 | 
            +
              Observable.fromEvent = function (element, eventName, selector) {
         | 
| 315 | 
            +
                if (ember) {
         | 
| 316 | 
            +
                  return fromEventPattern(
         | 
| 317 | 
            +
                    function (h) { Ember.addListener(element, eventName); },
         | 
| 318 | 
            +
                    function (h) { Ember.removeListener(element, eventName); },
         | 
| 319 | 
            +
                    selector);
         | 
| 320 | 
            +
                }    
         | 
| 321 | 
            +
                if (jq) {
         | 
| 322 | 
            +
                  var $elem = jq(elem);
         | 
| 323 | 
            +
                  return fromEventPattern(
         | 
| 324 | 
            +
                    function (h) { $elem.on(eventName, h); },
         | 
| 325 | 
            +
                    function (h) { $elem.off(eventName, h); },
         | 
| 326 | 
            +
                    selector);
         | 
| 327 | 
            +
                }
         | 
| 328 | 
            +
                return new AnonymousObservable(function (observer) {
         | 
| 329 | 
            +
                  return createEventListener(
         | 
| 330 | 
            +
                    element, 
         | 
| 331 | 
            +
                    eventName, 
         | 
| 332 | 
            +
                    function handler (e) { 
         | 
| 333 | 
            +
                      var results = e;
         | 
| 321 334 |  | 
| 322 | 
            -
             | 
| 323 | 
            -
             | 
| 324 | 
            -
             | 
| 325 | 
            -
             | 
| 326 | 
            -
             | 
| 327 | 
            -
             | 
| 328 | 
            -
                 * @param {Function} addHandler The function to add a handler to the emitter.
         | 
| 329 | 
            -
                 * @param {Function} [removeHandler] The optional function to remove a handler from an emitter.
         | 
| 330 | 
            -
                 * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.
         | 
| 331 | 
            -
                 * @returns {Observable} An observable sequence which wraps an event from an event emitter
         | 
| 332 | 
            -
                 */
         | 
| 333 | 
            -
                Observable.fromEventPattern = function (addHandler, removeHandler, selector) {
         | 
| 334 | 
            -
                    return new AnonymousObservable(function (observer) {
         | 
| 335 | 
            -
                        function innerHandler (e) {
         | 
| 336 | 
            -
                            var result = e;
         | 
| 337 | 
            -
                            if (selector) {
         | 
| 338 | 
            -
                                try {
         | 
| 339 | 
            -
                                    result = selector(arguments);
         | 
| 340 | 
            -
                                } catch (err) {
         | 
| 341 | 
            -
                                    observer.onError(err);
         | 
| 342 | 
            -
                                    return;
         | 
| 343 | 
            -
                                }
         | 
| 344 | 
            -
                            }
         | 
| 345 | 
            -
                            observer.onNext(result);
         | 
| 335 | 
            +
                      if (selector) {
         | 
| 336 | 
            +
                        try {
         | 
| 337 | 
            +
                          results = selector(arguments);
         | 
| 338 | 
            +
                        } catch (err) {
         | 
| 339 | 
            +
                          observer.onError(err);
         | 
| 340 | 
            +
                          return
         | 
| 346 341 | 
             
                        }
         | 
| 342 | 
            +
                      }
         | 
| 347 343 |  | 
| 348 | 
            -
             | 
| 349 | 
            -
             | 
| 350 | 
            -
             | 
| 351 | 
            -
             | 
| 352 | 
            -
             | 
| 353 | 
            -
             | 
| 354 | 
            -
             | 
| 355 | 
            -
             | 
| 344 | 
            +
                      observer.onNext(results); 
         | 
| 345 | 
            +
                    });
         | 
| 346 | 
            +
                }).publish().refCount();
         | 
| 347 | 
            +
              };
         | 
| 348 | 
            +
              /**
         | 
| 349 | 
            +
               * Creates an observable sequence from an event emitter via an addHandler/removeHandler pair.
         | 
| 350 | 
            +
               * @param {Function} addHandler The function to add a handler to the emitter.
         | 
| 351 | 
            +
               * @param {Function} [removeHandler] The optional function to remove a handler from an emitter.
         | 
| 352 | 
            +
               * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.
         | 
| 353 | 
            +
               * @returns {Observable} An observable sequence which wraps an event from an event emitter
         | 
| 354 | 
            +
               */
         | 
| 355 | 
            +
              var fromEventPattern = Observable.fromEventPattern = function (addHandler, removeHandler, selector) {
         | 
| 356 | 
            +
                return new AnonymousObservable(function (observer) {
         | 
| 357 | 
            +
                  function innerHandler (e) {
         | 
| 358 | 
            +
                    var result = e;
         | 
| 359 | 
            +
                    if (selector) {
         | 
| 360 | 
            +
                      try {
         | 
| 361 | 
            +
                        result = selector(arguments);
         | 
| 362 | 
            +
                      } catch (err) {
         | 
| 363 | 
            +
                        observer.onError(err);
         | 
| 364 | 
            +
                        return;
         | 
| 365 | 
            +
                      }
         | 
| 366 | 
            +
                    }
         | 
| 367 | 
            +
                    observer.onNext(result);
         | 
| 368 | 
            +
                  }
         | 
| 369 | 
            +
             | 
| 370 | 
            +
                  var returnValue = addHandler(innerHandler);
         | 
| 371 | 
            +
                  return disposableCreate(function () {
         | 
| 372 | 
            +
                    if (removeHandler) {
         | 
| 373 | 
            +
                      removeHandler(innerHandler, returnValue);
         | 
| 374 | 
            +
                    }
         | 
| 375 | 
            +
                  });
         | 
| 376 | 
            +
                }).publish().refCount();
         | 
| 377 | 
            +
              };
         | 
| 356 378 |  | 
| 357 379 | 
             
              /**
         | 
| 358 380 | 
             
               * Invokes the asynchronous function, surfacing the result through an observable sequence.
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            (function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx.binding","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){function d( | 
| 1 | 
            +
            (function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx.binding","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){function d(b){var c=function(){this.cancelBubble=!0},d=function(){if(this.bubbledKeyCode=this.keyCode,this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0,this.returnValue=!1,this.modified=!0};if(b||(b=a.event),!b.target)switch(b.target=b.target||b.srcElement,"mouseover"==b.type&&(b.relatedTarget=b.fromElement),"mouseout"==b.type&&(b.relatedTarget=b.toElement),b.stopPropagation||(b.stopPropagation=c,b.preventDefault=d),b.type){case"keypress":var e="charCode"in b?b.charCode:b.keyCode;10==e?(e=0,b.keyCode=13):13==e||27==e?e=0:3==e&&(e=99),b.charCode=e,b.keyChar=b.charCode?String.fromCharCode(b.charCode):""}return b}function e(a,b,c){if(a.addListener)return a.addListener(b,c),l(function(){a.removeListener(b,c)});if(a.addEventListener)return a.addEventListener(b,c,!1),l(function(){a.removeEventListener(b,c,!1)});if(a.attachEvent){var e=function(a){c(d(a))};return a.attachEvent("on"+b,e),l(function(){a.detachEvent("on"+b,e)})}return a["on"+b]=c,l(function(){a["on"+b]=null})}function f(a,b,c){var d=new m;if("function"==typeof a.item&&"number"==typeof a.length)for(var g=0,h=a.length;h>g;g++)d.add(f(a.item(g),b,c));else a&&d.add(e(a,b,c));return d}var g=c.Observable,h=(g.prototype,g.fromPromise),i=g.throwException,j=c.AnonymousObservable,k=c.AsyncSubject,l=c.Disposable.create,m=c.CompositeDisposable,n=c.Scheduler.immediate,o=Array.prototype.slice;g.start=function(a,b,c){return p(a,b,c)()};var p=g.toAsync=function(a,b,c){return b||(b=timeoutScheduler),function(){var d=arguments,e=new k;return b.schedule(function(){var b;try{b=a.apply(c,d)}catch(f){return void e.onError(f)}e.onNext(b),e.onCompleted()}),e.asObservable()}};g.fromCallback=function(a,b,c,d){return b||(b=n),function(){var e=o.call(arguments,0);return new j(function(f){return b.schedule(function(){function b(a){var b=a;if(d)try{b=d(arguments)}catch(c){return void f.onError(c)}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)})})}},g.fromNodeCallback=function(a,b,c,d){return b||(b=n),function(){var e=o.call(arguments,0);return new j(function(f){return b.schedule(function(){function b(a){if(a)return void f.onError(a);var b=o.call(arguments,1);if(d)try{b=d(b)}catch(c){return void f.onError(c)}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)})})}};var q=a.angular&&angular.element?angular.element:a.jQuery?a.jQuery:a.Zepto?a.Zepto:null,r=!!a.Ember&&"function"==typeof a.Ember.addListener;g.fromEvent=function(a,b,c){if(r)return s(function(){Ember.addListener(a,b)},function(){Ember.removeListener(a,b)},c);if(q){var d=q(elem);return s(function(a){d.on(b,a)},function(a){d.off(b,a)},c)}return new j(function(d){return f(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)})}).publish().refCount()};var s=g.fromEventPattern=function(a,b,c){return new j(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)}var f=a(e);return l(function(){b&&b(e,f)})}).publish().refCount()};return g.startAsync=function(a){var b;try{b=a()}catch(c){return i(c)}return h(b)},c});
         | 
| @@ -191,98 +191,122 @@ | |
| 191 191 | 
             
                    };
         | 
| 192 192 | 
             
                };
         | 
| 193 193 |  | 
| 194 | 
            -
             | 
| 195 | 
            -
             | 
| 196 | 
            -
             | 
| 197 | 
            -
             | 
| 198 | 
            -
             | 
| 199 | 
            -
             | 
| 200 | 
            -
             | 
| 201 | 
            -
             | 
| 202 | 
            -
             | 
| 203 | 
            -
             | 
| 204 | 
            -
             | 
| 205 | 
            -
             | 
| 206 | 
            -
             | 
| 194 | 
            +
              function createListener (element, name, handler) {
         | 
| 195 | 
            +
                // Node.js specific
         | 
| 196 | 
            +
                if (element.addListener) {
         | 
| 197 | 
            +
                  element.addListener(name, handler);
         | 
| 198 | 
            +
                  return disposableCreate(function () {
         | 
| 199 | 
            +
                    element.removeListener(name, handler);
         | 
| 200 | 
            +
                  });
         | 
| 201 | 
            +
                } 
         | 
| 202 | 
            +
                if (element.addEventListener) {
         | 
| 203 | 
            +
                  element.addEventListener(name, handler, false);
         | 
| 204 | 
            +
                  return disposableCreate(function () {
         | 
| 205 | 
            +
                    element.removeEventListener(name, handler, false);
         | 
| 206 | 
            +
                  });
         | 
| 207 207 | 
             
                }
         | 
| 208 | 
            +
                throw new Error('No listener found');
         | 
| 209 | 
            +
              }
         | 
| 208 210 |  | 
| 209 | 
            -
             | 
| 210 | 
            -
             | 
| 211 | 
            +
              function createEventListener (el, eventName, handler) {
         | 
| 212 | 
            +
                var disposables = new CompositeDisposable();
         | 
| 211 213 |  | 
| 212 | 
            -
             | 
| 213 | 
            -
             | 
| 214 | 
            -
             | 
| 215 | 
            -
             | 
| 216 | 
            -
             | 
| 217 | 
            -
             | 
| 218 | 
            -
             | 
| 219 | 
            -
                    }
         | 
| 220 | 
            -
             | 
| 221 | 
            -
                    return disposables;
         | 
| 214 | 
            +
                // Asume NodeList
         | 
| 215 | 
            +
                if (typeof el.item === 'function' && typeof el.length === 'number') {
         | 
| 216 | 
            +
                  for (var i = 0, len = el.length; i < len; i++) {
         | 
| 217 | 
            +
                    disposables.add(createEventListener(el.item(i), eventName, handler));
         | 
| 218 | 
            +
                  }
         | 
| 219 | 
            +
                } else if (el) {
         | 
| 220 | 
            +
                  disposables.add(createListener(el, eventName, handler));
         | 
| 222 221 | 
             
                }
         | 
| 223 222 |  | 
| 224 | 
            -
                 | 
| 225 | 
            -
             | 
| 226 | 
            -
                 *
         | 
| 227 | 
            -
                 * @example
         | 
| 228 | 
            -
                 *   var source = Rx.Observable.fromEvent(element, 'mouseup');
         | 
| 229 | 
            -
                 * 
         | 
| 230 | 
            -
                 * @param {Object} element The DOMElement or NodeList to attach a listener.
         | 
| 231 | 
            -
                 * @param {String} eventName The event name to attach the observable sequence.
         | 
| 232 | 
            -
                 * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.     
         | 
| 233 | 
            -
                 * @returns {Observable} An observable sequence of events from the specified element and the specified event.
         | 
| 234 | 
            -
                 */
         | 
| 235 | 
            -
                Observable.fromEvent = function (element, eventName, selector) {
         | 
| 236 | 
            -
                    return new AnonymousObservable(function (observer) {
         | 
| 237 | 
            -
                        return createEventListener(
         | 
| 238 | 
            -
                            element, 
         | 
| 239 | 
            -
                            eventName, 
         | 
| 240 | 
            -
                            function handler (e) { 
         | 
| 241 | 
            -
                                var results = e;
         | 
| 223 | 
            +
                return disposables;
         | 
| 224 | 
            +
              }
         | 
| 242 225 |  | 
| 243 | 
            -
             | 
| 244 | 
            -
             | 
| 245 | 
            -
             | 
| 246 | 
            -
             | 
| 247 | 
            -
             | 
| 248 | 
            -
                                        return
         | 
| 249 | 
            -
                                    }
         | 
| 250 | 
            -
                                }
         | 
| 226 | 
            +
              // Check for Angular/jQuery/Zepto support
         | 
| 227 | 
            +
              var jq =
         | 
| 228 | 
            +
               !!root.angular && !!angular.element ? angular.element :
         | 
| 229 | 
            +
               (!!root.jQuery ? root.jQuery : (
         | 
| 230 | 
            +
                 !!root.Zepto ? root.Zepto : null));
         | 
| 251 231 |  | 
| 252 | 
            -
             | 
| 253 | 
            -
             | 
| 254 | 
            -
             | 
| 255 | 
            -
             | 
| 256 | 
            -
             | 
| 257 | 
            -
             | 
| 258 | 
            -
             | 
| 259 | 
            -
             | 
| 260 | 
            -
             | 
| 261 | 
            -
             | 
| 262 | 
            -
             | 
| 263 | 
            -
             | 
| 264 | 
            -
             | 
| 265 | 
            -
             | 
| 266 | 
            -
             | 
| 267 | 
            -
             | 
| 268 | 
            -
             | 
| 269 | 
            -
             | 
| 270 | 
            -
             | 
| 271 | 
            -
             | 
| 272 | 
            -
             | 
| 273 | 
            -
             | 
| 274 | 
            -
             | 
| 275 | 
            -
             | 
| 232 | 
            +
              // Check for ember
         | 
| 233 | 
            +
              var ember = !!root.Ember && typeof root.Ember.addListener === 'function';
         | 
| 234 | 
            +
             | 
| 235 | 
            +
              /**
         | 
| 236 | 
            +
               * Creates an observable sequence by adding an event listener to the matching DOMElement or each item in the NodeList.
         | 
| 237 | 
            +
               *
         | 
| 238 | 
            +
               * @example
         | 
| 239 | 
            +
               *   var source = Rx.Observable.fromEvent(element, 'mouseup');
         | 
| 240 | 
            +
               * 
         | 
| 241 | 
            +
               * @param {Object} element The DOMElement or NodeList to attach a listener.
         | 
| 242 | 
            +
               * @param {String} eventName The event name to attach the observable sequence.
         | 
| 243 | 
            +
               * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.     
         | 
| 244 | 
            +
               * @returns {Observable} An observable sequence of events from the specified element and the specified event.
         | 
| 245 | 
            +
               */
         | 
| 246 | 
            +
              Observable.fromEvent = function (element, eventName, selector) {
         | 
| 247 | 
            +
                if (ember) {
         | 
| 248 | 
            +
                  return fromEventPattern(
         | 
| 249 | 
            +
                    function (h) { Ember.addListener(element, eventName); },
         | 
| 250 | 
            +
                    function (h) { Ember.removeListener(element, eventName); },
         | 
| 251 | 
            +
                    selector);
         | 
| 252 | 
            +
                }    
         | 
| 253 | 
            +
                if (jq) {
         | 
| 254 | 
            +
                  var $elem = jq(elem);
         | 
| 255 | 
            +
                  return fromEventPattern(
         | 
| 256 | 
            +
                    function (h) { $elem.on(eventName, h); },
         | 
| 257 | 
            +
                    function (h) { $elem.off(eventName, h); },
         | 
| 258 | 
            +
                    selector);
         | 
| 259 | 
            +
                }
         | 
| 260 | 
            +
                return new AnonymousObservable(function (observer) {
         | 
| 261 | 
            +
                  return createEventListener(
         | 
| 262 | 
            +
                    element, 
         | 
| 263 | 
            +
                    eventName, 
         | 
| 264 | 
            +
                    function handler (e) { 
         | 
| 265 | 
            +
                      var results = e;
         | 
| 266 | 
            +
             | 
| 267 | 
            +
                      if (selector) {
         | 
| 268 | 
            +
                        try {
         | 
| 269 | 
            +
                          results = selector(arguments);
         | 
| 270 | 
            +
                        } catch (err) {
         | 
| 271 | 
            +
                          observer.onError(err);
         | 
| 272 | 
            +
                          return
         | 
| 276 273 | 
             
                        }
         | 
| 274 | 
            +
                      }
         | 
| 277 275 |  | 
| 278 | 
            -
             | 
| 279 | 
            -
             | 
| 280 | 
            -
             | 
| 281 | 
            -
             | 
| 282 | 
            -
             | 
| 283 | 
            -
             | 
| 284 | 
            -
             | 
| 285 | 
            -
             | 
| 276 | 
            +
                      observer.onNext(results); 
         | 
| 277 | 
            +
                    });
         | 
| 278 | 
            +
                }).publish().refCount();
         | 
| 279 | 
            +
              };
         | 
| 280 | 
            +
              /**
         | 
| 281 | 
            +
               * Creates an observable sequence from an event emitter via an addHandler/removeHandler pair.
         | 
| 282 | 
            +
               * @param {Function} addHandler The function to add a handler to the emitter.
         | 
| 283 | 
            +
               * @param {Function} [removeHandler] The optional function to remove a handler from an emitter.
         | 
| 284 | 
            +
               * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.
         | 
| 285 | 
            +
               * @returns {Observable} An observable sequence which wraps an event from an event emitter
         | 
| 286 | 
            +
               */
         | 
| 287 | 
            +
              var fromEventPattern = Observable.fromEventPattern = function (addHandler, removeHandler, selector) {
         | 
| 288 | 
            +
                return new AnonymousObservable(function (observer) {
         | 
| 289 | 
            +
                  function innerHandler (e) {
         | 
| 290 | 
            +
                    var result = e;
         | 
| 291 | 
            +
                    if (selector) {
         | 
| 292 | 
            +
                      try {
         | 
| 293 | 
            +
                        result = selector(arguments);
         | 
| 294 | 
            +
                      } catch (err) {
         | 
| 295 | 
            +
                        observer.onError(err);
         | 
| 296 | 
            +
                        return;
         | 
| 297 | 
            +
                      }
         | 
| 298 | 
            +
                    }
         | 
| 299 | 
            +
                    observer.onNext(result);
         | 
| 300 | 
            +
                  }
         | 
| 301 | 
            +
             | 
| 302 | 
            +
                  var returnValue = addHandler(innerHandler);
         | 
| 303 | 
            +
                  return disposableCreate(function () {
         | 
| 304 | 
            +
                    if (removeHandler) {
         | 
| 305 | 
            +
                      removeHandler(innerHandler, returnValue);
         | 
| 306 | 
            +
                    }
         | 
| 307 | 
            +
                  });
         | 
| 308 | 
            +
                }).publish().refCount();
         | 
| 309 | 
            +
              };
         | 
| 286 310 |  | 
| 287 311 | 
             
              /**
         | 
| 288 312 | 
             
               * Invokes the asynchronous function, surfacing the result through an observable sequence.
         |