| "use strict"; | 
 | var __extends = (this && this.__extends) || (function () { | 
 |     var extendStatics = function (d, b) { | 
 |         extendStatics = Object.setPrototypeOf || | 
 |             ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | 
 |             function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | 
 |         return extendStatics(d, b); | 
 |     } | 
 |     return function (d, b) { | 
 |         extendStatics(d, b); | 
 |         function __() { this.constructor = d; } | 
 |         d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | 
 |     }; | 
 | })(); | 
 | Object.defineProperty(exports, "__esModule", { value: true }); | 
 | var OuterSubscriber_1 = require("../OuterSubscriber"); | 
 | var subscribeToResult_1 = require("../util/subscribeToResult"); | 
 | function withLatestFrom() { | 
 |     var args = []; | 
 |     for (var _i = 0; _i < arguments.length; _i++) { | 
 |         args[_i] = arguments[_i]; | 
 |     } | 
 |     return function (source) { | 
 |         var project; | 
 |         if (typeof args[args.length - 1] === 'function') { | 
 |             project = args.pop(); | 
 |         } | 
 |         var observables = args; | 
 |         return source.lift(new WithLatestFromOperator(observables, project)); | 
 |     }; | 
 | } | 
 | exports.withLatestFrom = withLatestFrom; | 
 | var WithLatestFromOperator = (function () { | 
 |     function WithLatestFromOperator(observables, project) { | 
 |         this.observables = observables; | 
 |         this.project = project; | 
 |     } | 
 |     WithLatestFromOperator.prototype.call = function (subscriber, source) { | 
 |         return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project)); | 
 |     }; | 
 |     return WithLatestFromOperator; | 
 | }()); | 
 | var WithLatestFromSubscriber = (function (_super) { | 
 |     __extends(WithLatestFromSubscriber, _super); | 
 |     function WithLatestFromSubscriber(destination, observables, project) { | 
 |         var _this = _super.call(this, destination) || this; | 
 |         _this.observables = observables; | 
 |         _this.project = project; | 
 |         _this.toRespond = []; | 
 |         var len = observables.length; | 
 |         _this.values = new Array(len); | 
 |         for (var i = 0; i < len; i++) { | 
 |             _this.toRespond.push(i); | 
 |         } | 
 |         for (var i = 0; i < len; i++) { | 
 |             var observable = observables[i]; | 
 |             _this.add(subscribeToResult_1.subscribeToResult(_this, observable, observable, i)); | 
 |         } | 
 |         return _this; | 
 |     } | 
 |     WithLatestFromSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) { | 
 |         this.values[outerIndex] = innerValue; | 
 |         var toRespond = this.toRespond; | 
 |         if (toRespond.length > 0) { | 
 |             var found = toRespond.indexOf(outerIndex); | 
 |             if (found !== -1) { | 
 |                 toRespond.splice(found, 1); | 
 |             } | 
 |         } | 
 |     }; | 
 |     WithLatestFromSubscriber.prototype.notifyComplete = function () { | 
 |     }; | 
 |     WithLatestFromSubscriber.prototype._next = function (value) { | 
 |         if (this.toRespond.length === 0) { | 
 |             var args = [value].concat(this.values); | 
 |             if (this.project) { | 
 |                 this._tryProject(args); | 
 |             } | 
 |             else { | 
 |                 this.destination.next(args); | 
 |             } | 
 |         } | 
 |     }; | 
 |     WithLatestFromSubscriber.prototype._tryProject = function (args) { | 
 |         var result; | 
 |         try { | 
 |             result = this.project.apply(this, args); | 
 |         } | 
 |         catch (err) { | 
 |             this.destination.error(err); | 
 |             return; | 
 |         } | 
 |         this.destination.next(result); | 
 |     }; | 
 |     return WithLatestFromSubscriber; | 
 | }(OuterSubscriber_1.OuterSubscriber)); | 
 | //# sourceMappingURL=withLatestFrom.js.map |