| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | "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, undefined, i));        }        return _this;    }    WithLatestFromSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {        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
 |