| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | "use strict";var __extends = (this && this.__extends) || function (d, b) {    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];    function __() { this.constructor = d; }    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());};var Observable_1 = require('../Observable');var ScalarObservable_1 = require('./ScalarObservable');var EmptyObservable_1 = require('./EmptyObservable');/** * We need this JSDoc comment for affecting ESDoc. * @extends {Ignored} * @hide true */var ArrayLikeObservable = (function (_super) {    __extends(ArrayLikeObservable, _super);    function ArrayLikeObservable(arrayLike, scheduler) {        _super.call(this);        this.arrayLike = arrayLike;        this.scheduler = scheduler;        if (!scheduler && arrayLike.length === 1) {            this._isScalar = true;            this.value = arrayLike[0];        }    }    ArrayLikeObservable.create = function (arrayLike, scheduler) {        var length = arrayLike.length;        if (length === 0) {            return new EmptyObservable_1.EmptyObservable();        }        else if (length === 1) {            return new ScalarObservable_1.ScalarObservable(arrayLike[0], scheduler);        }        else {            return new ArrayLikeObservable(arrayLike, scheduler);        }    };    ArrayLikeObservable.dispatch = function (state) {        var arrayLike = state.arrayLike, index = state.index, length = state.length, subscriber = state.subscriber;        if (subscriber.closed) {            return;        }        if (index >= length) {            subscriber.complete();            return;        }        subscriber.next(arrayLike[index]);        state.index = index + 1;        this.schedule(state);    };    /** @deprecated internal use only */ ArrayLikeObservable.prototype._subscribe = function (subscriber) {        var index = 0;        var _a = this, arrayLike = _a.arrayLike, scheduler = _a.scheduler;        var length = arrayLike.length;        if (scheduler) {            return scheduler.schedule(ArrayLikeObservable.dispatch, 0, {                arrayLike: arrayLike, index: index, length: length, subscriber: subscriber            });        }        else {            for (var i = 0; i < length && !subscriber.closed; i++) {                subscriber.next(arrayLike[i]);            }            subscriber.complete();        }    };    return ArrayLikeObservable;}(Observable_1.Observable));exports.ArrayLikeObservable = ArrayLikeObservable;//# sourceMappingURL=ArrayLikeObservable.js.map
 |