[
  {
    "__docId__": 0,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/AsyncSubject.js",
    "memberof": null,
    "longname": "es6/AsyncSubject.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from './Subject';\nimport { Subscription } from './Subscription';\n/**\n * @class AsyncSubject<T>\n */\nexport var AsyncSubject = (function (_super) {\n    __extends(AsyncSubject, _super);\n    function AsyncSubject() {\n        _super.apply(this, arguments);\n        this.value = null;\n        this.hasNext = false;\n        this.hasCompleted = false;\n    }\n    AsyncSubject.prototype._subscribe = function (subscriber) {\n        if (this.hasCompleted && this.hasNext) {\n            subscriber.next(this.value);\n            subscriber.complete();\n            return Subscription.EMPTY;\n        }\n        else if (this.hasError) {\n            subscriber.error(this.thrownError);\n            return Subscription.EMPTY;\n        }\n        return _super.prototype._subscribe.call(this, subscriber);\n    };\n    AsyncSubject.prototype.next = function (value) {\n        if (!this.hasCompleted) {\n            this.value = value;\n            this.hasNext = true;\n        }\n    };\n    AsyncSubject.prototype.complete = function () {\n        this.hasCompleted = true;\n        if (this.hasNext) {\n            _super.prototype.next.call(this, this.value);\n        }\n        _super.prototype.complete.call(this);\n    };\n    return AsyncSubject;\n}(Subject));\n//# sourceMappingURL=AsyncSubject.js.map"
  },
  {
    "__docId__": 1,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AsyncSubject",
    "memberof": "es6/AsyncSubject.js",
    "longname": "es6/AsyncSubject.js~AsyncSubject",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/AsyncSubject.js",
    "importStyle": "{AsyncSubject}",
    "description": "",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "AsyncSubject<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 2,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/BehaviorSubject.js",
    "memberof": null,
    "longname": "es6/BehaviorSubject.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\n/**\n * @class BehaviorSubject<T>\n */\nexport var BehaviorSubject = (function (_super) {\n    __extends(BehaviorSubject, _super);\n    function BehaviorSubject(_value) {\n        _super.call(this);\n        this._value = _value;\n    }\n    Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n        get: function () {\n            return this.getValue();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    BehaviorSubject.prototype._subscribe = function (subscriber) {\n        var subscription = _super.prototype._subscribe.call(this, subscriber);\n        if (subscription && !subscription.closed) {\n            subscriber.next(this._value);\n        }\n        return subscription;\n    };\n    BehaviorSubject.prototype.getValue = function () {\n        if (this.hasError) {\n            throw this.thrownError;\n        }\n        else if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        else {\n            return this._value;\n        }\n    };\n    BehaviorSubject.prototype.next = function (value) {\n        _super.prototype.next.call(this, this._value = value);\n    };\n    return BehaviorSubject;\n}(Subject));\n//# sourceMappingURL=BehaviorSubject.js.map"
  },
  {
    "__docId__": 3,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BehaviorSubject",
    "memberof": "es6/BehaviorSubject.js",
    "longname": "es6/BehaviorSubject.js~BehaviorSubject",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/BehaviorSubject.js",
    "importStyle": "{BehaviorSubject}",
    "description": "",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "BehaviorSubject<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 4,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/InnerSubscriber.js",
    "memberof": null,
    "longname": "es6/InnerSubscriber.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from './Subscriber';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var InnerSubscriber = (function (_super) {\n    __extends(InnerSubscriber, _super);\n    function InnerSubscriber(parent, outerValue, outerIndex) {\n        _super.call(this);\n        this.parent = parent;\n        this.outerValue = outerValue;\n        this.outerIndex = outerIndex;\n        this.index = 0;\n    }\n    InnerSubscriber.prototype._next = function (value) {\n        this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n    };\n    InnerSubscriber.prototype._error = function (error) {\n        this.parent.notifyError(error, this);\n        this.unsubscribe();\n    };\n    InnerSubscriber.prototype._complete = function () {\n        this.parent.notifyComplete(this);\n        this.unsubscribe();\n    };\n    return InnerSubscriber;\n}(Subscriber));\n//# sourceMappingURL=InnerSubscriber.js.map"
  },
  {
    "__docId__": 5,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "InnerSubscriber",
    "memberof": "es6/InnerSubscriber.js",
    "longname": "es6/InnerSubscriber.js~InnerSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/InnerSubscriber.js",
    "importStyle": "{InnerSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 7,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 6,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/Notification.js",
    "memberof": null,
    "longname": "es6/Notification.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from './Observable';\n/**\n * Represents a push-based event or value that an {@link Observable} can emit.\n * This class is particularly useful for operators that manage notifications,\n * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and\n * others. Besides wrapping the actual delivered value, it also annotates it\n * with metadata of, for instance, what type of push message it is (`next`,\n * `error`, or `complete`).\n *\n * @see {@link materialize}\n * @see {@link dematerialize}\n * @see {@link observeOn}\n *\n * @class Notification<T>\n */\nexport var Notification = (function () {\n    function Notification(kind, value, error) {\n        this.kind = kind;\n        this.value = value;\n        this.error = error;\n        this.hasValue = kind === 'N';\n    }\n    /**\n     * Delivers to the given `observer` the value wrapped by this Notification.\n     * @param {Observer} observer\n     * @return\n     */\n    Notification.prototype.observe = function (observer) {\n        switch (this.kind) {\n            case 'N':\n                return observer.next && observer.next(this.value);\n            case 'E':\n                return observer.error && observer.error(this.error);\n            case 'C':\n                return observer.complete && observer.complete();\n        }\n    };\n    /**\n     * Given some {@link Observer} callbacks, deliver the value represented by the\n     * current Notification to the correctly corresponding callback.\n     * @param {function(value: T): void} next An Observer `next` callback.\n     * @param {function(err: any): void} [error] An Observer `error` callback.\n     * @param {function(): void} [complete] An Observer `complete` callback.\n     * @return {any}\n     */\n    Notification.prototype.do = function (next, error, complete) {\n        var kind = this.kind;\n        switch (kind) {\n            case 'N':\n                return next && next(this.value);\n            case 'E':\n                return error && error(this.error);\n            case 'C':\n                return complete && complete();\n        }\n    };\n    /**\n     * Takes an Observer or its individual callback functions, and calls `observe`\n     * or `do` methods accordingly.\n     * @param {Observer|function(value: T): void} nextOrObserver An Observer or\n     * the `next` callback.\n     * @param {function(err: any): void} [error] An Observer `error` callback.\n     * @param {function(): void} [complete] An Observer `complete` callback.\n     * @return {any}\n     */\n    Notification.prototype.accept = function (nextOrObserver, error, complete) {\n        if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n            return this.observe(nextOrObserver);\n        }\n        else {\n            return this.do(nextOrObserver, error, complete);\n        }\n    };\n    /**\n     * Returns a simple Observable that just delivers the notification represented\n     * by this Notification instance.\n     * @return {any}\n     */\n    Notification.prototype.toObservable = function () {\n        var kind = this.kind;\n        switch (kind) {\n            case 'N':\n                return Observable.of(this.value);\n            case 'E':\n                return Observable.throw(this.error);\n            case 'C':\n                return Observable.empty();\n        }\n        throw new Error('unexpected notification kind value');\n    };\n    /**\n     * A shortcut to create a Notification instance of the type `next` from a\n     * given value.\n     * @param {T} value The `next` value.\n     * @return {Notification<T>} The \"next\" Notification representing the\n     * argument.\n     */\n    Notification.createNext = function (value) {\n        if (typeof value !== 'undefined') {\n            return new Notification('N', value);\n        }\n        return this.undefinedValueNotification;\n    };\n    /**\n     * A shortcut to create a Notification instance of the type `error` from a\n     * given error.\n     * @param {any} [err] The `error` error.\n     * @return {Notification<T>} The \"error\" Notification representing the\n     * argument.\n     */\n    Notification.createError = function (err) {\n        return new Notification('E', undefined, err);\n    };\n    /**\n     * A shortcut to create a Notification instance of the type `complete`.\n     * @return {Notification<any>} The valueless \"complete\" Notification.\n     */\n    Notification.createComplete = function () {\n        return this.completeNotification;\n    };\n    Notification.completeNotification = new Notification('C');\n    Notification.undefinedValueNotification = new Notification('N', undefined);\n    return Notification;\n}());\n//# sourceMappingURL=Notification.js.map"
  },
  {
    "__docId__": 7,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Notification",
    "memberof": "es6/Notification.js",
    "longname": "es6/Notification.js~Notification",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/Notification.js",
    "importStyle": "{Notification}",
    "description": "Represents a push-based event or value that an {@link Observable} can emit.\nThis class is particularly useful for operators that manage notifications,\nlike {@link materialize}, {@link dematerialize}, {@link observeOn}, and\nothers. Besides wrapping the actual delivered value, it also annotates it\nwith metadata of, for instance, what type of push message it is (`next`,\n`error`, or `complete`).",
    "see": [
      "{@link materialize}",
      "{@link dematerialize}",
      "{@link observeOn}"
    ],
    "lineNumber": 16,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "Notification<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 8,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/Observable.js",
    "memberof": null,
    "longname": "es6/Observable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from './util/root';\nimport { toSubscriber } from './util/toSubscriber';\nimport { $$observable } from './symbol/observable';\n/**\n * A representation of any set of values over any amount of time. This the most basic building block\n * of RxJS.\n *\n * @class Observable<T>\n */\nexport var Observable = (function () {\n    /**\n     * @constructor\n     * @param {Function} subscribe the function that is  called when the Observable is\n     * initially subscribed to. This function is given a Subscriber, to which new values\n     * can be `next`ed, or an `error` method can be called to raise an error, or\n     * `complete` can be called to notify of a successful completion.\n     */\n    function Observable(subscribe) {\n        this._isScalar = false;\n        if (subscribe) {\n            this._subscribe = subscribe;\n        }\n    }\n    /**\n     * Creates a new Observable, with this Observable as the source, and the passed\n     * operator defined as the new observable's operator.\n     * @method lift\n     * @param {Operator} operator the operator defining the operation to take on the observable\n     * @return {Observable} a new observable with the Operator applied\n     */\n    Observable.prototype.lift = function (operator) {\n        var observable = new Observable();\n        observable.source = this;\n        observable.operator = operator;\n        return observable;\n    };\n    Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n        var operator = this.operator;\n        var sink = toSubscriber(observerOrNext, error, complete);\n        if (operator) {\n            operator.call(sink, this);\n        }\n        else {\n            sink.add(this._subscribe(sink));\n        }\n        if (sink.syncErrorThrowable) {\n            sink.syncErrorThrowable = false;\n            if (sink.syncErrorThrown) {\n                throw sink.syncErrorValue;\n            }\n        }\n        return sink;\n    };\n    /**\n     * @method forEach\n     * @param {Function} next a handler for each value emitted by the observable\n     * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n     * @return {Promise} a promise that either resolves on observable completion or\n     *  rejects with the handled error\n     */\n    Observable.prototype.forEach = function (next, PromiseCtor) {\n        var _this = this;\n        if (!PromiseCtor) {\n            if (root.Rx && root.Rx.config && root.Rx.config.Promise) {\n                PromiseCtor = root.Rx.config.Promise;\n            }\n            else if (root.Promise) {\n                PromiseCtor = root.Promise;\n            }\n        }\n        if (!PromiseCtor) {\n            throw new Error('no Promise impl found');\n        }\n        return new PromiseCtor(function (resolve, reject) {\n            var subscription = _this.subscribe(function (value) {\n                if (subscription) {\n                    // if there is a subscription, then we can surmise\n                    // the next handling is asynchronous. Any errors thrown\n                    // need to be rejected explicitly and unsubscribe must be\n                    // called manually\n                    try {\n                        next(value);\n                    }\n                    catch (err) {\n                        reject(err);\n                        subscription.unsubscribe();\n                    }\n                }\n                else {\n                    // if there is NO subscription, then we're getting a nexted\n                    // value synchronously during subscription. We can just call it.\n                    // If it errors, Observable's `subscribe` will ensure the\n                    // unsubscription logic is called, then synchronously rethrow the error.\n                    // After that, Promise will trap the error and send it\n                    // down the rejection path.\n                    next(value);\n                }\n            }, reject, resolve);\n        });\n    };\n    Observable.prototype._subscribe = function (subscriber) {\n        return this.source.subscribe(subscriber);\n    };\n    /**\n     * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n     * @method Symbol.observable\n     * @return {Observable} this instance of the observable\n     */\n    Observable.prototype[$$observable] = function () {\n        return this;\n    };\n    // HACK: Since TypeScript inherits static properties too, we have to\n    // fight against TypeScript here so Subject can have a different static create signature\n    /**\n     * Creates a new cold Observable by calling the Observable constructor\n     * @static true\n     * @owner Observable\n     * @method create\n     * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n     * @return {Observable} a new cold observable\n     */\n    Observable.create = function (subscribe) {\n        return new Observable(subscribe);\n    };\n    return Observable;\n}());\n//# sourceMappingURL=Observable.js.map"
  },
  {
    "__docId__": 9,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Observable",
    "memberof": "es6/Observable.js",
    "longname": "es6/Observable.js~Observable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/Observable.js",
    "importStyle": "{Observable}",
    "description": "A representation of any set of values over any amount of time. This the most basic building block\nof RxJS.",
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "Observable<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 10,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/Observer.js",
    "memberof": null,
    "longname": "es6/Observer.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export var empty = {\n    closed: true,\n    next: function (value) { },\n    error: function (err) { throw err; },\n    complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map"
  },
  {
    "__docId__": 11,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "empty",
    "memberof": "es6/Observer.js",
    "longname": "es6/Observer.js~empty",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/Observer.js",
    "importStyle": "{empty}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 12,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/Operator.js",
    "memberof": null,
    "longname": "es6/Operator.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "//# sourceMappingURL=Operator.js.map"
  },
  {
    "__docId__": 13,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/OuterSubscriber.js",
    "memberof": null,
    "longname": "es6/OuterSubscriber.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from './Subscriber';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var OuterSubscriber = (function (_super) {\n    __extends(OuterSubscriber, _super);\n    function OuterSubscriber() {\n        _super.apply(this, arguments);\n    }\n    OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.destination.next(innerValue);\n    };\n    OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n        this.destination.error(error);\n    };\n    OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.destination.complete();\n    };\n    return OuterSubscriber;\n}(Subscriber));\n//# sourceMappingURL=OuterSubscriber.js.map"
  },
  {
    "__docId__": 14,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "OuterSubscriber",
    "memberof": "es6/OuterSubscriber.js",
    "longname": "es6/OuterSubscriber.js~OuterSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/OuterSubscriber.js",
    "importStyle": "{OuterSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 7,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 15,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/ReplaySubject.js",
    "memberof": null,
    "longname": "es6/ReplaySubject.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from './Subject';\nimport { queue } from './scheduler/queue';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operator/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\n/**\n * @class ReplaySubject<T>\n */\nexport var ReplaySubject = (function (_super) {\n    __extends(ReplaySubject, _super);\n    function ReplaySubject(bufferSize, windowTime, scheduler) {\n        if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\n        if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\n        _super.call(this);\n        this.scheduler = scheduler;\n        this._events = [];\n        this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n        this._windowTime = windowTime < 1 ? 1 : windowTime;\n    }\n    ReplaySubject.prototype.next = function (value) {\n        var now = this._getNow();\n        this._events.push(new ReplayEvent(now, value));\n        this._trimBufferThenGetEvents();\n        _super.prototype.next.call(this, value);\n    };\n    ReplaySubject.prototype._subscribe = function (subscriber) {\n        var _events = this._trimBufferThenGetEvents();\n        var scheduler = this.scheduler;\n        var subscription;\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        else if (this.hasError) {\n            subscription = Subscription.EMPTY;\n        }\n        else if (this.isStopped) {\n            subscription = Subscription.EMPTY;\n        }\n        else {\n            this.observers.push(subscriber);\n            subscription = new SubjectSubscription(this, subscriber);\n        }\n        if (scheduler) {\n            subscriber.add(subscriber = new ObserveOnSubscriber(subscriber, scheduler));\n        }\n        var len = _events.length;\n        for (var i = 0; i < len && !subscriber.closed; i++) {\n            subscriber.next(_events[i].value);\n        }\n        if (this.hasError) {\n            subscriber.error(this.thrownError);\n        }\n        else if (this.isStopped) {\n            subscriber.complete();\n        }\n        return subscription;\n    };\n    ReplaySubject.prototype._getNow = function () {\n        return (this.scheduler || queue).now();\n    };\n    ReplaySubject.prototype._trimBufferThenGetEvents = function () {\n        var now = this._getNow();\n        var _bufferSize = this._bufferSize;\n        var _windowTime = this._windowTime;\n        var _events = this._events;\n        var eventsCount = _events.length;\n        var spliceCount = 0;\n        // Trim events that fall out of the time window.\n        // Start at the front of the list. Break early once\n        // we encounter an event that falls within the window.\n        while (spliceCount < eventsCount) {\n            if ((now - _events[spliceCount].time) < _windowTime) {\n                break;\n            }\n            spliceCount++;\n        }\n        if (eventsCount > _bufferSize) {\n            spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n        }\n        if (spliceCount > 0) {\n            _events.splice(0, spliceCount);\n        }\n        return _events;\n    };\n    return ReplaySubject;\n}(Subject));\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n//# sourceMappingURL=ReplaySubject.js.map"
  },
  {
    "__docId__": 16,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ReplaySubject",
    "memberof": "es6/ReplaySubject.js",
    "longname": "es6/ReplaySubject.js~ReplaySubject",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/ReplaySubject.js",
    "importStyle": "{ReplaySubject}",
    "description": "",
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "ReplaySubject<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 17,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ReplayEvent",
    "memberof": "es6/ReplaySubject.js",
    "longname": "es6/ReplaySubject.js~ReplayEvent",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/ReplaySubject.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 88,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 18,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/Rx.js",
    "memberof": null,
    "longname": "es6/Rx.js",
    "access": null,
    "description": null,
    "lineNumber": 5,
    "content": "/* tslint:disable:no-unused-variable */\n// Subject imported before Observable to bypass circular dependency issue since\n// Subject extends Observable and Observable references Subject in it's\n// definition\nexport { Subject, AnonymousSubject } from './Subject';\n/* tslint:enable:no-unused-variable */\nexport { Observable } from './Observable';\nimport './add/observable/bindCallback';\nimport './add/observable/bindNodeCallback';\nimport './add/observable/combineLatest';\nimport './add/observable/concat';\nimport './add/observable/defer';\nimport './add/observable/empty';\nimport './add/observable/forkJoin';\nimport './add/observable/from';\nimport './add/observable/fromEvent';\nimport './add/observable/fromEventPattern';\nimport './add/observable/fromPromise';\nimport './add/observable/generate';\nimport './add/observable/if';\nimport './add/observable/interval';\nimport './add/observable/merge';\nimport './add/observable/race';\nimport './add/observable/never';\nimport './add/observable/of';\nimport './add/observable/onErrorResumeNext';\nimport './add/observable/pairs';\nimport './add/observable/range';\nimport './add/observable/using';\nimport './add/observable/throw';\nimport './add/observable/timer';\nimport './add/observable/zip';\nimport './add/observable/dom/ajax';\nimport './add/observable/dom/webSocket';\nimport './add/operator/buffer';\nimport './add/operator/bufferCount';\nimport './add/operator/bufferTime';\nimport './add/operator/bufferToggle';\nimport './add/operator/bufferWhen';\nimport './add/operator/catch';\nimport './add/operator/combineAll';\nimport './add/operator/combineLatest';\nimport './add/operator/concat';\nimport './add/operator/concatAll';\nimport './add/operator/concatMap';\nimport './add/operator/concatMapTo';\nimport './add/operator/count';\nimport './add/operator/dematerialize';\nimport './add/operator/debounce';\nimport './add/operator/debounceTime';\nimport './add/operator/defaultIfEmpty';\nimport './add/operator/delay';\nimport './add/operator/delayWhen';\nimport './add/operator/distinct';\nimport './add/operator/distinctUntilChanged';\nimport './add/operator/distinctUntilKeyChanged';\nimport './add/operator/do';\nimport './add/operator/exhaust';\nimport './add/operator/exhaustMap';\nimport './add/operator/expand';\nimport './add/operator/elementAt';\nimport './add/operator/filter';\nimport './add/operator/finally';\nimport './add/operator/find';\nimport './add/operator/findIndex';\nimport './add/operator/first';\nimport './add/operator/groupBy';\nimport './add/operator/ignoreElements';\nimport './add/operator/isEmpty';\nimport './add/operator/audit';\nimport './add/operator/auditTime';\nimport './add/operator/last';\nimport './add/operator/let';\nimport './add/operator/every';\nimport './add/operator/map';\nimport './add/operator/mapTo';\nimport './add/operator/materialize';\nimport './add/operator/max';\nimport './add/operator/merge';\nimport './add/operator/mergeAll';\nimport './add/operator/mergeMap';\nimport './add/operator/mergeMapTo';\nimport './add/operator/mergeScan';\nimport './add/operator/min';\nimport './add/operator/multicast';\nimport './add/operator/observeOn';\nimport './add/operator/onErrorResumeNext';\nimport './add/operator/pairwise';\nimport './add/operator/partition';\nimport './add/operator/pluck';\nimport './add/operator/publish';\nimport './add/operator/publishBehavior';\nimport './add/operator/publishReplay';\nimport './add/operator/publishLast';\nimport './add/operator/race';\nimport './add/operator/reduce';\nimport './add/operator/repeat';\nimport './add/operator/repeatWhen';\nimport './add/operator/retry';\nimport './add/operator/retryWhen';\nimport './add/operator/sample';\nimport './add/operator/sampleTime';\nimport './add/operator/scan';\nimport './add/operator/sequenceEqual';\nimport './add/operator/share';\nimport './add/operator/single';\nimport './add/operator/skip';\nimport './add/operator/skipUntil';\nimport './add/operator/skipWhile';\nimport './add/operator/startWith';\nimport './add/operator/subscribeOn';\nimport './add/operator/switch';\nimport './add/operator/switchMap';\nimport './add/operator/switchMapTo';\nimport './add/operator/take';\nimport './add/operator/takeLast';\nimport './add/operator/takeUntil';\nimport './add/operator/takeWhile';\nimport './add/operator/throttle';\nimport './add/operator/throttleTime';\nimport './add/operator/timeInterval';\nimport './add/operator/timeout';\nimport './add/operator/timeoutWith';\nimport './add/operator/timestamp';\nimport './add/operator/toArray';\nimport './add/operator/toPromise';\nimport './add/operator/window';\nimport './add/operator/windowCount';\nimport './add/operator/windowTime';\nimport './add/operator/windowToggle';\nimport './add/operator/windowWhen';\nimport './add/operator/withLatestFrom';\nimport './add/operator/zip';\nimport './add/operator/zipAll';\n/* tslint:disable:no-unused-variable */\nexport { Subscription } from './Subscription';\nexport { Subscriber } from './Subscriber';\nexport { AsyncSubject } from './AsyncSubject';\nexport { ReplaySubject } from './ReplaySubject';\nexport { BehaviorSubject } from './BehaviorSubject';\nexport { ConnectableObservable } from './observable/ConnectableObservable';\nexport { Notification } from './Notification';\nexport { EmptyError } from './util/EmptyError';\nexport { ArgumentOutOfRangeError } from './util/ArgumentOutOfRangeError';\nexport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nexport { TimeoutError } from './util/TimeoutError';\nexport { UnsubscriptionError } from './util/UnsubscriptionError';\nexport { TimeInterval } from './operator/timeInterval';\nexport { Timestamp } from './operator/timestamp';\nexport { TestScheduler } from './testing/TestScheduler';\nexport { VirtualTimeScheduler } from './scheduler/VirtualTimeScheduler';\nexport { AjaxResponse, AjaxError, AjaxTimeoutError } from './observable/dom/AjaxObservable';\nimport { asap } from './scheduler/asap';\nimport { async } from './scheduler/async';\nimport { queue } from './scheduler/queue';\nimport { animationFrame } from './scheduler/animationFrame';\nimport { $$rxSubscriber as rxSubscriber } from './symbol/rxSubscriber';\nimport { $$iterator as iterator } from './symbol/iterator';\nimport { $$observable as observable } from './symbol/observable';\n/* tslint:enable:no-unused-variable */\n/**\n * @typedef {Object} Rx.Scheduler\n * @property {Scheduler} queue Schedules on a queue in the current event frame\n * (trampoline scheduler). Use this for iteration operations.\n * @property {Scheduler} asap Schedules on the micro task queue, which uses the\n * fastest transport mechanism available, either Node.js' `process.nextTick()`\n * or Web Worker MessageChannel or setTimeout or others. Use this for\n * asynchronous conversions.\n * @property {Scheduler} async Schedules work with `setInterval`. Use this for\n * time-based operations.\n * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`.\n * Use this for synchronizing with the platform's painting\n */\nvar Scheduler = {\n    asap: asap,\n    queue: queue,\n    animationFrame: animationFrame,\n    async: async\n};\n/**\n * @typedef {Object} Rx.Symbol\n * @property {Symbol|string} rxSubscriber A symbol to use as a property name to\n * retrieve an \"Rx safe\" Observer from an object. \"Rx safety\" can be defined as\n * an object that has all of the traits of an Rx Subscriber, including the\n * ability to add and remove subscriptions to the subscription chain and\n * guarantees involving event triggering (can't \"next\" after unsubscription,\n * etc).\n * @property {Symbol|string} observable A symbol to use as a property name to\n * retrieve an Observable as defined by the [ECMAScript \"Observable\" spec](https://github.com/zenparsing/es-observable).\n * @property {Symbol|string} iterator The ES6 symbol to use as a property name\n * to retrieve an iterator from an object.\n */\nvar Symbol = {\n    rxSubscriber: rxSubscriber,\n    observable: observable,\n    iterator: iterator\n};\nexport { Scheduler, Symbol };\n//# sourceMappingURL=Rx.js.map"
  },
  {
    "__docId__": 19,
    "kind": "typedef",
    "static": true,
    "variation": null,
    "name": "Rx.Scheduler",
    "memberof": "es6/Rx.js",
    "longname": "es6/Rx.js~Rx.Scheduler",
    "access": null,
    "description": "",
    "lineNumber": 174,
    "properties": [
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": false,
        "name": "queue",
        "description": "Schedules on a queue in the current event frame\n(trampoline scheduler). Use this for iteration operations."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": false,
        "name": "asap",
        "description": "Schedules on the micro task queue, which uses the\nfastest transport mechanism available, either Node.js' `process.nextTick()`\nor Web Worker MessageChannel or setTimeout or others. Use this for\nasynchronous conversions."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": false,
        "name": "async",
        "description": "Schedules work with `setInterval`. Use this for\ntime-based operations."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": false,
        "name": "animationFrame",
        "description": "Schedules work with `requestAnimationFrame`.\nUse this for synchronizing with the platform's painting"
      }
    ],
    "type": {
      "types": [
        "Object"
      ],
      "optional": false,
      "name": "Rx.Scheduler"
    }
  },
  {
    "__docId__": 20,
    "kind": "typedef",
    "static": true,
    "variation": null,
    "name": "Rx.Symbol",
    "memberof": "es6/Rx.js",
    "longname": "es6/Rx.js~Rx.Symbol",
    "access": null,
    "description": "",
    "lineNumber": 193,
    "properties": [
      {
        "nullable": null,
        "types": [
          "Symbol",
          "string"
        ],
        "spread": false,
        "optional": false,
        "name": "rxSubscriber",
        "description": "A symbol to use as a property name to\nretrieve an \"Rx safe\" Observer from an object. \"Rx safety\" can be defined as\nan object that has all of the traits of an Rx Subscriber, including the\nability to add and remove subscriptions to the subscription chain and\nguarantees involving event triggering (can't \"next\" after unsubscription,\netc)."
      },
      {
        "nullable": null,
        "types": [
          "Symbol",
          "string"
        ],
        "spread": false,
        "optional": false,
        "name": "observable",
        "description": "A symbol to use as a property name to\nretrieve an Observable as defined by the [ECMAScript \"Observable\" spec](https://github.com/zenparsing/es-observable)."
      },
      {
        "nullable": null,
        "types": [
          "Symbol",
          "string"
        ],
        "spread": false,
        "optional": false,
        "name": "iterator",
        "description": "The ES6 symbol to use as a property name\nto retrieve an iterator from an object."
      }
    ],
    "type": {
      "types": [
        "Object"
      ],
      "optional": false,
      "name": "Rx.Symbol"
    }
  },
  {
    "__docId__": 21,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/Scheduler.js",
    "memberof": null,
    "longname": "es6/Scheduler.js",
    "access": null,
    "description": null,
    "lineNumber": 17,
    "content": "/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an {@link Action}.\n *\n * ```ts\n * class Scheduler {\n *   now(): number;\n *   schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n */\nexport var Scheduler = (function () {\n    function Scheduler(SchedulerAction, now) {\n        if (now === void 0) { now = Scheduler.now; }\n        this.SchedulerAction = SchedulerAction;\n        this.now = now;\n    }\n    /**\n     * Schedules a function, `work`, for execution. May happen at some point in\n     * the future, according to the `delay` parameter, if specified. May be passed\n     * some context object, `state`, which will be passed to the `work` function.\n     *\n     * The given arguments will be processed an stored as an Action object in a\n     * queue of actions.\n     *\n     * @param {function(state: ?T): ?Subscription} work A function representing a\n     * task, or some unit of work to be executed by the Scheduler.\n     * @param {number} [delay] Time to wait before executing the work, where the\n     * time unit is implicit and defined by the Scheduler itself.\n     * @param {T} [state] Some contextual data that the `work` function uses when\n     * called by the Scheduler.\n     * @return {Subscription} A subscription in order to be able to unsubscribe\n     * the scheduled work.\n     */\n    Scheduler.prototype.schedule = function (work, delay, state) {\n        if (delay === void 0) { delay = 0; }\n        return new this.SchedulerAction(this, work).schedule(state, delay);\n    };\n    Scheduler.now = Date.now ? Date.now : function () { return +new Date(); };\n    return Scheduler;\n}());\n//# sourceMappingURL=Scheduler.js.map"
  },
  {
    "__docId__": 22,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Scheduler",
    "memberof": "es6/Scheduler.js",
    "longname": "es6/Scheduler.js~Scheduler",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/Scheduler.js",
    "importStyle": "{Scheduler}",
    "description": "An execution context and a data structure to order tasks and schedule their\nexecution. Provides a notion of (potentially virtual) time, through the\n`now()` getter method.\n\nEach unit of work in a Scheduler is called an {@link Action}.\n\n```ts\nclass Scheduler {\n  now(): number;\n  schedule(work, delay?, state?): Subscription;\n}\n```",
    "lineNumber": 17,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "Scheduler"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 23,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/Subject.js",
    "memberof": null,
    "longname": "es6/Subject.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { $$rxSubscriber } from './symbol/rxSubscriber';\n/**\n * @class SubjectSubscriber<T>\n */\nexport var SubjectSubscriber = (function (_super) {\n    __extends(SubjectSubscriber, _super);\n    function SubjectSubscriber(destination) {\n        _super.call(this, destination);\n        this.destination = destination;\n    }\n    return SubjectSubscriber;\n}(Subscriber));\n/**\n * @class Subject<T>\n */\nexport var Subject = (function (_super) {\n    __extends(Subject, _super);\n    function Subject() {\n        _super.call(this);\n        this.observers = [];\n        this.closed = false;\n        this.isStopped = false;\n        this.hasError = false;\n        this.thrownError = null;\n    }\n    Subject.prototype[$$rxSubscriber] = function () {\n        return new SubjectSubscriber(this);\n    };\n    Subject.prototype.lift = function (operator) {\n        var subject = new AnonymousSubject(this, this);\n        subject.operator = operator;\n        return subject;\n    };\n    Subject.prototype.next = function (value) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        if (!this.isStopped) {\n            var observers = this.observers;\n            var len = observers.length;\n            var copy = observers.slice();\n            for (var i = 0; i < len; i++) {\n                copy[i].next(value);\n            }\n        }\n    };\n    Subject.prototype.error = function (err) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        this.hasError = true;\n        this.thrownError = err;\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].error(err);\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.complete = function () {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].complete();\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.unsubscribe = function () {\n        this.isStopped = true;\n        this.closed = true;\n        this.observers = null;\n    };\n    Subject.prototype._subscribe = function (subscriber) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        else if (this.hasError) {\n            subscriber.error(this.thrownError);\n            return Subscription.EMPTY;\n        }\n        else if (this.isStopped) {\n            subscriber.complete();\n            return Subscription.EMPTY;\n        }\n        else {\n            this.observers.push(subscriber);\n            return new SubjectSubscription(this, subscriber);\n        }\n    };\n    Subject.prototype.asObservable = function () {\n        var observable = new Observable();\n        observable.source = this;\n        return observable;\n    };\n    Subject.create = function (destination, source) {\n        return new AnonymousSubject(destination, source);\n    };\n    return Subject;\n}(Observable));\n/**\n * @class AnonymousSubject<T>\n */\nexport var AnonymousSubject = (function (_super) {\n    __extends(AnonymousSubject, _super);\n    function AnonymousSubject(destination, source) {\n        _super.call(this);\n        this.destination = destination;\n        this.source = source;\n    }\n    AnonymousSubject.prototype.next = function (value) {\n        var destination = this.destination;\n        if (destination && destination.next) {\n            destination.next(value);\n        }\n    };\n    AnonymousSubject.prototype.error = function (err) {\n        var destination = this.destination;\n        if (destination && destination.error) {\n            this.destination.error(err);\n        }\n    };\n    AnonymousSubject.prototype.complete = function () {\n        var destination = this.destination;\n        if (destination && destination.complete) {\n            this.destination.complete();\n        }\n    };\n    AnonymousSubject.prototype._subscribe = function (subscriber) {\n        var source = this.source;\n        if (source) {\n            return this.source.subscribe(subscriber);\n        }\n        else {\n            return Subscription.EMPTY;\n        }\n    };\n    return AnonymousSubject;\n}(Subject));\n//# sourceMappingURL=Subject.js.map"
  },
  {
    "__docId__": 24,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SubjectSubscriber",
    "memberof": "es6/Subject.js",
    "longname": "es6/Subject.js~SubjectSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/Subject.js",
    "importStyle": "{SubjectSubscriber}",
    "description": "",
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "SubjectSubscriber<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 25,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Subject",
    "memberof": "es6/Subject.js",
    "longname": "es6/Subject.js~Subject",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/Subject.js",
    "importStyle": "{Subject}",
    "description": "",
    "lineNumber": 21,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "Subject<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 26,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AnonymousSubject",
    "memberof": "es6/Subject.js",
    "longname": "es6/Subject.js~AnonymousSubject",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/Subject.js",
    "importStyle": "{AnonymousSubject}",
    "description": "",
    "lineNumber": 115,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "AnonymousSubject<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 27,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/SubjectSubscription.js",
    "memberof": null,
    "longname": "es6/SubjectSubscription.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscription } from './Subscription';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var SubjectSubscription = (function (_super) {\n    __extends(SubjectSubscription, _super);\n    function SubjectSubscription(subject, subscriber) {\n        _super.call(this);\n        this.subject = subject;\n        this.subscriber = subscriber;\n        this.closed = false;\n    }\n    SubjectSubscription.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.closed = true;\n        var subject = this.subject;\n        var observers = subject.observers;\n        this.subject = null;\n        if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n            return;\n        }\n        var subscriberIndex = observers.indexOf(this.subscriber);\n        if (subscriberIndex !== -1) {\n            observers.splice(subscriberIndex, 1);\n        }\n    };\n    return SubjectSubscription;\n}(Subscription));\n//# sourceMappingURL=SubjectSubscription.js.map"
  },
  {
    "__docId__": 28,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SubjectSubscription",
    "memberof": "es6/SubjectSubscription.js",
    "longname": "es6/SubjectSubscription.js~SubjectSubscription",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/SubjectSubscription.js",
    "importStyle": "{SubjectSubscription}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 7,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 29,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/Subscriber.js",
    "memberof": null,
    "longname": "es6/Subscriber.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { isFunction } from './util/isFunction';\nimport { Subscription } from './Subscription';\nimport { empty as emptyObserver } from './Observer';\nimport { $$rxSubscriber } from './symbol/rxSubscriber';\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber<T>\n */\nexport var Subscriber = (function (_super) {\n    __extends(Subscriber, _super);\n    /**\n     * @param {Observer|function(value: T): void} [destinationOrNext] A partially\n     * defined Observer or a `next` callback function.\n     * @param {function(e: ?any): void} [error] The `error` callback of an\n     * Observer.\n     * @param {function(): void} [complete] The `complete` callback of an\n     * Observer.\n     */\n    function Subscriber(destinationOrNext, error, complete) {\n        _super.call(this);\n        this.syncErrorValue = null;\n        this.syncErrorThrown = false;\n        this.syncErrorThrowable = false;\n        this.isStopped = false;\n        switch (arguments.length) {\n            case 0:\n                this.destination = emptyObserver;\n                break;\n            case 1:\n                if (!destinationOrNext) {\n                    this.destination = emptyObserver;\n                    break;\n                }\n                if (typeof destinationOrNext === 'object') {\n                    if (destinationOrNext instanceof Subscriber) {\n                        this.destination = destinationOrNext;\n                        this.destination.add(this);\n                    }\n                    else {\n                        this.syncErrorThrowable = true;\n                        this.destination = new SafeSubscriber(this, destinationOrNext);\n                    }\n                    break;\n                }\n            default:\n                this.syncErrorThrowable = true;\n                this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n                break;\n        }\n    }\n    Subscriber.prototype[$$rxSubscriber] = function () { return this; };\n    /**\n     * A static factory for a Subscriber, given a (potentially partial) definition\n     * of an Observer.\n     * @param {function(x: ?T): void} [next] The `next` callback of an Observer.\n     * @param {function(e: ?any): void} [error] The `error` callback of an\n     * Observer.\n     * @param {function(): void} [complete] The `complete` callback of an\n     * Observer.\n     * @return {Subscriber<T>} A Subscriber wrapping the (partially defined)\n     * Observer represented by the given arguments.\n     */\n    Subscriber.create = function (next, error, complete) {\n        var subscriber = new Subscriber(next, error, complete);\n        subscriber.syncErrorThrowable = false;\n        return subscriber;\n    };\n    /**\n     * The {@link Observer} callback to receive notifications of type `next` from\n     * the Observable, with a value. The Observable may call this method 0 or more\n     * times.\n     * @param {T} [value] The `next` value.\n     * @return {void}\n     */\n    Subscriber.prototype.next = function (value) {\n        if (!this.isStopped) {\n            this._next(value);\n        }\n    };\n    /**\n     * The {@link Observer} callback to receive notifications of type `error` from\n     * the Observable, with an attached {@link Error}. Notifies the Observer that\n     * the Observable has experienced an error condition.\n     * @param {any} [err] The `error` exception.\n     * @return {void}\n     */\n    Subscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._error(err);\n        }\n    };\n    /**\n     * The {@link Observer} callback to receive a valueless notification of type\n     * `complete` from the Observable. Notifies the Observer that the Observable\n     * has finished sending push-based notifications.\n     * @return {void}\n     */\n    Subscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._complete();\n        }\n    };\n    Subscriber.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.isStopped = true;\n        _super.prototype.unsubscribe.call(this);\n    };\n    Subscriber.prototype._next = function (value) {\n        this.destination.next(value);\n    };\n    Subscriber.prototype._error = function (err) {\n        this.destination.error(err);\n        this.unsubscribe();\n    };\n    Subscriber.prototype._complete = function () {\n        this.destination.complete();\n        this.unsubscribe();\n    };\n    return Subscriber;\n}(Subscription));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SafeSubscriber = (function (_super) {\n    __extends(SafeSubscriber, _super);\n    function SafeSubscriber(_parent, observerOrNext, error, complete) {\n        _super.call(this);\n        this._parent = _parent;\n        var next;\n        var context = this;\n        if (isFunction(observerOrNext)) {\n            next = observerOrNext;\n        }\n        else if (observerOrNext) {\n            context = observerOrNext;\n            next = observerOrNext.next;\n            error = observerOrNext.error;\n            complete = observerOrNext.complete;\n            if (isFunction(context.unsubscribe)) {\n                this.add(context.unsubscribe.bind(context));\n            }\n            context.unsubscribe = this.unsubscribe.bind(this);\n        }\n        this._context = context;\n        this._next = next;\n        this._error = error;\n        this._complete = complete;\n    }\n    SafeSubscriber.prototype.next = function (value) {\n        if (!this.isStopped && this._next) {\n            var _parent = this._parent;\n            if (!_parent.syncErrorThrowable) {\n                this.__tryOrUnsub(this._next, value);\n            }\n            else if (this.__tryOrSetError(_parent, this._next, value)) {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var _parent = this._parent;\n            if (this._error) {\n                if (!_parent.syncErrorThrowable) {\n                    this.__tryOrUnsub(this._error, err);\n                    this.unsubscribe();\n                }\n                else {\n                    this.__tryOrSetError(_parent, this._error, err);\n                    this.unsubscribe();\n                }\n            }\n            else if (!_parent.syncErrorThrowable) {\n                this.unsubscribe();\n                throw err;\n            }\n            else {\n                _parent.syncErrorValue = err;\n                _parent.syncErrorThrown = true;\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            var _parent = this._parent;\n            if (this._complete) {\n                if (!_parent.syncErrorThrowable) {\n                    this.__tryOrUnsub(this._complete);\n                    this.unsubscribe();\n                }\n                else {\n                    this.__tryOrSetError(_parent, this._complete);\n                    this.unsubscribe();\n                }\n            }\n            else {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n        try {\n            fn.call(this._context, value);\n        }\n        catch (err) {\n            this.unsubscribe();\n            throw err;\n        }\n    };\n    SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n        try {\n            fn.call(this._context, value);\n        }\n        catch (err) {\n            parent.syncErrorValue = err;\n            parent.syncErrorThrown = true;\n            return true;\n        }\n        return false;\n    };\n    SafeSubscriber.prototype._unsubscribe = function () {\n        var _parent = this._parent;\n        this._context = null;\n        this._parent = null;\n        _parent.unsubscribe();\n    };\n    return SafeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=Subscriber.js.map"
  },
  {
    "__docId__": 30,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Subscriber",
    "memberof": "es6/Subscriber.js",
    "longname": "es6/Subscriber.js~Subscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/Subscriber.js",
    "importStyle": "{Subscriber}",
    "description": "Implements the {@link Observer} interface and extends the\n{@link Subscription} class. While the {@link Observer} is the public API for\nconsuming the values of an {@link Observable}, all Observers get converted to\na Subscriber, in order to provide Subscription-like capabilities such as\n`unsubscribe`. Subscriber is a common type in RxJS, and crucial for\nimplementing operators, but it is rarely used as a public API.",
    "lineNumber": 15,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "Subscriber<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 31,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SafeSubscriber",
    "memberof": "es6/Subscriber.js",
    "longname": "es6/Subscriber.js~SafeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/Subscriber.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 136,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 32,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/Subscription.js",
    "memberof": null,
    "longname": "es6/Subscription.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { tryCatch } from './util/tryCatch';\nimport { errorObject } from './util/errorObject';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport var Subscription = (function () {\n    /**\n     * @param {function(): void} [unsubscribe] A function describing how to\n     * perform the disposal of resources when the `unsubscribe` method is called.\n     */\n    function Subscription(unsubscribe) {\n        /**\n         * A flag to indicate whether this Subscription has already been unsubscribed.\n         * @type {boolean}\n         */\n        this.closed = false;\n        if (unsubscribe) {\n            this._unsubscribe = unsubscribe;\n        }\n    }\n    /**\n     * Disposes the resources held by the subscription. May, for instance, cancel\n     * an ongoing Observable execution or cancel any other type of work that\n     * started when the Subscription was created.\n     * @return {void}\n     */\n    Subscription.prototype.unsubscribe = function () {\n        var hasErrors = false;\n        var errors;\n        if (this.closed) {\n            return;\n        }\n        this.closed = true;\n        var _a = this, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n        this._subscriptions = null;\n        if (isFunction(_unsubscribe)) {\n            var trial = tryCatch(_unsubscribe).call(this);\n            if (trial === errorObject) {\n                hasErrors = true;\n                (errors = errors || []).push(errorObject.e);\n            }\n        }\n        if (isArray(_subscriptions)) {\n            var index = -1;\n            var len = _subscriptions.length;\n            while (++index < len) {\n                var sub = _subscriptions[index];\n                if (isObject(sub)) {\n                    var trial = tryCatch(sub.unsubscribe).call(sub);\n                    if (trial === errorObject) {\n                        hasErrors = true;\n                        errors = errors || [];\n                        var err = errorObject.e;\n                        if (err instanceof UnsubscriptionError) {\n                            errors = errors.concat(err.errors);\n                        }\n                        else {\n                            errors.push(err);\n                        }\n                    }\n                }\n            }\n        }\n        if (hasErrors) {\n            throw new UnsubscriptionError(errors);\n        }\n    };\n    /**\n     * Adds a tear down to be called during the unsubscribe() of this\n     * Subscription.\n     *\n     * If the tear down being added is a subscription that is already\n     * unsubscribed, is the same reference `add` is being called on, or is\n     * `Subscription.EMPTY`, it will not be added.\n     *\n     * If this subscription is already in an `closed` state, the passed\n     * tear down logic will be executed immediately.\n     *\n     * @param {TeardownLogic} teardown The additional logic to execute on\n     * teardown.\n     * @return {Subscription} Returns the Subscription used or created to be\n     * added to the inner subscriptions list. This Subscription can be used with\n     * `remove()` to remove the passed teardown logic from the inner subscriptions\n     * list.\n     */\n    Subscription.prototype.add = function (teardown) {\n        if (!teardown || (teardown === Subscription.EMPTY)) {\n            return Subscription.EMPTY;\n        }\n        if (teardown === this) {\n            return this;\n        }\n        var sub = teardown;\n        switch (typeof teardown) {\n            case 'function':\n                sub = new Subscription(teardown);\n            case 'object':\n                if (sub.closed || typeof sub.unsubscribe !== 'function') {\n                    break;\n                }\n                else if (this.closed) {\n                    sub.unsubscribe();\n                }\n                else {\n                    (this._subscriptions || (this._subscriptions = [])).push(sub);\n                }\n                break;\n            default:\n                throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n        }\n        return sub;\n    };\n    /**\n     * Removes a Subscription from the internal list of subscriptions that will\n     * unsubscribe during the unsubscribe process of this Subscription.\n     * @param {Subscription} subscription The subscription to remove.\n     * @return {void}\n     */\n    Subscription.prototype.remove = function (subscription) {\n        // HACK: This might be redundant because of the logic in `add()`\n        if (subscription == null || (subscription === this) || (subscription === Subscription.EMPTY)) {\n            return;\n        }\n        var subscriptions = this._subscriptions;\n        if (subscriptions) {\n            var subscriptionIndex = subscriptions.indexOf(subscription);\n            if (subscriptionIndex !== -1) {\n                subscriptions.splice(subscriptionIndex, 1);\n            }\n        }\n    };\n    Subscription.EMPTY = (function (empty) {\n        empty.closed = true;\n        return empty;\n    }(new Subscription()));\n    return Subscription;\n}());\n//# sourceMappingURL=Subscription.js.map"
  },
  {
    "__docId__": 33,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Subscription",
    "memberof": "es6/Subscription.js",
    "longname": "es6/Subscription.js~Subscription",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/Subscription.js",
    "importStyle": "{Subscription}",
    "description": "Represents a disposable resource, such as the execution of an Observable. A\nSubscription has one important method, `unsubscribe`, that takes no argument\nand just disposes the resource held by the subscription.\n\nAdditionally, subscriptions may be grouped together through the `add()`\nmethod, which will attach a child Subscription to the current Subscription.\nWhen a Subscription is unsubscribed, all its children (and its grandchildren)\nwill be unsubscribed as well.",
    "lineNumber": 19,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "Subscription"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 34,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/bindCallback.js",
    "memberof": null,
    "longname": "es6/add/observable/bindCallback.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { bindCallback as staticBindCallback } from '../../observable/bindCallback';\nObservable.bindCallback = staticBindCallback;\n//# sourceMappingURL=bindCallback.js.map"
  },
  {
    "__docId__": 35,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/bindNodeCallback.js",
    "memberof": null,
    "longname": "es6/add/observable/bindNodeCallback.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { bindNodeCallback as staticBindNodeCallback } from '../../observable/bindNodeCallback';\nObservable.bindNodeCallback = staticBindNodeCallback;\n//# sourceMappingURL=bindNodeCallback.js.map"
  },
  {
    "__docId__": 36,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/combineLatest.js",
    "memberof": null,
    "longname": "es6/add/observable/combineLatest.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { combineLatest as combineLatestStatic } from '../../observable/combineLatest';\nObservable.combineLatest = combineLatestStatic;\n//# sourceMappingURL=combineLatest.js.map"
  },
  {
    "__docId__": 37,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/concat.js",
    "memberof": null,
    "longname": "es6/add/observable/concat.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { concat as concatStatic } from '../../observable/concat';\nObservable.concat = concatStatic;\n//# sourceMappingURL=concat.js.map"
  },
  {
    "__docId__": 38,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/defer.js",
    "memberof": null,
    "longname": "es6/add/observable/defer.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { defer as staticDefer } from '../../observable/defer';\nObservable.defer = staticDefer;\n//# sourceMappingURL=defer.js.map"
  },
  {
    "__docId__": 39,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/dom/ajax.js",
    "memberof": null,
    "longname": "es6/add/observable/dom/ajax.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../../Observable';\nimport { ajax as staticAjax } from '../../../observable/dom/ajax';\nObservable.ajax = staticAjax;\n//# sourceMappingURL=ajax.js.map"
  },
  {
    "__docId__": 40,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/dom/webSocket.js",
    "memberof": null,
    "longname": "es6/add/observable/dom/webSocket.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../../Observable';\nimport { webSocket as staticWebSocket } from '../../../observable/dom/webSocket';\nObservable.webSocket = staticWebSocket;\n//# sourceMappingURL=webSocket.js.map"
  },
  {
    "__docId__": 41,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/empty.js",
    "memberof": null,
    "longname": "es6/add/observable/empty.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { empty as staticEmpty } from '../../observable/empty';\nObservable.empty = staticEmpty;\n//# sourceMappingURL=empty.js.map"
  },
  {
    "__docId__": 42,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/forkJoin.js",
    "memberof": null,
    "longname": "es6/add/observable/forkJoin.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { forkJoin as staticForkJoin } from '../../observable/forkJoin';\nObservable.forkJoin = staticForkJoin;\n//# sourceMappingURL=forkJoin.js.map"
  },
  {
    "__docId__": 43,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/from.js",
    "memberof": null,
    "longname": "es6/add/observable/from.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { from as staticFrom } from '../../observable/from';\nObservable.from = staticFrom;\n//# sourceMappingURL=from.js.map"
  },
  {
    "__docId__": 44,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/fromEvent.js",
    "memberof": null,
    "longname": "es6/add/observable/fromEvent.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { fromEvent as staticFromEvent } from '../../observable/fromEvent';\nObservable.fromEvent = staticFromEvent;\n//# sourceMappingURL=fromEvent.js.map"
  },
  {
    "__docId__": 45,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/fromEventPattern.js",
    "memberof": null,
    "longname": "es6/add/observable/fromEventPattern.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { fromEventPattern as staticFromEventPattern } from '../../observable/fromEventPattern';\nObservable.fromEventPattern = staticFromEventPattern;\n//# sourceMappingURL=fromEventPattern.js.map"
  },
  {
    "__docId__": 46,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/fromPromise.js",
    "memberof": null,
    "longname": "es6/add/observable/fromPromise.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { fromPromise as staticFromPromise } from '../../observable/fromPromise';\nObservable.fromPromise = staticFromPromise;\n//# sourceMappingURL=fromPromise.js.map"
  },
  {
    "__docId__": 47,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/generate.js",
    "memberof": null,
    "longname": "es6/add/observable/generate.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { GenerateObservable } from '../../observable/GenerateObservable';\nObservable.generate = GenerateObservable.create;\n//# sourceMappingURL=generate.js.map"
  },
  {
    "__docId__": 48,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/if.js",
    "memberof": null,
    "longname": "es6/add/observable/if.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { _if } from '../../observable/if';\nObservable.if = _if;\n//# sourceMappingURL=if.js.map"
  },
  {
    "__docId__": 49,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/interval.js",
    "memberof": null,
    "longname": "es6/add/observable/interval.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { interval as staticInterval } from '../../observable/interval';\nObservable.interval = staticInterval;\n//# sourceMappingURL=interval.js.map"
  },
  {
    "__docId__": 50,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/merge.js",
    "memberof": null,
    "longname": "es6/add/observable/merge.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { merge as mergeStatic } from '../../observable/merge';\nObservable.merge = mergeStatic;\n//# sourceMappingURL=merge.js.map"
  },
  {
    "__docId__": 51,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/never.js",
    "memberof": null,
    "longname": "es6/add/observable/never.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { never as staticNever } from '../../observable/never';\nObservable.never = staticNever;\n//# sourceMappingURL=never.js.map"
  },
  {
    "__docId__": 52,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/of.js",
    "memberof": null,
    "longname": "es6/add/observable/of.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { of as staticOf } from '../../observable/of';\nObservable.of = staticOf;\n//# sourceMappingURL=of.js.map"
  },
  {
    "__docId__": 53,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/onErrorResumeNext.js",
    "memberof": null,
    "longname": "es6/add/observable/onErrorResumeNext.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { onErrorResumeNextStatic } from '../../operator/onErrorResumeNext';\nObservable.onErrorResumeNext = onErrorResumeNextStatic;\n//# sourceMappingURL=onErrorResumeNext.js.map"
  },
  {
    "__docId__": 54,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/pairs.js",
    "memberof": null,
    "longname": "es6/add/observable/pairs.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { pairs as staticPairs } from '../../observable/pairs';\nObservable.pairs = staticPairs;\n//# sourceMappingURL=pairs.js.map"
  },
  {
    "__docId__": 55,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/race.js",
    "memberof": null,
    "longname": "es6/add/observable/race.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { raceStatic } from '../../operator/race';\nObservable.race = raceStatic;\n//# sourceMappingURL=race.js.map"
  },
  {
    "__docId__": 56,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/range.js",
    "memberof": null,
    "longname": "es6/add/observable/range.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { range as staticRange } from '../../observable/range';\nObservable.range = staticRange;\n//# sourceMappingURL=range.js.map"
  },
  {
    "__docId__": 57,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/throw.js",
    "memberof": null,
    "longname": "es6/add/observable/throw.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { _throw } from '../../observable/throw';\nObservable.throw = _throw;\n//# sourceMappingURL=throw.js.map"
  },
  {
    "__docId__": 58,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/timer.js",
    "memberof": null,
    "longname": "es6/add/observable/timer.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { timer as staticTimer } from '../../observable/timer';\nObservable.timer = staticTimer;\n//# sourceMappingURL=timer.js.map"
  },
  {
    "__docId__": 59,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/using.js",
    "memberof": null,
    "longname": "es6/add/observable/using.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { using as staticUsing } from '../../observable/using';\nObservable.using = staticUsing;\n//# sourceMappingURL=using.js.map"
  },
  {
    "__docId__": 60,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/observable/zip.js",
    "memberof": null,
    "longname": "es6/add/observable/zip.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { zip as zipStatic } from '../../observable/zip';\nObservable.zip = zipStatic;\n//# sourceMappingURL=zip.js.map"
  },
  {
    "__docId__": 61,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/audit.js",
    "memberof": null,
    "longname": "es6/add/operator/audit.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { audit } from '../../operator/audit';\nObservable.prototype.audit = audit;\n//# sourceMappingURL=audit.js.map"
  },
  {
    "__docId__": 62,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/auditTime.js",
    "memberof": null,
    "longname": "es6/add/operator/auditTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { auditTime } from '../../operator/auditTime';\nObservable.prototype.auditTime = auditTime;\n//# sourceMappingURL=auditTime.js.map"
  },
  {
    "__docId__": 63,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/buffer.js",
    "memberof": null,
    "longname": "es6/add/operator/buffer.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { buffer } from '../../operator/buffer';\nObservable.prototype.buffer = buffer;\n//# sourceMappingURL=buffer.js.map"
  },
  {
    "__docId__": 64,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/bufferCount.js",
    "memberof": null,
    "longname": "es6/add/operator/bufferCount.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { bufferCount } from '../../operator/bufferCount';\nObservable.prototype.bufferCount = bufferCount;\n//# sourceMappingURL=bufferCount.js.map"
  },
  {
    "__docId__": 65,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/bufferTime.js",
    "memberof": null,
    "longname": "es6/add/operator/bufferTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { bufferTime } from '../../operator/bufferTime';\nObservable.prototype.bufferTime = bufferTime;\n//# sourceMappingURL=bufferTime.js.map"
  },
  {
    "__docId__": 66,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/bufferToggle.js",
    "memberof": null,
    "longname": "es6/add/operator/bufferToggle.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { bufferToggle } from '../../operator/bufferToggle';\nObservable.prototype.bufferToggle = bufferToggle;\n//# sourceMappingURL=bufferToggle.js.map"
  },
  {
    "__docId__": 67,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/bufferWhen.js",
    "memberof": null,
    "longname": "es6/add/operator/bufferWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { bufferWhen } from '../../operator/bufferWhen';\nObservable.prototype.bufferWhen = bufferWhen;\n//# sourceMappingURL=bufferWhen.js.map"
  },
  {
    "__docId__": 68,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/catch.js",
    "memberof": null,
    "longname": "es6/add/operator/catch.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { _catch } from '../../operator/catch';\nObservable.prototype.catch = _catch;\nObservable.prototype._catch = _catch;\n//# sourceMappingURL=catch.js.map"
  },
  {
    "__docId__": 69,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/combineAll.js",
    "memberof": null,
    "longname": "es6/add/operator/combineAll.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { combineAll } from '../../operator/combineAll';\nObservable.prototype.combineAll = combineAll;\n//# sourceMappingURL=combineAll.js.map"
  },
  {
    "__docId__": 70,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/combineLatest.js",
    "memberof": null,
    "longname": "es6/add/operator/combineLatest.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { combineLatest } from '../../operator/combineLatest';\nObservable.prototype.combineLatest = combineLatest;\n//# sourceMappingURL=combineLatest.js.map"
  },
  {
    "__docId__": 71,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/concat.js",
    "memberof": null,
    "longname": "es6/add/operator/concat.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { concat } from '../../operator/concat';\nObservable.prototype.concat = concat;\n//# sourceMappingURL=concat.js.map"
  },
  {
    "__docId__": 72,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/concatAll.js",
    "memberof": null,
    "longname": "es6/add/operator/concatAll.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { concatAll } from '../../operator/concatAll';\nObservable.prototype.concatAll = concatAll;\n//# sourceMappingURL=concatAll.js.map"
  },
  {
    "__docId__": 73,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/concatMap.js",
    "memberof": null,
    "longname": "es6/add/operator/concatMap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { concatMap } from '../../operator/concatMap';\nObservable.prototype.concatMap = concatMap;\n//# sourceMappingURL=concatMap.js.map"
  },
  {
    "__docId__": 74,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/concatMapTo.js",
    "memberof": null,
    "longname": "es6/add/operator/concatMapTo.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { concatMapTo } from '../../operator/concatMapTo';\nObservable.prototype.concatMapTo = concatMapTo;\n//# sourceMappingURL=concatMapTo.js.map"
  },
  {
    "__docId__": 75,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/count.js",
    "memberof": null,
    "longname": "es6/add/operator/count.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { count } from '../../operator/count';\nObservable.prototype.count = count;\n//# sourceMappingURL=count.js.map"
  },
  {
    "__docId__": 76,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/debounce.js",
    "memberof": null,
    "longname": "es6/add/operator/debounce.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { debounce } from '../../operator/debounce';\nObservable.prototype.debounce = debounce;\n//# sourceMappingURL=debounce.js.map"
  },
  {
    "__docId__": 77,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/debounceTime.js",
    "memberof": null,
    "longname": "es6/add/operator/debounceTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { debounceTime } from '../../operator/debounceTime';\nObservable.prototype.debounceTime = debounceTime;\n//# sourceMappingURL=debounceTime.js.map"
  },
  {
    "__docId__": 78,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/defaultIfEmpty.js",
    "memberof": null,
    "longname": "es6/add/operator/defaultIfEmpty.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { defaultIfEmpty } from '../../operator/defaultIfEmpty';\nObservable.prototype.defaultIfEmpty = defaultIfEmpty;\n//# sourceMappingURL=defaultIfEmpty.js.map"
  },
  {
    "__docId__": 79,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/delay.js",
    "memberof": null,
    "longname": "es6/add/operator/delay.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { delay } from '../../operator/delay';\nObservable.prototype.delay = delay;\n//# sourceMappingURL=delay.js.map"
  },
  {
    "__docId__": 80,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/delayWhen.js",
    "memberof": null,
    "longname": "es6/add/operator/delayWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { delayWhen } from '../../operator/delayWhen';\nObservable.prototype.delayWhen = delayWhen;\n//# sourceMappingURL=delayWhen.js.map"
  },
  {
    "__docId__": 81,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/dematerialize.js",
    "memberof": null,
    "longname": "es6/add/operator/dematerialize.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { dematerialize } from '../../operator/dematerialize';\nObservable.prototype.dematerialize = dematerialize;\n//# sourceMappingURL=dematerialize.js.map"
  },
  {
    "__docId__": 82,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/distinct.js",
    "memberof": null,
    "longname": "es6/add/operator/distinct.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { distinct } from '../../operator/distinct';\nObservable.prototype.distinct = distinct;\n//# sourceMappingURL=distinct.js.map"
  },
  {
    "__docId__": 83,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/distinctUntilChanged.js",
    "memberof": null,
    "longname": "es6/add/operator/distinctUntilChanged.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { distinctUntilChanged } from '../../operator/distinctUntilChanged';\nObservable.prototype.distinctUntilChanged = distinctUntilChanged;\n//# sourceMappingURL=distinctUntilChanged.js.map"
  },
  {
    "__docId__": 84,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/distinctUntilKeyChanged.js",
    "memberof": null,
    "longname": "es6/add/operator/distinctUntilKeyChanged.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { distinctUntilKeyChanged } from '../../operator/distinctUntilKeyChanged';\nObservable.prototype.distinctUntilKeyChanged = distinctUntilKeyChanged;\n//# sourceMappingURL=distinctUntilKeyChanged.js.map"
  },
  {
    "__docId__": 85,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/do.js",
    "memberof": null,
    "longname": "es6/add/operator/do.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { _do } from '../../operator/do';\nObservable.prototype.do = _do;\nObservable.prototype._do = _do;\n//# sourceMappingURL=do.js.map"
  },
  {
    "__docId__": 86,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/elementAt.js",
    "memberof": null,
    "longname": "es6/add/operator/elementAt.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { elementAt } from '../../operator/elementAt';\nObservable.prototype.elementAt = elementAt;\n//# sourceMappingURL=elementAt.js.map"
  },
  {
    "__docId__": 87,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/every.js",
    "memberof": null,
    "longname": "es6/add/operator/every.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { every } from '../../operator/every';\nObservable.prototype.every = every;\n//# sourceMappingURL=every.js.map"
  },
  {
    "__docId__": 88,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/exhaust.js",
    "memberof": null,
    "longname": "es6/add/operator/exhaust.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { exhaust } from '../../operator/exhaust';\nObservable.prototype.exhaust = exhaust;\n//# sourceMappingURL=exhaust.js.map"
  },
  {
    "__docId__": 89,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/exhaustMap.js",
    "memberof": null,
    "longname": "es6/add/operator/exhaustMap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { exhaustMap } from '../../operator/exhaustMap';\nObservable.prototype.exhaustMap = exhaustMap;\n//# sourceMappingURL=exhaustMap.js.map"
  },
  {
    "__docId__": 90,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/expand.js",
    "memberof": null,
    "longname": "es6/add/operator/expand.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { expand } from '../../operator/expand';\nObservable.prototype.expand = expand;\n//# sourceMappingURL=expand.js.map"
  },
  {
    "__docId__": 91,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/filter.js",
    "memberof": null,
    "longname": "es6/add/operator/filter.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { filter } from '../../operator/filter';\nObservable.prototype.filter = filter;\n//# sourceMappingURL=filter.js.map"
  },
  {
    "__docId__": 92,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/finally.js",
    "memberof": null,
    "longname": "es6/add/operator/finally.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { _finally } from '../../operator/finally';\nObservable.prototype.finally = _finally;\nObservable.prototype._finally = _finally;\n//# sourceMappingURL=finally.js.map"
  },
  {
    "__docId__": 93,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/find.js",
    "memberof": null,
    "longname": "es6/add/operator/find.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { find } from '../../operator/find';\nObservable.prototype.find = find;\n//# sourceMappingURL=find.js.map"
  },
  {
    "__docId__": 94,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/findIndex.js",
    "memberof": null,
    "longname": "es6/add/operator/findIndex.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { findIndex } from '../../operator/findIndex';\nObservable.prototype.findIndex = findIndex;\n//# sourceMappingURL=findIndex.js.map"
  },
  {
    "__docId__": 95,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/first.js",
    "memberof": null,
    "longname": "es6/add/operator/first.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { first } from '../../operator/first';\nObservable.prototype.first = first;\n//# sourceMappingURL=first.js.map"
  },
  {
    "__docId__": 96,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/groupBy.js",
    "memberof": null,
    "longname": "es6/add/operator/groupBy.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { groupBy } from '../../operator/groupBy';\nObservable.prototype.groupBy = groupBy;\n//# sourceMappingURL=groupBy.js.map"
  },
  {
    "__docId__": 97,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/ignoreElements.js",
    "memberof": null,
    "longname": "es6/add/operator/ignoreElements.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { ignoreElements } from '../../operator/ignoreElements';\nObservable.prototype.ignoreElements = ignoreElements;\n//# sourceMappingURL=ignoreElements.js.map"
  },
  {
    "__docId__": 98,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/isEmpty.js",
    "memberof": null,
    "longname": "es6/add/operator/isEmpty.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { isEmpty } from '../../operator/isEmpty';\nObservable.prototype.isEmpty = isEmpty;\n//# sourceMappingURL=isEmpty.js.map"
  },
  {
    "__docId__": 99,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/last.js",
    "memberof": null,
    "longname": "es6/add/operator/last.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { last } from '../../operator/last';\nObservable.prototype.last = last;\n//# sourceMappingURL=last.js.map"
  },
  {
    "__docId__": 100,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/let.js",
    "memberof": null,
    "longname": "es6/add/operator/let.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { letProto } from '../../operator/let';\nObservable.prototype.let = letProto;\nObservable.prototype.letBind = letProto;\n//# sourceMappingURL=let.js.map"
  },
  {
    "__docId__": 101,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/map.js",
    "memberof": null,
    "longname": "es6/add/operator/map.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { map } from '../../operator/map';\nObservable.prototype.map = map;\n//# sourceMappingURL=map.js.map"
  },
  {
    "__docId__": 102,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/mapTo.js",
    "memberof": null,
    "longname": "es6/add/operator/mapTo.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { mapTo } from '../../operator/mapTo';\nObservable.prototype.mapTo = mapTo;\n//# sourceMappingURL=mapTo.js.map"
  },
  {
    "__docId__": 103,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/materialize.js",
    "memberof": null,
    "longname": "es6/add/operator/materialize.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { materialize } from '../../operator/materialize';\nObservable.prototype.materialize = materialize;\n//# sourceMappingURL=materialize.js.map"
  },
  {
    "__docId__": 104,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/max.js",
    "memberof": null,
    "longname": "es6/add/operator/max.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { max } from '../../operator/max';\nObservable.prototype.max = max;\n//# sourceMappingURL=max.js.map"
  },
  {
    "__docId__": 105,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/merge.js",
    "memberof": null,
    "longname": "es6/add/operator/merge.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { merge } from '../../operator/merge';\nObservable.prototype.merge = merge;\n//# sourceMappingURL=merge.js.map"
  },
  {
    "__docId__": 106,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/mergeAll.js",
    "memberof": null,
    "longname": "es6/add/operator/mergeAll.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { mergeAll } from '../../operator/mergeAll';\nObservable.prototype.mergeAll = mergeAll;\n//# sourceMappingURL=mergeAll.js.map"
  },
  {
    "__docId__": 107,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/mergeMap.js",
    "memberof": null,
    "longname": "es6/add/operator/mergeMap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { mergeMap } from '../../operator/mergeMap';\nObservable.prototype.mergeMap = mergeMap;\nObservable.prototype.flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map"
  },
  {
    "__docId__": 108,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/mergeMapTo.js",
    "memberof": null,
    "longname": "es6/add/operator/mergeMapTo.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { mergeMapTo } from '../../operator/mergeMapTo';\nObservable.prototype.flatMapTo = mergeMapTo;\nObservable.prototype.mergeMapTo = mergeMapTo;\n//# sourceMappingURL=mergeMapTo.js.map"
  },
  {
    "__docId__": 109,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/mergeScan.js",
    "memberof": null,
    "longname": "es6/add/operator/mergeScan.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { mergeScan } from '../../operator/mergeScan';\nObservable.prototype.mergeScan = mergeScan;\n//# sourceMappingURL=mergeScan.js.map"
  },
  {
    "__docId__": 110,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/min.js",
    "memberof": null,
    "longname": "es6/add/operator/min.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { min } from '../../operator/min';\nObservable.prototype.min = min;\n//# sourceMappingURL=min.js.map"
  },
  {
    "__docId__": 111,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/multicast.js",
    "memberof": null,
    "longname": "es6/add/operator/multicast.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { multicast } from '../../operator/multicast';\nObservable.prototype.multicast = multicast;\n//# sourceMappingURL=multicast.js.map"
  },
  {
    "__docId__": 112,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/observeOn.js",
    "memberof": null,
    "longname": "es6/add/operator/observeOn.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { observeOn } from '../../operator/observeOn';\nObservable.prototype.observeOn = observeOn;\n//# sourceMappingURL=observeOn.js.map"
  },
  {
    "__docId__": 113,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/onErrorResumeNext.js",
    "memberof": null,
    "longname": "es6/add/operator/onErrorResumeNext.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { onErrorResumeNext } from '../../operator/onErrorResumeNext';\nObservable.prototype.onErrorResumeNext = onErrorResumeNext;\n//# sourceMappingURL=onErrorResumeNext.js.map"
  },
  {
    "__docId__": 114,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/pairwise.js",
    "memberof": null,
    "longname": "es6/add/operator/pairwise.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { pairwise } from '../../operator/pairwise';\nObservable.prototype.pairwise = pairwise;\n//# sourceMappingURL=pairwise.js.map"
  },
  {
    "__docId__": 115,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/partition.js",
    "memberof": null,
    "longname": "es6/add/operator/partition.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { partition } from '../../operator/partition';\nObservable.prototype.partition = partition;\n//# sourceMappingURL=partition.js.map"
  },
  {
    "__docId__": 116,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/pluck.js",
    "memberof": null,
    "longname": "es6/add/operator/pluck.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { pluck } from '../../operator/pluck';\nObservable.prototype.pluck = pluck;\n//# sourceMappingURL=pluck.js.map"
  },
  {
    "__docId__": 117,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/publish.js",
    "memberof": null,
    "longname": "es6/add/operator/publish.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { publish } from '../../operator/publish';\nObservable.prototype.publish = publish;\n//# sourceMappingURL=publish.js.map"
  },
  {
    "__docId__": 118,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/publishBehavior.js",
    "memberof": null,
    "longname": "es6/add/operator/publishBehavior.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { publishBehavior } from '../../operator/publishBehavior';\nObservable.prototype.publishBehavior = publishBehavior;\n//# sourceMappingURL=publishBehavior.js.map"
  },
  {
    "__docId__": 119,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/publishLast.js",
    "memberof": null,
    "longname": "es6/add/operator/publishLast.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { publishLast } from '../../operator/publishLast';\nObservable.prototype.publishLast = publishLast;\n//# sourceMappingURL=publishLast.js.map"
  },
  {
    "__docId__": 120,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/publishReplay.js",
    "memberof": null,
    "longname": "es6/add/operator/publishReplay.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { publishReplay } from '../../operator/publishReplay';\nObservable.prototype.publishReplay = publishReplay;\n//# sourceMappingURL=publishReplay.js.map"
  },
  {
    "__docId__": 121,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/race.js",
    "memberof": null,
    "longname": "es6/add/operator/race.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { race } from '../../operator/race';\nObservable.prototype.race = race;\n//# sourceMappingURL=race.js.map"
  },
  {
    "__docId__": 122,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/reduce.js",
    "memberof": null,
    "longname": "es6/add/operator/reduce.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { reduce } from '../../operator/reduce';\nObservable.prototype.reduce = reduce;\n//# sourceMappingURL=reduce.js.map"
  },
  {
    "__docId__": 123,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/repeat.js",
    "memberof": null,
    "longname": "es6/add/operator/repeat.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { repeat } from '../../operator/repeat';\nObservable.prototype.repeat = repeat;\n//# sourceMappingURL=repeat.js.map"
  },
  {
    "__docId__": 124,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/repeatWhen.js",
    "memberof": null,
    "longname": "es6/add/operator/repeatWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { repeatWhen } from '../../operator/repeatWhen';\nObservable.prototype.repeatWhen = repeatWhen;\n//# sourceMappingURL=repeatWhen.js.map"
  },
  {
    "__docId__": 125,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/retry.js",
    "memberof": null,
    "longname": "es6/add/operator/retry.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { retry } from '../../operator/retry';\nObservable.prototype.retry = retry;\n//# sourceMappingURL=retry.js.map"
  },
  {
    "__docId__": 126,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/retryWhen.js",
    "memberof": null,
    "longname": "es6/add/operator/retryWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { retryWhen } from '../../operator/retryWhen';\nObservable.prototype.retryWhen = retryWhen;\n//# sourceMappingURL=retryWhen.js.map"
  },
  {
    "__docId__": 127,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/sample.js",
    "memberof": null,
    "longname": "es6/add/operator/sample.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { sample } from '../../operator/sample';\nObservable.prototype.sample = sample;\n//# sourceMappingURL=sample.js.map"
  },
  {
    "__docId__": 128,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/sampleTime.js",
    "memberof": null,
    "longname": "es6/add/operator/sampleTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { sampleTime } from '../../operator/sampleTime';\nObservable.prototype.sampleTime = sampleTime;\n//# sourceMappingURL=sampleTime.js.map"
  },
  {
    "__docId__": 129,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/scan.js",
    "memberof": null,
    "longname": "es6/add/operator/scan.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { scan } from '../../operator/scan';\nObservable.prototype.scan = scan;\n//# sourceMappingURL=scan.js.map"
  },
  {
    "__docId__": 130,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/sequenceEqual.js",
    "memberof": null,
    "longname": "es6/add/operator/sequenceEqual.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { sequenceEqual } from '../../operator/sequenceEqual';\nObservable.prototype.sequenceEqual = sequenceEqual;\n//# sourceMappingURL=sequenceEqual.js.map"
  },
  {
    "__docId__": 131,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/share.js",
    "memberof": null,
    "longname": "es6/add/operator/share.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { share } from '../../operator/share';\nObservable.prototype.share = share;\n//# sourceMappingURL=share.js.map"
  },
  {
    "__docId__": 132,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/single.js",
    "memberof": null,
    "longname": "es6/add/operator/single.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { single } from '../../operator/single';\nObservable.prototype.single = single;\n//# sourceMappingURL=single.js.map"
  },
  {
    "__docId__": 133,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/skip.js",
    "memberof": null,
    "longname": "es6/add/operator/skip.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { skip } from '../../operator/skip';\nObservable.prototype.skip = skip;\n//# sourceMappingURL=skip.js.map"
  },
  {
    "__docId__": 134,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/skipUntil.js",
    "memberof": null,
    "longname": "es6/add/operator/skipUntil.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { skipUntil } from '../../operator/skipUntil';\nObservable.prototype.skipUntil = skipUntil;\n//# sourceMappingURL=skipUntil.js.map"
  },
  {
    "__docId__": 135,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/skipWhile.js",
    "memberof": null,
    "longname": "es6/add/operator/skipWhile.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { skipWhile } from '../../operator/skipWhile';\nObservable.prototype.skipWhile = skipWhile;\n//# sourceMappingURL=skipWhile.js.map"
  },
  {
    "__docId__": 136,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/startWith.js",
    "memberof": null,
    "longname": "es6/add/operator/startWith.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { startWith } from '../../operator/startWith';\nObservable.prototype.startWith = startWith;\n//# sourceMappingURL=startWith.js.map"
  },
  {
    "__docId__": 137,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/subscribeOn.js",
    "memberof": null,
    "longname": "es6/add/operator/subscribeOn.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { subscribeOn } from '../../operator/subscribeOn';\nObservable.prototype.subscribeOn = subscribeOn;\n//# sourceMappingURL=subscribeOn.js.map"
  },
  {
    "__docId__": 138,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/switch.js",
    "memberof": null,
    "longname": "es6/add/operator/switch.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { _switch } from '../../operator/switch';\nObservable.prototype.switch = _switch;\nObservable.prototype._switch = _switch;\n//# sourceMappingURL=switch.js.map"
  },
  {
    "__docId__": 139,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/switchMap.js",
    "memberof": null,
    "longname": "es6/add/operator/switchMap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { switchMap } from '../../operator/switchMap';\nObservable.prototype.switchMap = switchMap;\n//# sourceMappingURL=switchMap.js.map"
  },
  {
    "__docId__": 140,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/switchMapTo.js",
    "memberof": null,
    "longname": "es6/add/operator/switchMapTo.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { switchMapTo } from '../../operator/switchMapTo';\nObservable.prototype.switchMapTo = switchMapTo;\n//# sourceMappingURL=switchMapTo.js.map"
  },
  {
    "__docId__": 141,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/take.js",
    "memberof": null,
    "longname": "es6/add/operator/take.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { take } from '../../operator/take';\nObservable.prototype.take = take;\n//# sourceMappingURL=take.js.map"
  },
  {
    "__docId__": 142,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/takeLast.js",
    "memberof": null,
    "longname": "es6/add/operator/takeLast.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { takeLast } from '../../operator/takeLast';\nObservable.prototype.takeLast = takeLast;\n//# sourceMappingURL=takeLast.js.map"
  },
  {
    "__docId__": 143,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/takeUntil.js",
    "memberof": null,
    "longname": "es6/add/operator/takeUntil.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { takeUntil } from '../../operator/takeUntil';\nObservable.prototype.takeUntil = takeUntil;\n//# sourceMappingURL=takeUntil.js.map"
  },
  {
    "__docId__": 144,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/takeWhile.js",
    "memberof": null,
    "longname": "es6/add/operator/takeWhile.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { takeWhile } from '../../operator/takeWhile';\nObservable.prototype.takeWhile = takeWhile;\n//# sourceMappingURL=takeWhile.js.map"
  },
  {
    "__docId__": 145,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/throttle.js",
    "memberof": null,
    "longname": "es6/add/operator/throttle.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { throttle } from '../../operator/throttle';\nObservable.prototype.throttle = throttle;\n//# sourceMappingURL=throttle.js.map"
  },
  {
    "__docId__": 146,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/throttleTime.js",
    "memberof": null,
    "longname": "es6/add/operator/throttleTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { throttleTime } from '../../operator/throttleTime';\nObservable.prototype.throttleTime = throttleTime;\n//# sourceMappingURL=throttleTime.js.map"
  },
  {
    "__docId__": 147,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/timeInterval.js",
    "memberof": null,
    "longname": "es6/add/operator/timeInterval.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { timeInterval } from '../../operator/timeInterval';\nObservable.prototype.timeInterval = timeInterval;\n//# sourceMappingURL=timeInterval.js.map"
  },
  {
    "__docId__": 148,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/timeout.js",
    "memberof": null,
    "longname": "es6/add/operator/timeout.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { timeout } from '../../operator/timeout';\nObservable.prototype.timeout = timeout;\n//# sourceMappingURL=timeout.js.map"
  },
  {
    "__docId__": 149,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/timeoutWith.js",
    "memberof": null,
    "longname": "es6/add/operator/timeoutWith.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { timeoutWith } from '../../operator/timeoutWith';\nObservable.prototype.timeoutWith = timeoutWith;\n//# sourceMappingURL=timeoutWith.js.map"
  },
  {
    "__docId__": 150,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/timestamp.js",
    "memberof": null,
    "longname": "es6/add/operator/timestamp.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { timestamp } from '../../operator/timestamp';\nObservable.prototype.timestamp = timestamp;\n//# sourceMappingURL=timestamp.js.map"
  },
  {
    "__docId__": 151,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/toArray.js",
    "memberof": null,
    "longname": "es6/add/operator/toArray.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { toArray } from '../../operator/toArray';\nObservable.prototype.toArray = toArray;\n//# sourceMappingURL=toArray.js.map"
  },
  {
    "__docId__": 152,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/toPromise.js",
    "memberof": null,
    "longname": "es6/add/operator/toPromise.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { toPromise } from '../../operator/toPromise';\nObservable.prototype.toPromise = toPromise;\n//# sourceMappingURL=toPromise.js.map"
  },
  {
    "__docId__": 153,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/window.js",
    "memberof": null,
    "longname": "es6/add/operator/window.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { window } from '../../operator/window';\nObservable.prototype.window = window;\n//# sourceMappingURL=window.js.map"
  },
  {
    "__docId__": 154,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/windowCount.js",
    "memberof": null,
    "longname": "es6/add/operator/windowCount.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { windowCount } from '../../operator/windowCount';\nObservable.prototype.windowCount = windowCount;\n//# sourceMappingURL=windowCount.js.map"
  },
  {
    "__docId__": 155,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/windowTime.js",
    "memberof": null,
    "longname": "es6/add/operator/windowTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { windowTime } from '../../operator/windowTime';\nObservable.prototype.windowTime = windowTime;\n//# sourceMappingURL=windowTime.js.map"
  },
  {
    "__docId__": 156,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/windowToggle.js",
    "memberof": null,
    "longname": "es6/add/operator/windowToggle.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { windowToggle } from '../../operator/windowToggle';\nObservable.prototype.windowToggle = windowToggle;\n//# sourceMappingURL=windowToggle.js.map"
  },
  {
    "__docId__": 157,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/windowWhen.js",
    "memberof": null,
    "longname": "es6/add/operator/windowWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { windowWhen } from '../../operator/windowWhen';\nObservable.prototype.windowWhen = windowWhen;\n//# sourceMappingURL=windowWhen.js.map"
  },
  {
    "__docId__": 158,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/withLatestFrom.js",
    "memberof": null,
    "longname": "es6/add/operator/withLatestFrom.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { withLatestFrom } from '../../operator/withLatestFrom';\nObservable.prototype.withLatestFrom = withLatestFrom;\n//# sourceMappingURL=withLatestFrom.js.map"
  },
  {
    "__docId__": 159,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/zip.js",
    "memberof": null,
    "longname": "es6/add/operator/zip.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { zipProto } from '../../operator/zip';\nObservable.prototype.zip = zipProto;\n//# sourceMappingURL=zip.js.map"
  },
  {
    "__docId__": 160,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/add/operator/zipAll.js",
    "memberof": null,
    "longname": "es6/add/operator/zipAll.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../../Observable';\nimport { zipAll } from '../../operator/zipAll';\nObservable.prototype.zipAll = zipAll;\n//# sourceMappingURL=zipAll.js.map"
  },
  {
    "__docId__": 161,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/ArrayLikeObservable.js",
    "memberof": null,
    "longname": "es6/observable/ArrayLikeObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { ScalarObservable } from './ScalarObservable';\nimport { EmptyObservable } from './EmptyObservable';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var ArrayLikeObservable = (function (_super) {\n    __extends(ArrayLikeObservable, _super);\n    function ArrayLikeObservable(arrayLike, scheduler) {\n        _super.call(this);\n        this.arrayLike = arrayLike;\n        this.scheduler = scheduler;\n        if (!scheduler && arrayLike.length === 1) {\n            this._isScalar = true;\n            this.value = arrayLike[0];\n        }\n    }\n    ArrayLikeObservable.create = function (arrayLike, scheduler) {\n        var length = arrayLike.length;\n        if (length === 0) {\n            return new EmptyObservable();\n        }\n        else if (length === 1) {\n            return new ScalarObservable(arrayLike[0], scheduler);\n        }\n        else {\n            return new ArrayLikeObservable(arrayLike, scheduler);\n        }\n    };\n    ArrayLikeObservable.dispatch = function (state) {\n        var arrayLike = state.arrayLike, index = state.index, length = state.length, subscriber = state.subscriber;\n        if (subscriber.closed) {\n            return;\n        }\n        if (index >= length) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(arrayLike[index]);\n        state.index = index + 1;\n        this.schedule(state);\n    };\n    ArrayLikeObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var _a = this, arrayLike = _a.arrayLike, scheduler = _a.scheduler;\n        var length = arrayLike.length;\n        if (scheduler) {\n            return scheduler.schedule(ArrayLikeObservable.dispatch, 0, {\n                arrayLike: arrayLike, index: index, length: length, subscriber: subscriber\n            });\n        }\n        else {\n            for (var i = 0; i < length && !subscriber.closed; i++) {\n                subscriber.next(arrayLike[i]);\n            }\n            subscriber.complete();\n        }\n    };\n    return ArrayLikeObservable;\n}(Observable));\n//# sourceMappingURL=ArrayLikeObservable.js.map"
  },
  {
    "__docId__": 162,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ArrayLikeObservable",
    "memberof": "es6/observable/ArrayLikeObservable.js",
    "longname": "es6/observable/ArrayLikeObservable.js~ArrayLikeObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/ArrayLikeObservable.js",
    "importStyle": "{ArrayLikeObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 163,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/ArrayObservable.js",
    "memberof": null,
    "longname": "es6/observable/ArrayObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { ScalarObservable } from './ScalarObservable';\nimport { EmptyObservable } from './EmptyObservable';\nimport { isScheduler } from '../util/isScheduler';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var ArrayObservable = (function (_super) {\n    __extends(ArrayObservable, _super);\n    function ArrayObservable(array, scheduler) {\n        _super.call(this);\n        this.array = array;\n        this.scheduler = scheduler;\n        if (!scheduler && array.length === 1) {\n            this._isScalar = true;\n            this.value = array[0];\n        }\n    }\n    ArrayObservable.create = function (array, scheduler) {\n        return new ArrayObservable(array, scheduler);\n    };\n    /**\n     * Creates an Observable that emits some values you specify as arguments,\n     * immediately one after the other, and then emits a complete notification.\n     *\n     * <span class=\"informal\">Emits the arguments you provide, then completes.\n     * </span>\n     *\n     * <img src=\"./img/of.png\" width=\"100%\">\n     *\n     * This static operator is useful for creating a simple Observable that only\n     * emits the arguments given, and the complete notification thereafter. It can\n     * be used for composing with other Observables, such as with {@link concat}.\n     * By default, it uses a `null` Scheduler, which means the `next`\n     * notifications are sent synchronously, although with a different Scheduler\n     * it is possible to determine when those notifications will be delivered.\n     *\n     * @example <caption>Emit 10, 20, 30, then 'a', 'b', 'c', then start ticking every second.</caption>\n     * var numbers = Rx.Observable.of(10, 20, 30);\n     * var letters = Rx.Observable.of('a', 'b', 'c');\n     * var interval = Rx.Observable.interval(1000);\n     * var result = numbers.concat(letters).concat(interval);\n     * result.subscribe(x => console.log(x));\n     *\n     * @see {@link create}\n     * @see {@link empty}\n     * @see {@link never}\n     * @see {@link throw}\n     *\n     * @param {...T} values Arguments that represent `next` values to be emitted.\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\n     * the emissions of the `next` notifications.\n     * @return {Observable<T>} An Observable that emits each given input value.\n     * @static true\n     * @name of\n     * @owner Observable\n     */\n    ArrayObservable.of = function () {\n        var array = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            array[_i - 0] = arguments[_i];\n        }\n        var scheduler = array[array.length - 1];\n        if (isScheduler(scheduler)) {\n            array.pop();\n        }\n        else {\n            scheduler = null;\n        }\n        var len = array.length;\n        if (len > 1) {\n            return new ArrayObservable(array, scheduler);\n        }\n        else if (len === 1) {\n            return new ScalarObservable(array[0], scheduler);\n        }\n        else {\n            return new EmptyObservable(scheduler);\n        }\n    };\n    ArrayObservable.dispatch = function (state) {\n        var array = state.array, index = state.index, count = state.count, subscriber = state.subscriber;\n        if (index >= count) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(array[index]);\n        if (subscriber.closed) {\n            return;\n        }\n        state.index = index + 1;\n        this.schedule(state);\n    };\n    ArrayObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var array = this.array;\n        var count = array.length;\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(ArrayObservable.dispatch, 0, {\n                array: array, index: index, count: count, subscriber: subscriber\n            });\n        }\n        else {\n            for (var i = 0; i < count && !subscriber.closed; i++) {\n                subscriber.next(array[i]);\n            }\n            subscriber.complete();\n        }\n    };\n    return ArrayObservable;\n}(Observable));\n//# sourceMappingURL=ArrayObservable.js.map"
  },
  {
    "__docId__": 164,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ArrayObservable",
    "memberof": "es6/observable/ArrayObservable.js",
    "longname": "es6/observable/ArrayObservable.js~ArrayObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/ArrayObservable.js",
    "importStyle": "{ArrayObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 165,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/BoundCallbackObservable.js",
    "memberof": null,
    "longname": "es6/observable/BoundCallbackObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { AsyncSubject } from '../AsyncSubject';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var BoundCallbackObservable = (function (_super) {\n    __extends(BoundCallbackObservable, _super);\n    function BoundCallbackObservable(callbackFunc, selector, args, scheduler) {\n        _super.call(this);\n        this.callbackFunc = callbackFunc;\n        this.selector = selector;\n        this.args = args;\n        this.scheduler = scheduler;\n    }\n    /* tslint:enable:max-line-length */\n    /**\n     * Converts a callback API to a function that returns an Observable.\n     *\n     * <span class=\"informal\">Give it a function `f` of type `f(x, callback)` and\n     * it will return a function `g` that when called as `g(x)` will output an\n     * Observable.</span>\n     *\n     * `bindCallback` is not an operator because its input and output are not\n     * Observables. The input is a function `func` with some parameters, but the\n     * last parameter must be a callback function that `func` calls when it is\n     * done. The output of `bindCallback` is a function that takes the same\n     * parameters as `func`, except the last one (the callback). When the output\n     * function is called with arguments, it will return an Observable where the\n     * results will be delivered to.\n     *\n     * @example <caption>Convert jQuery's getJSON to an Observable API</caption>\n     * // Suppose we have jQuery.getJSON('/my/url', callback)\n     * var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON);\n     * var result = getJSONAsObservable('/my/url');\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindNodeCallback}\n     * @see {@link from}\n     * @see {@link fromPromise}\n     *\n     * @param {function} func Function with a callback as the last parameter.\n     * @param {function} [selector] A function which takes the arguments from the\n     * callback and maps those a value to emit on the output Observable.\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n     * callbacks.\n     * @return {function(...params: *): Observable} A function which returns the\n     * Observable that delivers the same values the callback would deliver.\n     * @static true\n     * @name bindCallback\n     * @owner Observable\n     */\n    BoundCallbackObservable.create = function (func, selector, scheduler) {\n        if (selector === void 0) { selector = undefined; }\n        return function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i - 0] = arguments[_i];\n            }\n            return new BoundCallbackObservable(func, selector, args, scheduler);\n        };\n    };\n    BoundCallbackObservable.prototype._subscribe = function (subscriber) {\n        var callbackFunc = this.callbackFunc;\n        var args = this.args;\n        var scheduler = this.scheduler;\n        var subject = this.subject;\n        if (!scheduler) {\n            if (!subject) {\n                subject = this.subject = new AsyncSubject();\n                var handler = function handlerFn() {\n                    var innerArgs = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        innerArgs[_i - 0] = arguments[_i];\n                    }\n                    var source = handlerFn.source;\n                    var selector = source.selector, subject = source.subject;\n                    if (selector) {\n                        var result_1 = tryCatch(selector).apply(this, innerArgs);\n                        if (result_1 === errorObject) {\n                            subject.error(errorObject.e);\n                        }\n                        else {\n                            subject.next(result_1);\n                            subject.complete();\n                        }\n                    }\n                    else {\n                        subject.next(innerArgs.length === 1 ? innerArgs[0] : innerArgs);\n                        subject.complete();\n                    }\n                };\n                // use named function instance to avoid closure.\n                handler.source = this;\n                var result = tryCatch(callbackFunc).apply(this, args.concat(handler));\n                if (result === errorObject) {\n                    subject.error(errorObject.e);\n                }\n            }\n            return subject.subscribe(subscriber);\n        }\n        else {\n            return scheduler.schedule(BoundCallbackObservable.dispatch, 0, { source: this, subscriber: subscriber });\n        }\n    };\n    BoundCallbackObservable.dispatch = function (state) {\n        var self = this;\n        var source = state.source, subscriber = state.subscriber;\n        var callbackFunc = source.callbackFunc, args = source.args, scheduler = source.scheduler;\n        var subject = source.subject;\n        if (!subject) {\n            subject = source.subject = new AsyncSubject();\n            var handler = function handlerFn() {\n                var innerArgs = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    innerArgs[_i - 0] = arguments[_i];\n                }\n                var source = handlerFn.source;\n                var selector = source.selector, subject = source.subject;\n                if (selector) {\n                    var result_2 = tryCatch(selector).apply(this, innerArgs);\n                    if (result_2 === errorObject) {\n                        self.add(scheduler.schedule(dispatchError, 0, { err: errorObject.e, subject: subject }));\n                    }\n                    else {\n                        self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));\n                    }\n                }\n                else {\n                    var value = innerArgs.length === 1 ? innerArgs[0] : innerArgs;\n                    self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n                }\n            };\n            // use named function to pass values in without closure\n            handler.source = source;\n            var result = tryCatch(callbackFunc).apply(this, args.concat(handler));\n            if (result === errorObject) {\n                subject.error(errorObject.e);\n            }\n        }\n        self.add(subject.subscribe(subscriber));\n    };\n    return BoundCallbackObservable;\n}(Observable));\nfunction dispatchNext(arg) {\n    var value = arg.value, subject = arg.subject;\n    subject.next(value);\n    subject.complete();\n}\nfunction dispatchError(arg) {\n    var err = arg.err, subject = arg.subject;\n    subject.error(err);\n}\n//# sourceMappingURL=BoundCallbackObservable.js.map"
  },
  {
    "__docId__": 166,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BoundCallbackObservable",
    "memberof": "es6/observable/BoundCallbackObservable.js",
    "longname": "es6/observable/BoundCallbackObservable.js~BoundCallbackObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/BoundCallbackObservable.js",
    "importStyle": "{BoundCallbackObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 167,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchNext",
    "memberof": "es6/observable/BoundCallbackObservable.js",
    "longname": "es6/observable/BoundCallbackObservable.js~dispatchNext",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/BoundCallbackObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 148,
    "undocument": true,
    "params": [
      {
        "name": "arg",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 168,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchError",
    "memberof": "es6/observable/BoundCallbackObservable.js",
    "longname": "es6/observable/BoundCallbackObservable.js~dispatchError",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/BoundCallbackObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 153,
    "undocument": true,
    "params": [
      {
        "name": "arg",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 169,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/BoundNodeCallbackObservable.js",
    "memberof": null,
    "longname": "es6/observable/BoundNodeCallbackObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { AsyncSubject } from '../AsyncSubject';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var BoundNodeCallbackObservable = (function (_super) {\n    __extends(BoundNodeCallbackObservable, _super);\n    function BoundNodeCallbackObservable(callbackFunc, selector, args, scheduler) {\n        _super.call(this);\n        this.callbackFunc = callbackFunc;\n        this.selector = selector;\n        this.args = args;\n        this.scheduler = scheduler;\n    }\n    /* tslint:enable:max-line-length */\n    /**\n     * Converts a Node.js-style callback API to a function that returns an\n     * Observable.\n     *\n     * <span class=\"informal\">It's just like {@link bindCallback}, but the\n     * callback is expected to be of type `callback(error, result)`.</span>\n     *\n     * `bindNodeCallback` is not an operator because its input and output are not\n     * Observables. The input is a function `func` with some parameters, but the\n     * last parameter must be a callback function that `func` calls when it is\n     * done. The callback function is expected to follow Node.js conventions,\n     * where the first argument to the callback is an error, while remaining\n     * arguments are the callback result. The output of `bindNodeCallback` is a\n     * function that takes the same parameters as `func`, except the last one (the\n     * callback). When the output function is called with arguments, it will\n     * return an Observable where the results will be delivered to.\n     *\n     * @example <caption>Read a file from the filesystem and get the data as an Observable</caption>\n     * import * as fs from 'fs';\n     * var readFileAsObservable = Rx.Observable.bindNodeCallback(fs.readFile);\n     * var result = readFileAsObservable('./roadNames.txt', 'utf8');\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindCallback}\n     * @see {@link from}\n     * @see {@link fromPromise}\n     *\n     * @param {function} func Function with a callback as the last parameter.\n     * @param {function} [selector] A function which takes the arguments from the\n     * callback and maps those a value to emit on the output Observable.\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n     * callbacks.\n     * @return {function(...params: *): Observable} A function which returns the\n     * Observable that delivers the same values the Node.js callback would\n     * deliver.\n     * @static true\n     * @name bindNodeCallback\n     * @owner Observable\n     */\n    BoundNodeCallbackObservable.create = function (func, selector, scheduler) {\n        if (selector === void 0) { selector = undefined; }\n        return function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i - 0] = arguments[_i];\n            }\n            return new BoundNodeCallbackObservable(func, selector, args, scheduler);\n        };\n    };\n    BoundNodeCallbackObservable.prototype._subscribe = function (subscriber) {\n        var callbackFunc = this.callbackFunc;\n        var args = this.args;\n        var scheduler = this.scheduler;\n        var subject = this.subject;\n        if (!scheduler) {\n            if (!subject) {\n                subject = this.subject = new AsyncSubject();\n                var handler = function handlerFn() {\n                    var innerArgs = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        innerArgs[_i - 0] = arguments[_i];\n                    }\n                    var source = handlerFn.source;\n                    var selector = source.selector, subject = source.subject;\n                    var err = innerArgs.shift();\n                    if (err) {\n                        subject.error(err);\n                    }\n                    else if (selector) {\n                        var result_1 = tryCatch(selector).apply(this, innerArgs);\n                        if (result_1 === errorObject) {\n                            subject.error(errorObject.e);\n                        }\n                        else {\n                            subject.next(result_1);\n                            subject.complete();\n                        }\n                    }\n                    else {\n                        subject.next(innerArgs.length === 1 ? innerArgs[0] : innerArgs);\n                        subject.complete();\n                    }\n                };\n                // use named function instance to avoid closure.\n                handler.source = this;\n                var result = tryCatch(callbackFunc).apply(this, args.concat(handler));\n                if (result === errorObject) {\n                    subject.error(errorObject.e);\n                }\n            }\n            return subject.subscribe(subscriber);\n        }\n        else {\n            return scheduler.schedule(dispatch, 0, { source: this, subscriber: subscriber });\n        }\n    };\n    return BoundNodeCallbackObservable;\n}(Observable));\nfunction dispatch(state) {\n    var self = this;\n    var source = state.source, subscriber = state.subscriber;\n    // XXX: cast to `any` to access to the private field in `source`.\n    var _a = source, callbackFunc = _a.callbackFunc, args = _a.args, scheduler = _a.scheduler;\n    var subject = source.subject;\n    if (!subject) {\n        subject = source.subject = new AsyncSubject();\n        var handler = function handlerFn() {\n            var innerArgs = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                innerArgs[_i - 0] = arguments[_i];\n            }\n            var source = handlerFn.source;\n            var selector = source.selector, subject = source.subject;\n            var err = innerArgs.shift();\n            if (err) {\n                subject.error(err);\n            }\n            else if (selector) {\n                var result_2 = tryCatch(selector).apply(this, innerArgs);\n                if (result_2 === errorObject) {\n                    self.add(scheduler.schedule(dispatchError, 0, { err: errorObject.e, subject: subject }));\n                }\n                else {\n                    self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));\n                }\n            }\n            else {\n                var value = innerArgs.length === 1 ? innerArgs[0] : innerArgs;\n                self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n            }\n        };\n        // use named function to pass values in without closure\n        handler.source = source;\n        var result = tryCatch(callbackFunc).apply(this, args.concat(handler));\n        if (result === errorObject) {\n            subject.error(errorObject.e);\n        }\n    }\n    self.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n    var value = arg.value, subject = arg.subject;\n    subject.next(value);\n    subject.complete();\n}\nfunction dispatchError(arg) {\n    var err = arg.err, subject = arg.subject;\n    subject.error(err);\n}\n//# sourceMappingURL=BoundNodeCallbackObservable.js.map"
  },
  {
    "__docId__": 170,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BoundNodeCallbackObservable",
    "memberof": "es6/observable/BoundNodeCallbackObservable.js",
    "longname": "es6/observable/BoundNodeCallbackObservable.js~BoundNodeCallbackObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/BoundNodeCallbackObservable.js",
    "importStyle": "{BoundNodeCallbackObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 171,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatch",
    "memberof": "es6/observable/BoundNodeCallbackObservable.js",
    "longname": "es6/observable/BoundNodeCallbackObservable.js~dispatch",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/BoundNodeCallbackObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 118,
    "undocument": true,
    "params": [
      {
        "name": "state",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 172,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchNext",
    "memberof": "es6/observable/BoundNodeCallbackObservable.js",
    "longname": "es6/observable/BoundNodeCallbackObservable.js~dispatchNext",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/BoundNodeCallbackObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 160,
    "undocument": true,
    "params": [
      {
        "name": "arg",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 173,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchError",
    "memberof": "es6/observable/BoundNodeCallbackObservable.js",
    "longname": "es6/observable/BoundNodeCallbackObservable.js~dispatchError",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/BoundNodeCallbackObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 165,
    "undocument": true,
    "params": [
      {
        "name": "arg",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 174,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/ConnectableObservable.js",
    "memberof": null,
    "longname": "es6/observable/ConnectableObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\n/**\n * @class ConnectableObservable<T>\n */\nexport var ConnectableObservable = (function (_super) {\n    __extends(ConnectableObservable, _super);\n    function ConnectableObservable(source, subjectFactory) {\n        _super.call(this);\n        this.source = source;\n        this.subjectFactory = subjectFactory;\n        this._refCount = 0;\n    }\n    ConnectableObservable.prototype._subscribe = function (subscriber) {\n        return this.getSubject().subscribe(subscriber);\n    };\n    ConnectableObservable.prototype.getSubject = function () {\n        var subject = this._subject;\n        if (!subject || subject.isStopped) {\n            this._subject = this.subjectFactory();\n        }\n        return this._subject;\n    };\n    ConnectableObservable.prototype.connect = function () {\n        var connection = this._connection;\n        if (!connection) {\n            connection = this._connection = new Subscription();\n            connection.add(this.source\n                .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n            if (connection.closed) {\n                this._connection = null;\n                connection = Subscription.EMPTY;\n            }\n            else {\n                this._connection = connection;\n            }\n        }\n        return connection;\n    };\n    ConnectableObservable.prototype.refCount = function () {\n        return this.lift(new RefCountOperator(this));\n    };\n    return ConnectableObservable;\n}(Observable));\nexport var connectableObservableDescriptor = {\n    operator: { value: null },\n    _refCount: { value: 0, writable: true },\n    _subscribe: { value: ConnectableObservable.prototype._subscribe },\n    getSubject: { value: ConnectableObservable.prototype.getSubject },\n    connect: { value: ConnectableObservable.prototype.connect },\n    refCount: { value: ConnectableObservable.prototype.refCount }\n};\nvar ConnectableSubscriber = (function (_super) {\n    __extends(ConnectableSubscriber, _super);\n    function ConnectableSubscriber(destination, connectable) {\n        _super.call(this, destination);\n        this.connectable = connectable;\n    }\n    ConnectableSubscriber.prototype._error = function (err) {\n        this._unsubscribe();\n        _super.prototype._error.call(this, err);\n    };\n    ConnectableSubscriber.prototype._complete = function () {\n        this._unsubscribe();\n        _super.prototype._complete.call(this);\n    };\n    ConnectableSubscriber.prototype._unsubscribe = function () {\n        var connectable = this.connectable;\n        if (connectable) {\n            this.connectable = null;\n            var connection = connectable._connection;\n            connectable._refCount = 0;\n            connectable._subject = null;\n            connectable._connection = null;\n            if (connection) {\n                connection.unsubscribe();\n            }\n        }\n    };\n    return ConnectableSubscriber;\n}(SubjectSubscriber));\nvar RefCountOperator = (function () {\n    function RefCountOperator(connectable) {\n        this.connectable = connectable;\n    }\n    RefCountOperator.prototype.call = function (subscriber, source) {\n        var connectable = this.connectable;\n        connectable._refCount++;\n        var refCounter = new RefCountSubscriber(subscriber, connectable);\n        var subscription = source._subscribe(refCounter);\n        if (!refCounter.closed) {\n            refCounter.connection = connectable.connect();\n        }\n        return subscription;\n    };\n    return RefCountOperator;\n}());\nvar RefCountSubscriber = (function (_super) {\n    __extends(RefCountSubscriber, _super);\n    function RefCountSubscriber(destination, connectable) {\n        _super.call(this, destination);\n        this.connectable = connectable;\n    }\n    RefCountSubscriber.prototype._unsubscribe = function () {\n        var connectable = this.connectable;\n        if (!connectable) {\n            this.connection = null;\n            return;\n        }\n        this.connectable = null;\n        var refCount = connectable._refCount;\n        if (refCount <= 0) {\n            this.connection = null;\n            return;\n        }\n        connectable._refCount = refCount - 1;\n        if (refCount > 1) {\n            this.connection = null;\n            return;\n        }\n        ///\n        // Compare the local RefCountSubscriber's connection Subscription to the\n        // connection Subscription on the shared ConnectableObservable. In cases\n        // where the ConnectableObservable source synchronously emits values, and\n        // the RefCountSubscriber's downstream Observers synchronously unsubscribe,\n        // execution continues to here before the RefCountOperator has a chance to\n        // supply the RefCountSubscriber with the shared connection Subscription.\n        // For example:\n        // ```\n        // Observable.range(0, 10)\n        //   .publish()\n        //   .refCount()\n        //   .take(5)\n        //   .subscribe();\n        // ```\n        // In order to account for this case, RefCountSubscriber should only dispose\n        // the ConnectableObservable's shared connection Subscription if the\n        // connection Subscription exists, *and* either:\n        //   a. RefCountSubscriber doesn't have a reference to the shared connection\n        //      Subscription yet, or,\n        //   b. RefCountSubscriber's connection Subscription reference is identical\n        //      to the shared connection Subscription\n        ///\n        var connection = this.connection;\n        var sharedConnection = connectable._connection;\n        this.connection = null;\n        if (sharedConnection && (!connection || sharedConnection === connection)) {\n            sharedConnection.unsubscribe();\n        }\n    };\n    return RefCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map"
  },
  {
    "__docId__": 175,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ConnectableObservable",
    "memberof": "es6/observable/ConnectableObservable.js",
    "longname": "es6/observable/ConnectableObservable.js~ConnectableObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/ConnectableObservable.js",
    "importStyle": "{ConnectableObservable}",
    "description": "",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "ConnectableObservable<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 176,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "connectableObservableDescriptor",
    "memberof": "es6/observable/ConnectableObservable.js",
    "longname": "es6/observable/ConnectableObservable.js~connectableObservableDescriptor",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/ConnectableObservable.js",
    "importStyle": "{connectableObservableDescriptor}",
    "description": null,
    "lineNumber": 47,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 177,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ConnectableSubscriber",
    "memberof": "es6/observable/ConnectableObservable.js",
    "longname": "es6/observable/ConnectableObservable.js~ConnectableSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/ConnectableObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 55,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 178,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RefCountOperator",
    "memberof": "es6/observable/ConnectableObservable.js",
    "longname": "es6/observable/ConnectableObservable.js~RefCountOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/ConnectableObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 84,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 179,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RefCountSubscriber",
    "memberof": "es6/observable/ConnectableObservable.js",
    "longname": "es6/observable/ConnectableObservable.js~RefCountSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/ConnectableObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 100,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 180,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/DeferObservable.js",
    "memberof": null,
    "longname": "es6/observable/DeferObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var DeferObservable = (function (_super) {\n    __extends(DeferObservable, _super);\n    function DeferObservable(observableFactory) {\n        _super.call(this);\n        this.observableFactory = observableFactory;\n    }\n    /**\n     * Creates an Observable that, on subscribe, calls an Observable factory to\n     * make an Observable for each new Observer.\n     *\n     * <span class=\"informal\">Creates the Observable lazily, that is, only when it\n     * is subscribed.\n     * </span>\n     *\n     * <img src=\"./img/defer.png\" width=\"100%\">\n     *\n     * `defer` allows you to create the Observable only when the Observer\n     * subscribes, and create a fresh Observable for each Observer. It waits until\n     * an Observer subscribes to it, and then it generates an Observable,\n     * typically with an Observable factory function. It does this afresh for each\n     * subscriber, so although each subscriber may think it is subscribing to the\n     * same Observable, in fact each subscriber gets its own individual\n     * Observable.\n     *\n     * @example <caption>Subscribe to either an Observable of clicks or an Observable of interval, at random</caption>\n     * var clicksOrInterval = Rx.Observable.defer(function () {\n     *   if (Math.random() > 0.5) {\n     *     return Rx.Observable.fromEvent(document, 'click');\n     *   } else {\n     *     return Rx.Observable.interval(1000);\n     *   }\n     * });\n     * clicksOrInterval.subscribe(x => console.log(x));\n     *\n     * @see {@link create}\n     *\n     * @param {function(): Observable|Promise} observableFactory The Observable\n     * factory function to invoke for each Observer that subscribes to the output\n     * Observable. May also return a Promise, which will be converted on the fly\n     * to an Observable.\n     * @return {Observable} An Observable whose Observers' subscriptions trigger\n     * an invocation of the given Observable factory function.\n     * @static true\n     * @name defer\n     * @owner Observable\n     */\n    DeferObservable.create = function (observableFactory) {\n        return new DeferObservable(observableFactory);\n    };\n    DeferObservable.prototype._subscribe = function (subscriber) {\n        return new DeferSubscriber(subscriber, this.observableFactory);\n    };\n    return DeferObservable;\n}(Observable));\nvar DeferSubscriber = (function (_super) {\n    __extends(DeferSubscriber, _super);\n    function DeferSubscriber(destination, factory) {\n        _super.call(this, destination);\n        this.factory = factory;\n        this.tryDefer();\n    }\n    DeferSubscriber.prototype.tryDefer = function () {\n        try {\n            this._callFactory();\n        }\n        catch (err) {\n            this._error(err);\n        }\n    };\n    DeferSubscriber.prototype._callFactory = function () {\n        var result = this.factory();\n        if (result) {\n            this.add(subscribeToResult(this, result));\n        }\n    };\n    return DeferSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=DeferObservable.js.map"
  },
  {
    "__docId__": 181,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DeferObservable",
    "memberof": "es6/observable/DeferObservable.js",
    "longname": "es6/observable/DeferObservable.js~DeferObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/DeferObservable.js",
    "importStyle": "{DeferObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 182,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DeferSubscriber",
    "memberof": "es6/observable/DeferObservable.js",
    "longname": "es6/observable/DeferObservable.js~DeferSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/DeferObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 63,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 183,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/EmptyObservable.js",
    "memberof": null,
    "longname": "es6/observable/EmptyObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var EmptyObservable = (function (_super) {\n    __extends(EmptyObservable, _super);\n    function EmptyObservable(scheduler) {\n        _super.call(this);\n        this.scheduler = scheduler;\n    }\n    /**\n     * Creates an Observable that emits no items to the Observer and immediately\n     * emits a complete notification.\n     *\n     * <span class=\"informal\">Just emits 'complete', and nothing else.\n     * </span>\n     *\n     * <img src=\"./img/empty.png\" width=\"100%\">\n     *\n     * This static operator is useful for creating a simple Observable that only\n     * emits the complete notification. It can be used for composing with other\n     * Observables, such as in a {@link mergeMap}.\n     *\n     * @example <caption>Emit the number 7, then complete.</caption>\n     * var result = Rx.Observable.empty().startWith(7);\n     * result.subscribe(x => console.log(x));\n     *\n     * @example <caption>Map and flatten only odd numbers to the sequence 'a', 'b', 'c'</caption>\n     * var interval = Rx.Observable.interval(1000);\n     * var result = interval.mergeMap(x =>\n     *   x % 2 === 1 ? Rx.Observable.of('a', 'b', 'c') : Rx.Observable.empty()\n     * );\n     * result.subscribe(x => console.log(x));\n     *\n     * @see {@link create}\n     * @see {@link never}\n     * @see {@link of}\n     * @see {@link throw}\n     *\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\n     * the emission of the complete notification.\n     * @return {Observable} An \"empty\" Observable: emits only the complete\n     * notification.\n     * @static true\n     * @name empty\n     * @owner Observable\n     */\n    EmptyObservable.create = function (scheduler) {\n        return new EmptyObservable(scheduler);\n    };\n    EmptyObservable.dispatch = function (arg) {\n        var subscriber = arg.subscriber;\n        subscriber.complete();\n    };\n    EmptyObservable.prototype._subscribe = function (subscriber) {\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(EmptyObservable.dispatch, 0, { subscriber: subscriber });\n        }\n        else {\n            subscriber.complete();\n        }\n    };\n    return EmptyObservable;\n}(Observable));\n//# sourceMappingURL=EmptyObservable.js.map"
  },
  {
    "__docId__": 184,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "EmptyObservable",
    "memberof": "es6/observable/EmptyObservable.js",
    "longname": "es6/observable/EmptyObservable.js~EmptyObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/EmptyObservable.js",
    "importStyle": "{EmptyObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 185,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/ErrorObservable.js",
    "memberof": null,
    "longname": "es6/observable/ErrorObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var ErrorObservable = (function (_super) {\n    __extends(ErrorObservable, _super);\n    function ErrorObservable(error, scheduler) {\n        _super.call(this);\n        this.error = error;\n        this.scheduler = scheduler;\n    }\n    /**\n     * Creates an Observable that emits no items to the Observer and immediately\n     * emits an error notification.\n     *\n     * <span class=\"informal\">Just emits 'error', and nothing else.\n     * </span>\n     *\n     * <img src=\"./img/throw.png\" width=\"100%\">\n     *\n     * This static operator is useful for creating a simple Observable that only\n     * emits the error notification. It can be used for composing with other\n     * Observables, such as in a {@link mergeMap}.\n     *\n     * @example <caption>Emit the number 7, then emit an error.</caption>\n     * var result = Rx.Observable.throw(new Error('oops!')).startWith(7);\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @example <caption>Map and flattens numbers to the sequence 'a', 'b', 'c', but throw an error for 13</caption>\n     * var interval = Rx.Observable.interval(1000);\n     * var result = interval.mergeMap(x =>\n     *   x === 13 ?\n     *     Rx.Observable.throw('Thirteens are bad') :\n     *     Rx.Observable.of('a', 'b', 'c')\n     * );\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link create}\n     * @see {@link empty}\n     * @see {@link never}\n     * @see {@link of}\n     *\n     * @param {any} error The particular Error to pass to the error notification.\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\n     * the emission of the error notification.\n     * @return {Observable} An error Observable: emits only the error notification\n     * using the given error argument.\n     * @static true\n     * @name throw\n     * @owner Observable\n     */\n    ErrorObservable.create = function (error, scheduler) {\n        return new ErrorObservable(error, scheduler);\n    };\n    ErrorObservable.dispatch = function (arg) {\n        var error = arg.error, subscriber = arg.subscriber;\n        subscriber.error(error);\n    };\n    ErrorObservable.prototype._subscribe = function (subscriber) {\n        var error = this.error;\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(ErrorObservable.dispatch, 0, {\n                error: error, subscriber: subscriber\n            });\n        }\n        else {\n            subscriber.error(error);\n        }\n    };\n    return ErrorObservable;\n}(Observable));\n//# sourceMappingURL=ErrorObservable.js.map"
  },
  {
    "__docId__": 186,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ErrorObservable",
    "memberof": "es6/observable/ErrorObservable.js",
    "longname": "es6/observable/ErrorObservable.js~ErrorObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/ErrorObservable.js",
    "importStyle": "{ErrorObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 187,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/ForkJoinObservable.js",
    "memberof": null,
    "longname": "es6/observable/ForkJoinObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { EmptyObservable } from './EmptyObservable';\nimport { isArray } from '../util/isArray';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var ForkJoinObservable = (function (_super) {\n    __extends(ForkJoinObservable, _super);\n    function ForkJoinObservable(sources, resultSelector) {\n        _super.call(this);\n        this.sources = sources;\n        this.resultSelector = resultSelector;\n    }\n    /* tslint:enable:max-line-length */\n    /**\n     * @param sources\n     * @return {any}\n     * @static true\n     * @name forkJoin\n     * @owner Observable\n     */\n    ForkJoinObservable.create = function () {\n        var sources = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            sources[_i - 0] = arguments[_i];\n        }\n        if (sources === null || arguments.length === 0) {\n            return new EmptyObservable();\n        }\n        var resultSelector = null;\n        if (typeof sources[sources.length - 1] === 'function') {\n            resultSelector = sources.pop();\n        }\n        // if the first and only other argument besides the resultSelector is an array\n        // assume it's been called with `forkJoin([obs1, obs2, obs3], resultSelector)`\n        if (sources.length === 1 && isArray(sources[0])) {\n            sources = sources[0];\n        }\n        if (sources.length === 0) {\n            return new EmptyObservable();\n        }\n        return new ForkJoinObservable(sources, resultSelector);\n    };\n    ForkJoinObservable.prototype._subscribe = function (subscriber) {\n        return new ForkJoinSubscriber(subscriber, this.sources, this.resultSelector);\n    };\n    return ForkJoinObservable;\n}(Observable));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ForkJoinSubscriber = (function (_super) {\n    __extends(ForkJoinSubscriber, _super);\n    function ForkJoinSubscriber(destination, sources, resultSelector) {\n        _super.call(this, destination);\n        this.sources = sources;\n        this.resultSelector = resultSelector;\n        this.completed = 0;\n        this.haveValues = 0;\n        var len = sources.length;\n        this.total = len;\n        this.values = new Array(len);\n        for (var i = 0; i < len; i++) {\n            var source = sources[i];\n            var innerSubscription = subscribeToResult(this, source, null, i);\n            if (innerSubscription) {\n                innerSubscription.outerIndex = i;\n                this.add(innerSubscription);\n            }\n        }\n    }\n    ForkJoinSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.values[outerIndex] = innerValue;\n        if (!innerSub._hasValue) {\n            innerSub._hasValue = true;\n            this.haveValues++;\n        }\n    };\n    ForkJoinSubscriber.prototype.notifyComplete = function (innerSub) {\n        var destination = this.destination;\n        var _a = this, haveValues = _a.haveValues, resultSelector = _a.resultSelector, values = _a.values;\n        var len = values.length;\n        if (!innerSub._hasValue) {\n            destination.complete();\n            return;\n        }\n        this.completed++;\n        if (this.completed !== len) {\n            return;\n        }\n        if (haveValues === len) {\n            var value = resultSelector ? resultSelector.apply(this, values) : values;\n            destination.next(value);\n        }\n        destination.complete();\n    };\n    return ForkJoinSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=ForkJoinObservable.js.map"
  },
  {
    "__docId__": 188,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ForkJoinObservable",
    "memberof": "es6/observable/ForkJoinObservable.js",
    "longname": "es6/observable/ForkJoinObservable.js~ForkJoinObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/ForkJoinObservable.js",
    "importStyle": "{ForkJoinObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 11,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 189,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ForkJoinSubscriber",
    "memberof": "es6/observable/ForkJoinObservable.js",
    "longname": "es6/observable/ForkJoinObservable.js~ForkJoinSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/ForkJoinObservable.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 58,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 190,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/FromEventObservable.js",
    "memberof": null,
    "longname": "es6/observable/FromEventObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { tryCatch } from '../util/tryCatch';\nimport { isFunction } from '../util/isFunction';\nimport { errorObject } from '../util/errorObject';\nimport { Subscription } from '../Subscription';\nfunction isNodeStyleEventEmmitter(sourceObj) {\n    return !!sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n    return !!sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isNodeList(sourceObj) {\n    return !!sourceObj && sourceObj.toString() === '[object NodeList]';\n}\nfunction isHTMLCollection(sourceObj) {\n    return !!sourceObj && sourceObj.toString() === '[object HTMLCollection]';\n}\nfunction isEventTarget(sourceObj) {\n    return !!sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var FromEventObservable = (function (_super) {\n    __extends(FromEventObservable, _super);\n    function FromEventObservable(sourceObj, eventName, selector, options) {\n        _super.call(this);\n        this.sourceObj = sourceObj;\n        this.eventName = eventName;\n        this.selector = selector;\n        this.options = options;\n    }\n    /* tslint:enable:max-line-length */\n    /**\n     * Creates an Observable that emits events of a specific type coming from the\n     * given event target.\n     *\n     * <span class=\"informal\">Creates an Observable from DOM events, or Node\n     * EventEmitter events or others.</span>\n     *\n     * <img src=\"./img/fromEvent.png\" width=\"100%\">\n     *\n     * Creates an Observable by attaching an event listener to an \"event target\",\n     * which may be an object with `addEventListener` and `removeEventListener`,\n     * a Node.js EventEmitter, a jQuery style EventEmitter, a NodeList from the\n     * DOM, or an HTMLCollection from the DOM. The event handler is attached when\n     * the output Observable is subscribed, and removed when the Subscription is\n     * unsubscribed.\n     *\n     * @example <caption>Emits clicks happening on the DOM document</caption>\n     * var clicks = Rx.Observable.fromEvent(document, 'click');\n     * clicks.subscribe(x => console.log(x));\n     *\n     * @see {@link from}\n     * @see {@link fromEventPattern}\n     *\n     * @param {EventTargetLike} target The DOMElement, event target, Node.js\n     * EventEmitter, NodeList or HTMLCollection to attach the event handler to.\n     * @param {string} eventName The event name of interest, being emitted by the\n     * `target`.\n     * @param {EventListenerOptions} [options] Options to pass through to addEventListener\n     * @param {SelectorMethodSignature<T>} [selector] An optional function to\n     * post-process results. It takes the arguments from the event handler and\n     * should return a single value.\n     * @return {Observable<T>}\n     * @static true\n     * @name fromEvent\n     * @owner Observable\n     */\n    FromEventObservable.create = function (target, eventName, options, selector) {\n        if (isFunction(options)) {\n            selector = options;\n            options = undefined;\n        }\n        return new FromEventObservable(target, eventName, selector, options);\n    };\n    FromEventObservable.setupSubscription = function (sourceObj, eventName, handler, subscriber, options) {\n        var unsubscribe;\n        if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {\n            for (var i = 0, len = sourceObj.length; i < len; i++) {\n                FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n            }\n        }\n        else if (isEventTarget(sourceObj)) {\n            var source_1 = sourceObj;\n            sourceObj.addEventListener(eventName, handler, options);\n            unsubscribe = function () { return source_1.removeEventListener(eventName, handler); };\n        }\n        else if (isJQueryStyleEventEmitter(sourceObj)) {\n            var source_2 = sourceObj;\n            sourceObj.on(eventName, handler);\n            unsubscribe = function () { return source_2.off(eventName, handler); };\n        }\n        else if (isNodeStyleEventEmmitter(sourceObj)) {\n            var source_3 = sourceObj;\n            sourceObj.addListener(eventName, handler);\n            unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n        }\n        else {\n            throw new TypeError('Invalid event target');\n        }\n        subscriber.add(new Subscription(unsubscribe));\n    };\n    FromEventObservable.prototype._subscribe = function (subscriber) {\n        var sourceObj = this.sourceObj;\n        var eventName = this.eventName;\n        var options = this.options;\n        var selector = this.selector;\n        var handler = selector ? function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i - 0] = arguments[_i];\n            }\n            var result = tryCatch(selector).apply(void 0, args);\n            if (result === errorObject) {\n                subscriber.error(errorObject.e);\n            }\n            else {\n                subscriber.next(result);\n            }\n        } : function (e) { return subscriber.next(e); };\n        FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber, options);\n    };\n    return FromEventObservable;\n}(Observable));\n//# sourceMappingURL=FromEventObservable.js.map"
  },
  {
    "__docId__": 191,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isNodeStyleEventEmmitter",
    "memberof": "es6/observable/FromEventObservable.js",
    "longname": "es6/observable/FromEventObservable.js~isNodeStyleEventEmmitter",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/FromEventObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 6,
    "undocument": true,
    "params": [
      {
        "name": "sourceObj",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 192,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isJQueryStyleEventEmitter",
    "memberof": "es6/observable/FromEventObservable.js",
    "longname": "es6/observable/FromEventObservable.js~isJQueryStyleEventEmitter",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/FromEventObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 9,
    "undocument": true,
    "params": [
      {
        "name": "sourceObj",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 193,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isNodeList",
    "memberof": "es6/observable/FromEventObservable.js",
    "longname": "es6/observable/FromEventObservable.js~isNodeList",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/FromEventObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 12,
    "undocument": true,
    "params": [
      {
        "name": "sourceObj",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 194,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isHTMLCollection",
    "memberof": "es6/observable/FromEventObservable.js",
    "longname": "es6/observable/FromEventObservable.js~isHTMLCollection",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/FromEventObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 15,
    "undocument": true,
    "params": [
      {
        "name": "sourceObj",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 195,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isEventTarget",
    "memberof": "es6/observable/FromEventObservable.js",
    "longname": "es6/observable/FromEventObservable.js~isEventTarget",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/FromEventObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 18,
    "undocument": true,
    "params": [
      {
        "name": "sourceObj",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 196,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FromEventObservable",
    "memberof": "es6/observable/FromEventObservable.js",
    "longname": "es6/observable/FromEventObservable.js~FromEventObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/FromEventObservable.js",
    "importStyle": "{FromEventObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 26,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 197,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/FromEventPatternObservable.js",
    "memberof": null,
    "longname": "es6/observable/FromEventPatternObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var FromEventPatternObservable = (function (_super) {\n    __extends(FromEventPatternObservable, _super);\n    function FromEventPatternObservable(addHandler, removeHandler, selector) {\n        _super.call(this);\n        this.addHandler = addHandler;\n        this.removeHandler = removeHandler;\n        this.selector = selector;\n    }\n    /**\n     * Creates an Observable from an API based on addHandler/removeHandler\n     * functions.\n     *\n     * <span class=\"informal\">Converts any addHandler/removeHandler API to an\n     * Observable.</span>\n     *\n     * <img src=\"./img/fromEventPattern.png\" width=\"100%\">\n     *\n     * Creates an Observable by using the `addHandler` and `removeHandler`\n     * functions to add and remove the handlers, with an optional selector\n     * function to project the event arguments to a result. The `addHandler` is\n     * called when the output Observable is subscribed, and `removeHandler` is\n     * called when the Subscription is unsubscribed.\n     *\n     * @example <caption>Emits clicks happening on the DOM document</caption>\n     * function addClickHandler(handler) {\n     *   document.addEventListener('click', handler);\n     * }\n     *\n     * function removeClickHandler(handler) {\n     *   document.removeEventListener('click', handler);\n     * }\n     *\n     * var clicks = Rx.Observable.fromEventPattern(\n     *   addClickHandler,\n     *   removeClickHandler\n     * );\n     * clicks.subscribe(x => console.log(x));\n     *\n     * @see {@link from}\n     * @see {@link fromEvent}\n     *\n     * @param {function(handler: Function): any} addHandler A function that takes\n     * a `handler` function as argument and attaches it somehow to the actual\n     * source of events.\n     * @param {function(handler: Function): void} removeHandler A function that\n     * takes a `handler` function as argument and removes it in case it was\n     * previously attached using `addHandler`.\n     * @param {function(...args: any): T} [selector] An optional function to\n     * post-process results. It takes the arguments from the event handler and\n     * should return a single value.\n     * @return {Observable<T>}\n     * @static true\n     * @name fromEventPattern\n     * @owner Observable\n     */\n    FromEventPatternObservable.create = function (addHandler, removeHandler, selector) {\n        return new FromEventPatternObservable(addHandler, removeHandler, selector);\n    };\n    FromEventPatternObservable.prototype._subscribe = function (subscriber) {\n        var _this = this;\n        var removeHandler = this.removeHandler;\n        var handler = !!this.selector ? function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i - 0] = arguments[_i];\n            }\n            _this._callSelector(subscriber, args);\n        } : function (e) { subscriber.next(e); };\n        this._callAddHandler(handler, subscriber);\n        subscriber.add(new Subscription(function () {\n            //TODO: determine whether or not to forward to error handler\n            removeHandler(handler);\n        }));\n    };\n    FromEventPatternObservable.prototype._callSelector = function (subscriber, args) {\n        try {\n            var result = this.selector.apply(this, args);\n            subscriber.next(result);\n        }\n        catch (e) {\n            subscriber.error(e);\n        }\n    };\n    FromEventPatternObservable.prototype._callAddHandler = function (handler, errorSubscriber) {\n        try {\n            this.addHandler(handler);\n        }\n        catch (e) {\n            errorSubscriber.error(e);\n        }\n    };\n    return FromEventPatternObservable;\n}(Observable));\n//# sourceMappingURL=FromEventPatternObservable.js.map"
  },
  {
    "__docId__": 198,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FromEventPatternObservable",
    "memberof": "es6/observable/FromEventPatternObservable.js",
    "longname": "es6/observable/FromEventPatternObservable.js~FromEventPatternObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/FromEventPatternObservable.js",
    "importStyle": "{FromEventPatternObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 199,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/FromObservable.js",
    "memberof": null,
    "longname": "es6/observable/FromObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { isArray } from '../util/isArray';\nimport { isPromise } from '../util/isPromise';\nimport { PromiseObservable } from './PromiseObservable';\nimport { IteratorObservable } from './IteratorObservable';\nimport { ArrayObservable } from './ArrayObservable';\nimport { ArrayLikeObservable } from './ArrayLikeObservable';\nimport { $$iterator } from '../symbol/iterator';\nimport { Observable } from '../Observable';\nimport { ObserveOnSubscriber } from '../operator/observeOn';\nimport { $$observable } from '../symbol/observable';\nvar isArrayLike = (function (x) { return x && typeof x.length === 'number'; });\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var FromObservable = (function (_super) {\n    __extends(FromObservable, _super);\n    function FromObservable(ish, scheduler) {\n        _super.call(this, null);\n        this.ish = ish;\n        this.scheduler = scheduler;\n    }\n    /**\n     * Creates an Observable from an Array, an array-like object, a Promise, an\n     * iterable object, or an Observable-like object.\n     *\n     * <span class=\"informal\">Converts almost anything to an Observable.</span>\n     *\n     * <img src=\"./img/from.png\" width=\"100%\">\n     *\n     * Convert various other objects and data types into Observables. `from`\n     * converts a Promise or an array-like or an\n     * [iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#iterable)\n     * object into an Observable that emits the items in that promise or array or\n     * iterable. A String, in this context, is treated as an array of characters.\n     * Observable-like objects (contains a function named with the ES2015 Symbol\n     * for Observable) can also be converted through this operator.\n     *\n     * @example <caption>Converts an array to an Observable</caption>\n     * var array = [10, 20, 30];\n     * var result = Rx.Observable.from(array);\n     * result.subscribe(x => console.log(x));\n     *\n     * @example <caption>Convert an infinite iterable (from a generator) to an Observable</caption>\n     * function* generateDoubles(seed) {\n     *   var i = seed;\n     *   while (true) {\n     *     yield i;\n     *     i = 2 * i; // double it\n     *   }\n     * }\n     *\n     * var iterator = generateDoubles(3);\n     * var result = Rx.Observable.from(iterator).take(10);\n     * result.subscribe(x => console.log(x));\n     *\n     * @see {@link create}\n     * @see {@link fromEvent}\n     * @see {@link fromEventPattern}\n     * @see {@link fromPromise}\n     *\n     * @param {ObservableInput<T>} ish A subscribable object, a Promise, an\n     * Observable-like, an Array, an iterable or an array-like object to be\n     * converted.\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n     * emissions of values.\n     * @return {Observable<T>} The Observable whose values are originally from the\n     * input object that was converted.\n     * @static true\n     * @name from\n     * @owner Observable\n     */\n    FromObservable.create = function (ish, scheduler) {\n        if (ish != null) {\n            if (typeof ish[$$observable] === 'function') {\n                if (ish instanceof Observable && !scheduler) {\n                    return ish;\n                }\n                return new FromObservable(ish, scheduler);\n            }\n            else if (isArray(ish)) {\n                return new ArrayObservable(ish, scheduler);\n            }\n            else if (isPromise(ish)) {\n                return new PromiseObservable(ish, scheduler);\n            }\n            else if (typeof ish[$$iterator] === 'function' || typeof ish === 'string') {\n                return new IteratorObservable(ish, scheduler);\n            }\n            else if (isArrayLike(ish)) {\n                return new ArrayLikeObservable(ish, scheduler);\n            }\n        }\n        throw new TypeError((ish !== null && typeof ish || ish) + ' is not observable');\n    };\n    FromObservable.prototype._subscribe = function (subscriber) {\n        var ish = this.ish;\n        var scheduler = this.scheduler;\n        if (scheduler == null) {\n            return ish[$$observable]().subscribe(subscriber);\n        }\n        else {\n            return ish[$$observable]().subscribe(new ObserveOnSubscriber(subscriber, scheduler, 0));\n        }\n    };\n    return FromObservable;\n}(Observable));\n//# sourceMappingURL=FromObservable.js.map"
  },
  {
    "__docId__": 200,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isArrayLike",
    "memberof": "es6/observable/FromObservable.js",
    "longname": "es6/observable/FromObservable.js~isArrayLike",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/FromObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 11,
    "undocument": true,
    "params": [
      {
        "name": "x",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 201,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FromObservable",
    "memberof": "es6/observable/FromObservable.js",
    "longname": "es6/observable/FromObservable.js~FromObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/FromObservable.js",
    "importStyle": "{FromObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 17,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 202,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/GenerateObservable.js",
    "memberof": null,
    "longname": "es6/observable/GenerateObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nvar selfSelector = function (value) { return value; };\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var GenerateObservable = (function (_super) {\n    __extends(GenerateObservable, _super);\n    function GenerateObservable(initialState, condition, iterate, resultSelector, scheduler) {\n        _super.call(this);\n        this.initialState = initialState;\n        this.condition = condition;\n        this.iterate = iterate;\n        this.resultSelector = resultSelector;\n        this.scheduler = scheduler;\n    }\n    GenerateObservable.create = function (initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n        if (arguments.length == 1) {\n            return new GenerateObservable(initialStateOrOptions.initialState, initialStateOrOptions.condition, initialStateOrOptions.iterate, initialStateOrOptions.resultSelector || selfSelector, initialStateOrOptions.scheduler);\n        }\n        if (resultSelectorOrObservable === undefined || isScheduler(resultSelectorOrObservable)) {\n            return new GenerateObservable(initialStateOrOptions, condition, iterate, selfSelector, resultSelectorOrObservable);\n        }\n        return new GenerateObservable(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler);\n    };\n    GenerateObservable.prototype._subscribe = function (subscriber) {\n        var state = this.initialState;\n        if (this.scheduler) {\n            return this.scheduler.schedule(GenerateObservable.dispatch, 0, {\n                subscriber: subscriber,\n                iterate: this.iterate,\n                condition: this.condition,\n                resultSelector: this.resultSelector,\n                state: state });\n        }\n        var _a = this, condition = _a.condition, resultSelector = _a.resultSelector, iterate = _a.iterate;\n        do {\n            if (condition) {\n                var conditionResult = void 0;\n                try {\n                    conditionResult = condition(state);\n                }\n                catch (err) {\n                    subscriber.error(err);\n                    return;\n                }\n                if (!conditionResult) {\n                    subscriber.complete();\n                    break;\n                }\n            }\n            var value = void 0;\n            try {\n                value = resultSelector(state);\n            }\n            catch (err) {\n                subscriber.error(err);\n                return;\n            }\n            subscriber.next(value);\n            if (subscriber.closed) {\n                break;\n            }\n            try {\n                state = iterate(state);\n            }\n            catch (err) {\n                subscriber.error(err);\n                return;\n            }\n        } while (true);\n    };\n    GenerateObservable.dispatch = function (state) {\n        var subscriber = state.subscriber, condition = state.condition;\n        if (subscriber.closed) {\n            return;\n        }\n        if (state.needIterate) {\n            try {\n                state.state = state.iterate(state.state);\n            }\n            catch (err) {\n                subscriber.error(err);\n                return;\n            }\n        }\n        else {\n            state.needIterate = true;\n        }\n        if (condition) {\n            var conditionResult = void 0;\n            try {\n                conditionResult = condition(state.state);\n            }\n            catch (err) {\n                subscriber.error(err);\n                return;\n            }\n            if (!conditionResult) {\n                subscriber.complete();\n                return;\n            }\n            if (subscriber.closed) {\n                return;\n            }\n        }\n        var value;\n        try {\n            value = state.resultSelector(state.state);\n        }\n        catch (err) {\n            subscriber.error(err);\n            return;\n        }\n        if (subscriber.closed) {\n            return;\n        }\n        subscriber.next(value);\n        if (subscriber.closed) {\n            return;\n        }\n        return this.schedule(state);\n    };\n    return GenerateObservable;\n}(Observable));\n//# sourceMappingURL=GenerateObservable.js.map"
  },
  {
    "__docId__": 203,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "selfSelector",
    "memberof": "es6/observable/GenerateObservable.js",
    "longname": "es6/observable/GenerateObservable.js~selfSelector",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/GenerateObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "value",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 204,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "GenerateObservable",
    "memberof": "es6/observable/GenerateObservable.js",
    "longname": "es6/observable/GenerateObservable.js~GenerateObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/GenerateObservable.js",
    "importStyle": "{GenerateObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 205,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/IfObservable.js",
    "memberof": null,
    "longname": "es6/observable/IfObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var IfObservable = (function (_super) {\n    __extends(IfObservable, _super);\n    function IfObservable(condition, thenSource, elseSource) {\n        _super.call(this);\n        this.condition = condition;\n        this.thenSource = thenSource;\n        this.elseSource = elseSource;\n    }\n    IfObservable.create = function (condition, thenSource, elseSource) {\n        return new IfObservable(condition, thenSource, elseSource);\n    };\n    IfObservable.prototype._subscribe = function (subscriber) {\n        var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;\n        return new IfSubscriber(subscriber, condition, thenSource, elseSource);\n    };\n    return IfObservable;\n}(Observable));\nvar IfSubscriber = (function (_super) {\n    __extends(IfSubscriber, _super);\n    function IfSubscriber(destination, condition, thenSource, elseSource) {\n        _super.call(this, destination);\n        this.condition = condition;\n        this.thenSource = thenSource;\n        this.elseSource = elseSource;\n        this.tryIf();\n    }\n    IfSubscriber.prototype.tryIf = function () {\n        var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;\n        var result;\n        try {\n            result = condition();\n            var source = result ? thenSource : elseSource;\n            if (source) {\n                this.add(subscribeToResult(this, source));\n            }\n            else {\n                this._complete();\n            }\n        }\n        catch (err) {\n            this._error(err);\n        }\n    };\n    return IfSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=IfObservable.js.map"
  },
  {
    "__docId__": 206,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "IfObservable",
    "memberof": "es6/observable/IfObservable.js",
    "longname": "es6/observable/IfObservable.js~IfObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/IfObservable.js",
    "importStyle": "{IfObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 207,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "IfSubscriber",
    "memberof": "es6/observable/IfObservable.js",
    "longname": "es6/observable/IfObservable.js~IfSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/IfObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 26,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 208,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/IntervalObservable.js",
    "memberof": null,
    "longname": "es6/observable/IntervalObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { isNumeric } from '../util/isNumeric';\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var IntervalObservable = (function (_super) {\n    __extends(IntervalObservable, _super);\n    function IntervalObservable(period, scheduler) {\n        if (period === void 0) { period = 0; }\n        if (scheduler === void 0) { scheduler = async; }\n        _super.call(this);\n        this.period = period;\n        this.scheduler = scheduler;\n        if (!isNumeric(period) || period < 0) {\n            this.period = 0;\n        }\n        if (!scheduler || typeof scheduler.schedule !== 'function') {\n            this.scheduler = async;\n        }\n    }\n    /**\n     * Creates an Observable that emits sequential numbers every specified\n     * interval of time, on a specified Scheduler.\n     *\n     * <span class=\"informal\">Emits incremental numbers periodically in time.\n     * </span>\n     *\n     * <img src=\"./img/interval.png\" width=\"100%\">\n     *\n     * `interval` returns an Observable that emits an infinite sequence of\n     * ascending integers, with a constant interval of time of your choosing\n     * between those emissions. The first emission is not sent immediately, but\n     * only after the first period has passed. By default, this operator uses the\n     * `async` Scheduler to provide a notion of time, but you may pass any\n     * Scheduler to it.\n     *\n     * @example <caption>Emits ascending numbers, one every second (1000ms)</caption>\n     * var numbers = Rx.Observable.interval(1000);\n     * numbers.subscribe(x => console.log(x));\n     *\n     * @see {@link timer}\n     * @see {@link delay}\n     *\n     * @param {number} [period=0] The interval size in milliseconds (by default)\n     * or the time unit determined by the scheduler's clock.\n     * @param {Scheduler} [scheduler=async] The Scheduler to use for scheduling\n     * the emission of values, and providing a notion of \"time\".\n     * @return {Observable} An Observable that emits a sequential number each time\n     * interval.\n     * @static true\n     * @name interval\n     * @owner Observable\n     */\n    IntervalObservable.create = function (period, scheduler) {\n        if (period === void 0) { period = 0; }\n        if (scheduler === void 0) { scheduler = async; }\n        return new IntervalObservable(period, scheduler);\n    };\n    IntervalObservable.dispatch = function (state) {\n        var index = state.index, subscriber = state.subscriber, period = state.period;\n        subscriber.next(index);\n        if (subscriber.closed) {\n            return;\n        }\n        state.index += 1;\n        this.schedule(state, period);\n    };\n    IntervalObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var period = this.period;\n        var scheduler = this.scheduler;\n        subscriber.add(scheduler.schedule(IntervalObservable.dispatch, period, {\n            index: index, subscriber: subscriber, period: period\n        }));\n    };\n    return IntervalObservable;\n}(Observable));\n//# sourceMappingURL=IntervalObservable.js.map"
  },
  {
    "__docId__": 209,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "IntervalObservable",
    "memberof": "es6/observable/IntervalObservable.js",
    "longname": "es6/observable/IntervalObservable.js~IntervalObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/IntervalObservable.js",
    "importStyle": "{IntervalObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 210,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/IteratorObservable.js",
    "memberof": null,
    "longname": "es6/observable/IteratorObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from '../util/root';\nimport { Observable } from '../Observable';\nimport { $$iterator } from '../symbol/iterator';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var IteratorObservable = (function (_super) {\n    __extends(IteratorObservable, _super);\n    function IteratorObservable(iterator, scheduler) {\n        _super.call(this);\n        this.scheduler = scheduler;\n        if (iterator == null) {\n            throw new Error('iterator cannot be null.');\n        }\n        this.iterator = getIterator(iterator);\n    }\n    IteratorObservable.create = function (iterator, scheduler) {\n        return new IteratorObservable(iterator, scheduler);\n    };\n    IteratorObservable.dispatch = function (state) {\n        var index = state.index, hasError = state.hasError, iterator = state.iterator, subscriber = state.subscriber;\n        if (hasError) {\n            subscriber.error(state.error);\n            return;\n        }\n        var result = iterator.next();\n        if (result.done) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(result.value);\n        state.index = index + 1;\n        if (subscriber.closed) {\n            if (typeof iterator.return === 'function') {\n                iterator.return();\n            }\n            return;\n        }\n        this.schedule(state);\n    };\n    IteratorObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var _a = this, iterator = _a.iterator, scheduler = _a.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(IteratorObservable.dispatch, 0, {\n                index: index, iterator: iterator, subscriber: subscriber\n            });\n        }\n        else {\n            do {\n                var result = iterator.next();\n                if (result.done) {\n                    subscriber.complete();\n                    break;\n                }\n                else {\n                    subscriber.next(result.value);\n                }\n                if (subscriber.closed) {\n                    if (typeof iterator.return === 'function') {\n                        iterator.return();\n                    }\n                    break;\n                }\n            } while (true);\n        }\n    };\n    return IteratorObservable;\n}(Observable));\nvar StringIterator = (function () {\n    function StringIterator(str, idx, len) {\n        if (idx === void 0) { idx = 0; }\n        if (len === void 0) { len = str.length; }\n        this.str = str;\n        this.idx = idx;\n        this.len = len;\n    }\n    StringIterator.prototype[$$iterator] = function () { return (this); };\n    StringIterator.prototype.next = function () {\n        return this.idx < this.len ? {\n            done: false,\n            value: this.str.charAt(this.idx++)\n        } : {\n            done: true,\n            value: undefined\n        };\n    };\n    return StringIterator;\n}());\nvar ArrayIterator = (function () {\n    function ArrayIterator(arr, idx, len) {\n        if (idx === void 0) { idx = 0; }\n        if (len === void 0) { len = toLength(arr); }\n        this.arr = arr;\n        this.idx = idx;\n        this.len = len;\n    }\n    ArrayIterator.prototype[$$iterator] = function () { return this; };\n    ArrayIterator.prototype.next = function () {\n        return this.idx < this.len ? {\n            done: false,\n            value: this.arr[this.idx++]\n        } : {\n            done: true,\n            value: undefined\n        };\n    };\n    return ArrayIterator;\n}());\nfunction getIterator(obj) {\n    var i = obj[$$iterator];\n    if (!i && typeof obj === 'string') {\n        return new StringIterator(obj);\n    }\n    if (!i && obj.length !== undefined) {\n        return new ArrayIterator(obj);\n    }\n    if (!i) {\n        throw new TypeError('object is not iterable');\n    }\n    return obj[$$iterator]();\n}\nvar maxSafeInteger = Math.pow(2, 53) - 1;\nfunction toLength(o) {\n    var len = +o.length;\n    if (isNaN(len)) {\n        return 0;\n    }\n    if (len === 0 || !numberIsFinite(len)) {\n        return len;\n    }\n    len = sign(len) * Math.floor(Math.abs(len));\n    if (len <= 0) {\n        return 0;\n    }\n    if (len > maxSafeInteger) {\n        return maxSafeInteger;\n    }\n    return len;\n}\nfunction numberIsFinite(value) {\n    return typeof value === 'number' && root.isFinite(value);\n}\nfunction sign(value) {\n    var valueAsNumber = +value;\n    if (valueAsNumber === 0) {\n        return valueAsNumber;\n    }\n    if (isNaN(valueAsNumber)) {\n        return valueAsNumber;\n    }\n    return valueAsNumber < 0 ? -1 : 1;\n}\n//# sourceMappingURL=IteratorObservable.js.map"
  },
  {
    "__docId__": 211,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "IteratorObservable",
    "memberof": "es6/observable/IteratorObservable.js",
    "longname": "es6/observable/IteratorObservable.js~IteratorObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/IteratorObservable.js",
    "importStyle": "{IteratorObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 212,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "StringIterator",
    "memberof": "es6/observable/IteratorObservable.js",
    "longname": "es6/observable/IteratorObservable.js~StringIterator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/IteratorObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 72,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 213,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ArrayIterator",
    "memberof": "es6/observable/IteratorObservable.js",
    "longname": "es6/observable/IteratorObservable.js~ArrayIterator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/IteratorObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 92,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 214,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "getIterator",
    "memberof": "es6/observable/IteratorObservable.js",
    "longname": "es6/observable/IteratorObservable.js~getIterator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/IteratorObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 112,
    "undocument": true,
    "params": [
      {
        "name": "obj",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 215,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "maxSafeInteger",
    "memberof": "es6/observable/IteratorObservable.js",
    "longname": "es6/observable/IteratorObservable.js~maxSafeInteger",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/IteratorObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 125,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 216,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "toLength",
    "memberof": "es6/observable/IteratorObservable.js",
    "longname": "es6/observable/IteratorObservable.js~toLength",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/IteratorObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 126,
    "undocument": true,
    "params": [
      {
        "name": "o",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 217,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "numberIsFinite",
    "memberof": "es6/observable/IteratorObservable.js",
    "longname": "es6/observable/IteratorObservable.js~numberIsFinite",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/IteratorObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 143,
    "undocument": true,
    "params": [
      {
        "name": "value",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 218,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "sign",
    "memberof": "es6/observable/IteratorObservable.js",
    "longname": "es6/observable/IteratorObservable.js~sign",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/IteratorObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 146,
    "undocument": true,
    "params": [
      {
        "name": "value",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 219,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/NeverObservable.js",
    "memberof": null,
    "longname": "es6/observable/NeverObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var NeverObservable = (function (_super) {\n    __extends(NeverObservable, _super);\n    function NeverObservable() {\n        _super.call(this);\n    }\n    /**\n     * Creates an Observable that emits no items to the Observer.\n     *\n     * <span class=\"informal\">An Observable that never emits anything.</span>\n     *\n     * <img src=\"./img/never.png\" width=\"100%\">\n     *\n     * This static operator is useful for creating a simple Observable that emits\n     * neither values nor errors nor the completion notification. It can be used\n     * for testing purposes or for composing with other Observables. Please not\n     * that by never emitting a complete notification, this Observable keeps the\n     * subscription from being disposed automatically. Subscriptions need to be\n     * manually disposed.\n     *\n     * @example <caption>Emit the number 7, then never emit anything else (not even complete).</caption>\n     * function info() {\n     *   console.log('Will not be called');\n     * }\n     * var result = Rx.Observable.never().startWith(7);\n     * result.subscribe(x => console.log(x), info, info);\n     *\n     * @see {@link create}\n     * @see {@link empty}\n     * @see {@link of}\n     * @see {@link throw}\n     *\n     * @return {Observable} A \"never\" Observable: never emits anything.\n     * @static true\n     * @name never\n     * @owner Observable\n     */\n    NeverObservable.create = function () {\n        return new NeverObservable();\n    };\n    NeverObservable.prototype._subscribe = function (subscriber) {\n        noop();\n    };\n    return NeverObservable;\n}(Observable));\n//# sourceMappingURL=NeverObservable.js.map"
  },
  {
    "__docId__": 220,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "NeverObservable",
    "memberof": "es6/observable/NeverObservable.js",
    "longname": "es6/observable/NeverObservable.js~NeverObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/NeverObservable.js",
    "importStyle": "{NeverObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 221,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/PairsObservable.js",
    "memberof": null,
    "longname": "es6/observable/PairsObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nfunction dispatch(state) {\n    var obj = state.obj, keys = state.keys, length = state.length, index = state.index, subscriber = state.subscriber;\n    if (index === length) {\n        subscriber.complete();\n        return;\n    }\n    var key = keys[index];\n    subscriber.next([key, obj[key]]);\n    state.index = index + 1;\n    this.schedule(state);\n}\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var PairsObservable = (function (_super) {\n    __extends(PairsObservable, _super);\n    function PairsObservable(obj, scheduler) {\n        _super.call(this);\n        this.obj = obj;\n        this.scheduler = scheduler;\n        this.keys = Object.keys(obj);\n    }\n    /**\n     * Convert an object into an observable sequence of [key, value] pairs\n     * using an optional Scheduler to enumerate the object.\n     *\n     * @example <caption>Converts a javascript object to an Observable</caption>\n     * var obj = {\n     *   foo: 42,\n     *   bar: 56,\n     *   baz: 78\n     * };\n     *\n     * var source = Rx.Observable.pairs(obj);\n     *\n     * var subscription = source.subscribe(\n     *   function (x) {\n     *     console.log('Next: %s', x);\n     *   },\n     *   function (err) {\n     *     console.log('Error: %s', err);\n     *   },\n     *   function () {\n     *     console.log('Completed');\n     *   });\n     *\n     * @param {Object} obj The object to inspect and turn into an\n     * Observable sequence.\n     * @param {Scheduler} [scheduler] An optional Scheduler to run the\n     * enumeration of the input sequence on.\n     * @returns {(Observable<Array<string | T>>)} An observable sequence of\n     * [key, value] pairs from the object.\n     */\n    PairsObservable.create = function (obj, scheduler) {\n        return new PairsObservable(obj, scheduler);\n    };\n    PairsObservable.prototype._subscribe = function (subscriber) {\n        var _a = this, keys = _a.keys, scheduler = _a.scheduler;\n        var length = keys.length;\n        if (scheduler) {\n            return scheduler.schedule(dispatch, 0, {\n                obj: this.obj, keys: keys, length: length, index: 0, subscriber: subscriber\n            });\n        }\n        else {\n            for (var idx = 0; idx < length; idx++) {\n                var key = keys[idx];\n                subscriber.next([key, this.obj[key]]);\n            }\n            subscriber.complete();\n        }\n    };\n    return PairsObservable;\n}(Observable));\n//# sourceMappingURL=PairsObservable.js.map"
  },
  {
    "__docId__": 222,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatch",
    "memberof": "es6/observable/PairsObservable.js",
    "longname": "es6/observable/PairsObservable.js~dispatch",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/PairsObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "params": [
      {
        "name": "state",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 223,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "PairsObservable",
    "memberof": "es6/observable/PairsObservable.js",
    "longname": "es6/observable/PairsObservable.js~PairsObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/PairsObservable.js",
    "importStyle": "{PairsObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 18,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 224,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/PromiseObservable.js",
    "memberof": null,
    "longname": "es6/observable/PromiseObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from '../util/root';\nimport { Observable } from '../Observable';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var PromiseObservable = (function (_super) {\n    __extends(PromiseObservable, _super);\n    function PromiseObservable(promise, scheduler) {\n        _super.call(this);\n        this.promise = promise;\n        this.scheduler = scheduler;\n    }\n    /**\n     * Converts a Promise to an Observable.\n     *\n     * <span class=\"informal\">Returns an Observable that just emits the Promise's\n     * resolved value, then completes.</span>\n     *\n     * Converts an ES2015 Promise or a Promises/A+ spec compliant Promise to an\n     * Observable. If the Promise resolves with a value, the output Observable\n     * emits that resolved value as a `next`, and then completes. If the Promise\n     * is rejected, then the output Observable emits the corresponding Error.\n     *\n     * @example <caption>Convert the Promise returned by Fetch to an Observable</caption>\n     * var result = Rx.Observable.fromPromise(fetch('http://myserver.com/'));\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindCallback}\n     * @see {@link from}\n     *\n     * @param {Promise<T>} promise The promise to be converted.\n     * @param {Scheduler} [scheduler] An optional Scheduler to use for scheduling\n     * the delivery of the resolved value (or the rejection).\n     * @return {Observable<T>} An Observable which wraps the Promise.\n     * @static true\n     * @name fromPromise\n     * @owner Observable\n     */\n    PromiseObservable.create = function (promise, scheduler) {\n        return new PromiseObservable(promise, scheduler);\n    };\n    PromiseObservable.prototype._subscribe = function (subscriber) {\n        var _this = this;\n        var promise = this.promise;\n        var scheduler = this.scheduler;\n        if (scheduler == null) {\n            if (this._isScalar) {\n                if (!subscriber.closed) {\n                    subscriber.next(this.value);\n                    subscriber.complete();\n                }\n            }\n            else {\n                promise.then(function (value) {\n                    _this.value = value;\n                    _this._isScalar = true;\n                    if (!subscriber.closed) {\n                        subscriber.next(value);\n                        subscriber.complete();\n                    }\n                }, function (err) {\n                    if (!subscriber.closed) {\n                        subscriber.error(err);\n                    }\n                })\n                    .then(null, function (err) {\n                    // escape the promise trap, throw unhandled errors\n                    root.setTimeout(function () { throw err; });\n                });\n            }\n        }\n        else {\n            if (this._isScalar) {\n                if (!subscriber.closed) {\n                    return scheduler.schedule(dispatchNext, 0, { value: this.value, subscriber: subscriber });\n                }\n            }\n            else {\n                promise.then(function (value) {\n                    _this.value = value;\n                    _this._isScalar = true;\n                    if (!subscriber.closed) {\n                        subscriber.add(scheduler.schedule(dispatchNext, 0, { value: value, subscriber: subscriber }));\n                    }\n                }, function (err) {\n                    if (!subscriber.closed) {\n                        subscriber.add(scheduler.schedule(dispatchError, 0, { err: err, subscriber: subscriber }));\n                    }\n                })\n                    .then(null, function (err) {\n                    // escape the promise trap, throw unhandled errors\n                    root.setTimeout(function () { throw err; });\n                });\n            }\n        }\n    };\n    return PromiseObservable;\n}(Observable));\nfunction dispatchNext(arg) {\n    var value = arg.value, subscriber = arg.subscriber;\n    if (!subscriber.closed) {\n        subscriber.next(value);\n        subscriber.complete();\n    }\n}\nfunction dispatchError(arg) {\n    var err = arg.err, subscriber = arg.subscriber;\n    if (!subscriber.closed) {\n        subscriber.error(err);\n    }\n}\n//# sourceMappingURL=PromiseObservable.js.map"
  },
  {
    "__docId__": 225,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "PromiseObservable",
    "memberof": "es6/observable/PromiseObservable.js",
    "longname": "es6/observable/PromiseObservable.js~PromiseObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/PromiseObservable.js",
    "importStyle": "{PromiseObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 226,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchNext",
    "memberof": "es6/observable/PromiseObservable.js",
    "longname": "es6/observable/PromiseObservable.js~dispatchNext",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/PromiseObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 101,
    "undocument": true,
    "params": [
      {
        "name": "arg",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 227,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchError",
    "memberof": "es6/observable/PromiseObservable.js",
    "longname": "es6/observable/PromiseObservable.js~dispatchError",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/PromiseObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 108,
    "undocument": true,
    "params": [
      {
        "name": "arg",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 228,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/RangeObservable.js",
    "memberof": null,
    "longname": "es6/observable/RangeObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var RangeObservable = (function (_super) {\n    __extends(RangeObservable, _super);\n    function RangeObservable(start, count, scheduler) {\n        _super.call(this);\n        this.start = start;\n        this._count = count;\n        this.scheduler = scheduler;\n    }\n    /**\n     * Creates an Observable that emits a sequence of numbers within a specified\n     * range.\n     *\n     * <span class=\"informal\">Emits a sequence of numbers in a range.</span>\n     *\n     * <img src=\"./img/range.png\" width=\"100%\">\n     *\n     * `range` operator emits a range of sequential integers, in order, where you\n     * select the `start` of the range and its `length`. By default, uses no\n     * Scheduler and just delivers the notifications synchronously, but may use\n     * an optional Scheduler to regulate those deliveries.\n     *\n     * @example <caption>Emits the numbers 1 to 10</caption>\n     * var numbers = Rx.Observable.range(1, 10);\n     * numbers.subscribe(x => console.log(x));\n     *\n     * @see {@link timer}\n     * @see {@link interval}\n     *\n     * @param {number} [start=0] The value of the first integer in the sequence.\n     * @param {number} [count=0] The number of sequential integers to generate.\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\n     * the emissions of the notifications.\n     * @return {Observable} An Observable of numbers that emits a finite range of\n     * sequential integers.\n     * @static true\n     * @name range\n     * @owner Observable\n     */\n    RangeObservable.create = function (start, count, scheduler) {\n        if (start === void 0) { start = 0; }\n        if (count === void 0) { count = 0; }\n        return new RangeObservable(start, count, scheduler);\n    };\n    RangeObservable.dispatch = function (state) {\n        var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;\n        if (index >= count) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(start);\n        if (subscriber.closed) {\n            return;\n        }\n        state.index = index + 1;\n        state.start = start + 1;\n        this.schedule(state);\n    };\n    RangeObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var start = this.start;\n        var count = this._count;\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(RangeObservable.dispatch, 0, {\n                index: index, count: count, start: start, subscriber: subscriber\n            });\n        }\n        else {\n            do {\n                if (index++ >= count) {\n                    subscriber.complete();\n                    break;\n                }\n                subscriber.next(start++);\n                if (subscriber.closed) {\n                    break;\n                }\n            } while (true);\n        }\n    };\n    return RangeObservable;\n}(Observable));\n//# sourceMappingURL=RangeObservable.js.map"
  },
  {
    "__docId__": 229,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RangeObservable",
    "memberof": "es6/observable/RangeObservable.js",
    "longname": "es6/observable/RangeObservable.js~RangeObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/RangeObservable.js",
    "importStyle": "{RangeObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 230,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/ScalarObservable.js",
    "memberof": null,
    "longname": "es6/observable/ScalarObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var ScalarObservable = (function (_super) {\n    __extends(ScalarObservable, _super);\n    function ScalarObservable(value, scheduler) {\n        _super.call(this);\n        this.value = value;\n        this.scheduler = scheduler;\n        this._isScalar = true;\n        if (scheduler) {\n            this._isScalar = false;\n        }\n    }\n    ScalarObservable.create = function (value, scheduler) {\n        return new ScalarObservable(value, scheduler);\n    };\n    ScalarObservable.dispatch = function (state) {\n        var done = state.done, value = state.value, subscriber = state.subscriber;\n        if (done) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(value);\n        if (subscriber.closed) {\n            return;\n        }\n        state.done = true;\n        this.schedule(state);\n    };\n    ScalarObservable.prototype._subscribe = function (subscriber) {\n        var value = this.value;\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(ScalarObservable.dispatch, 0, {\n                done: false, value: value, subscriber: subscriber\n            });\n        }\n        else {\n            subscriber.next(value);\n            if (!subscriber.closed) {\n                subscriber.complete();\n            }\n        }\n    };\n    return ScalarObservable;\n}(Observable));\n//# sourceMappingURL=ScalarObservable.js.map"
  },
  {
    "__docId__": 231,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ScalarObservable",
    "memberof": "es6/observable/ScalarObservable.js",
    "longname": "es6/observable/ScalarObservable.js~ScalarObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/ScalarObservable.js",
    "importStyle": "{ScalarObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 232,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/SubscribeOnObservable.js",
    "memberof": null,
    "longname": "es6/observable/SubscribeOnObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { asap } from '../scheduler/asap';\nimport { isNumeric } from '../util/isNumeric';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var SubscribeOnObservable = (function (_super) {\n    __extends(SubscribeOnObservable, _super);\n    function SubscribeOnObservable(source, delayTime, scheduler) {\n        if (delayTime === void 0) { delayTime = 0; }\n        if (scheduler === void 0) { scheduler = asap; }\n        _super.call(this);\n        this.source = source;\n        this.delayTime = delayTime;\n        this.scheduler = scheduler;\n        if (!isNumeric(delayTime) || delayTime < 0) {\n            this.delayTime = 0;\n        }\n        if (!scheduler || typeof scheduler.schedule !== 'function') {\n            this.scheduler = asap;\n        }\n    }\n    SubscribeOnObservable.create = function (source, delay, scheduler) {\n        if (delay === void 0) { delay = 0; }\n        if (scheduler === void 0) { scheduler = asap; }\n        return new SubscribeOnObservable(source, delay, scheduler);\n    };\n    SubscribeOnObservable.dispatch = function (arg) {\n        var source = arg.source, subscriber = arg.subscriber;\n        return source.subscribe(subscriber);\n    };\n    SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n        var delay = this.delayTime;\n        var source = this.source;\n        var scheduler = this.scheduler;\n        return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n            source: source, subscriber: subscriber\n        });\n    };\n    return SubscribeOnObservable;\n}(Observable));\n//# sourceMappingURL=SubscribeOnObservable.js.map"
  },
  {
    "__docId__": 233,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SubscribeOnObservable",
    "memberof": "es6/observable/SubscribeOnObservable.js",
    "longname": "es6/observable/SubscribeOnObservable.js~SubscribeOnObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/SubscribeOnObservable.js",
    "importStyle": "{SubscribeOnObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 234,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/TimerObservable.js",
    "memberof": null,
    "longname": "es6/observable/TimerObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { isNumeric } from '../util/isNumeric';\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isDate } from '../util/isDate';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var TimerObservable = (function (_super) {\n    __extends(TimerObservable, _super);\n    function TimerObservable(dueTime, period, scheduler) {\n        if (dueTime === void 0) { dueTime = 0; }\n        _super.call(this);\n        this.period = -1;\n        this.dueTime = 0;\n        if (isNumeric(period)) {\n            this.period = Number(period) < 1 && 1 || Number(period);\n        }\n        else if (isScheduler(period)) {\n            scheduler = period;\n        }\n        if (!isScheduler(scheduler)) {\n            scheduler = async;\n        }\n        this.scheduler = scheduler;\n        this.dueTime = isDate(dueTime) ?\n            (+dueTime - this.scheduler.now()) :\n            dueTime;\n    }\n    /**\n     * Creates an Observable that starts emitting after an `initialDelay` and\n     * emits ever increasing numbers after each `period` of time thereafter.\n     *\n     * <span class=\"informal\">Its like {@link interval}, but you can specify when\n     * should the emissions start.</span>\n     *\n     * <img src=\"./img/timer.png\" width=\"100%\">\n     *\n     * `timer` returns an Observable that emits an infinite sequence of ascending\n     * integers, with a constant interval of time, `period` of your choosing\n     * between those emissions. The first emission happens after the specified\n     * `initialDelay`. The initial delay may be a {@link Date}. By default, this\n     * operator uses the `async` Scheduler to provide a notion of time, but you\n     * may pass any Scheduler to it. If `period` is not specified, the output\n     * Observable emits only one value, `0`. Otherwise, it emits an infinite\n     * sequence.\n     *\n     * @example <caption>Emits ascending numbers, one every second (1000ms), starting after 3 seconds</caption>\n     * var numbers = Rx.Observable.timer(3000, 1000);\n     * numbers.subscribe(x => console.log(x));\n     *\n     * @example <caption>Emits one number after five seconds</caption>\n     * var numbers = Rx.Observable.timer(5000);\n     * numbers.subscribe(x => console.log(x));\n     *\n     * @see {@link interval}\n     * @see {@link delay}\n     *\n     * @param {number|Date} initialDelay The initial delay time to wait before\n     * emitting the first value of `0`.\n     * @param {number} [period] The period of time between emissions of the\n     * subsequent numbers.\n     * @param {Scheduler} [scheduler=async] The Scheduler to use for scheduling\n     * the emission of values, and providing a notion of \"time\".\n     * @return {Observable} An Observable that emits a `0` after the\n     * `initialDelay` and ever increasing numbers after each `period` of time\n     * thereafter.\n     * @static true\n     * @name timer\n     * @owner Observable\n     */\n    TimerObservable.create = function (initialDelay, period, scheduler) {\n        if (initialDelay === void 0) { initialDelay = 0; }\n        return new TimerObservable(initialDelay, period, scheduler);\n    };\n    TimerObservable.dispatch = function (state) {\n        var index = state.index, period = state.period, subscriber = state.subscriber;\n        var action = this;\n        subscriber.next(index);\n        if (subscriber.closed) {\n            return;\n        }\n        else if (period === -1) {\n            return subscriber.complete();\n        }\n        state.index = index + 1;\n        action.schedule(state, period);\n    };\n    TimerObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var _a = this, period = _a.period, dueTime = _a.dueTime, scheduler = _a.scheduler;\n        return scheduler.schedule(TimerObservable.dispatch, dueTime, {\n            index: index, period: period, subscriber: subscriber\n        });\n    };\n    return TimerObservable;\n}(Observable));\n//# sourceMappingURL=TimerObservable.js.map"
  },
  {
    "__docId__": 235,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimerObservable",
    "memberof": "es6/observable/TimerObservable.js",
    "longname": "es6/observable/TimerObservable.js~TimerObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/TimerObservable.js",
    "importStyle": "{TimerObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 11,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 236,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/UsingObservable.js",
    "memberof": null,
    "longname": "es6/observable/UsingObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var UsingObservable = (function (_super) {\n    __extends(UsingObservable, _super);\n    function UsingObservable(resourceFactory, observableFactory) {\n        _super.call(this);\n        this.resourceFactory = resourceFactory;\n        this.observableFactory = observableFactory;\n    }\n    UsingObservable.create = function (resourceFactory, observableFactory) {\n        return new UsingObservable(resourceFactory, observableFactory);\n    };\n    UsingObservable.prototype._subscribe = function (subscriber) {\n        var _a = this, resourceFactory = _a.resourceFactory, observableFactory = _a.observableFactory;\n        var resource;\n        try {\n            resource = resourceFactory();\n            return new UsingSubscriber(subscriber, resource, observableFactory);\n        }\n        catch (err) {\n            subscriber.error(err);\n        }\n    };\n    return UsingObservable;\n}(Observable));\nvar UsingSubscriber = (function (_super) {\n    __extends(UsingSubscriber, _super);\n    function UsingSubscriber(destination, resource, observableFactory) {\n        _super.call(this, destination);\n        this.resource = resource;\n        this.observableFactory = observableFactory;\n        destination.add(resource);\n        this.tryUse();\n    }\n    UsingSubscriber.prototype.tryUse = function () {\n        try {\n            var source = this.observableFactory.call(this, this.resource);\n            if (source) {\n                this.add(subscribeToResult(this, source));\n            }\n        }\n        catch (err) {\n            this._error(err);\n        }\n    };\n    return UsingSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=UsingObservable.js.map"
  },
  {
    "__docId__": 237,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "UsingObservable",
    "memberof": "es6/observable/UsingObservable.js",
    "longname": "es6/observable/UsingObservable.js~UsingObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/UsingObservable.js",
    "importStyle": "{UsingObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 238,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "UsingSubscriber",
    "memberof": "es6/observable/UsingObservable.js",
    "longname": "es6/observable/UsingObservable.js~UsingSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/UsingObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 32,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 239,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/bindCallback.js",
    "memberof": null,
    "longname": "es6/observable/bindCallback.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { BoundCallbackObservable } from './BoundCallbackObservable';\nexport var bindCallback = BoundCallbackObservable.create;\n//# sourceMappingURL=bindCallback.js.map"
  },
  {
    "__docId__": 240,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "bindCallback",
    "memberof": "es6/observable/bindCallback.js",
    "longname": "es6/observable/bindCallback.js~bindCallback",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/bindCallback.js",
    "importStyle": "{bindCallback}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 241,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/bindNodeCallback.js",
    "memberof": null,
    "longname": "es6/observable/bindNodeCallback.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { BoundNodeCallbackObservable } from './BoundNodeCallbackObservable';\nexport var bindNodeCallback = BoundNodeCallbackObservable.create;\n//# sourceMappingURL=bindNodeCallback.js.map"
  },
  {
    "__docId__": 242,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "bindNodeCallback",
    "memberof": "es6/observable/bindNodeCallback.js",
    "longname": "es6/observable/bindNodeCallback.js~bindNodeCallback",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/bindNodeCallback.js",
    "importStyle": "{bindNodeCallback}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 243,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/combineLatest.js",
    "memberof": null,
    "longname": "es6/observable/combineLatest.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { ArrayObservable } from './ArrayObservable';\nimport { CombineLatestOperator } from '../operator/combineLatest';\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * <span class=\"informal\">Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.</span>\n *\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\n *\n * `combineLatest` combines the values from all the Observables passed as\n * arguments. This is done by subscribing to each Observable, in order, and\n * collecting an array of each of the most recent values any time any of the\n * input Observables emits, then either taking that array and passing it as\n * arguments to an optional `project` function and emitting the return value of\n * that, or just emitting the array of recent values directly if there is no\n * `project` function.\n *\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} observable1 An input Observable to combine with the\n * source Observable.\n * @param {Observable} observable2 An input Observable to combine with the\n * source Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to\n * each input Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @static true\n * @name combineLatest\n * @owner Observable\n */\nexport function combineLatest() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var project = null;\n    var scheduler = null;\n    if (isScheduler(observables[observables.length - 1])) {\n        scheduler = observables.pop();\n    }\n    if (typeof observables[observables.length - 1] === 'function') {\n        project = observables.pop();\n    }\n    // if the first and only other argument besides the resultSelector is an array\n    // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\n    if (observables.length === 1 && isArray(observables[0])) {\n        observables = observables[0];\n    }\n    return new ArrayObservable(observables, scheduler).lift(new CombineLatestOperator(project));\n}\n//# sourceMappingURL=combineLatest.js.map"
  },
  {
    "__docId__": 244,
    "kind": "method",
    "static": true,
    "variation": null,
    "name": "combineLatest",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/observable/combineLatest.js~combineLatest",
    "access": null,
    "export": true,
    "description": "Combines multiple Observables to create an Observable whose values are\ncalculated from the latest values of each of its input Observables.\n\n<span class=\"informal\">Whenever any input Observable emits a value, it\ncomputes a formula using the latest values from all the inputs, then emits\nthe output of that formula.</span>\n\n<img src=\"./img/combineLatest.png\" width=\"100%\">\n\n`combineLatest` combines the values from all the Observables passed as\narguments. This is done by subscribing to each Observable, in order, and\ncollecting an array of each of the most recent values any time any of the\ninput Observables emits, then either taking that array and passing it as\narguments to an optional `project` function and emitting the return value of\nthat, or just emitting the array of recent values directly if there is no\n`project` function.",
    "examples": [
      "<caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\nvar weight = Rx.Observable.of(70, 72, 76, 79, 75);\nvar height = Rx.Observable.of(1.76, 1.77, 1.78);\nvar bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));\nbmi.subscribe(x => console.log('BMI is ' + x));"
    ],
    "see": [
      "{@link combineAll}",
      "{@link merge}",
      "{@link withLatestFrom}"
    ],
    "lineNumber": 49,
    "unknown": [
      {
        "tagName": "@static",
        "tagValue": "true"
      },
      {
        "tagName": "@name",
        "tagValue": "combineLatest"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "observable1",
        "description": "An input Observable to combine with the\nsource Observable."
      },
      {
        "nullable": null,
        "types": [
          "Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "observable2",
        "description": "An input Observable to combine with the\nsource Observable. More than one input Observables may be given as argument."
      },
      {
        "nullable": null,
        "types": [
          "function"
        ],
        "spread": false,
        "optional": true,
        "name": "project",
        "description": "An optional function to project the values from\nthe combined latest values into a new value on the output Observable."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "null",
        "defaultRaw": null,
        "name": "scheduler",
        "description": "The Scheduler to use for subscribing to\neach input Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable of projected values from the most recent\nvalues from each input Observable, or an array of the most recent values from\neach input Observable."
    },
    "generator": false
  },
  {
    "__docId__": 245,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/concat.js",
    "memberof": null,
    "longname": "es6/observable/concat.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { concatStatic } from '../operator/concat';\nexport var concat = concatStatic;\n//# sourceMappingURL=concat.js.map"
  },
  {
    "__docId__": 246,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "concat",
    "memberof": "es6/observable/concat.js",
    "longname": "es6/observable/concat.js~concat",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/concat.js",
    "importStyle": "{concat}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 247,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/defer.js",
    "memberof": null,
    "longname": "es6/observable/defer.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { DeferObservable } from './DeferObservable';\nexport var defer = DeferObservable.create;\n//# sourceMappingURL=defer.js.map"
  },
  {
    "__docId__": 248,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "defer",
    "memberof": "es6/observable/defer.js",
    "longname": "es6/observable/defer.js~defer",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/defer.js",
    "importStyle": "{defer}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 249,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/dom/AjaxObservable.js",
    "memberof": null,
    "longname": "es6/observable/dom/AjaxObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from '../../util/root';\nimport { tryCatch } from '../../util/tryCatch';\nimport { errorObject } from '../../util/errorObject';\nimport { Observable } from '../../Observable';\nimport { Subscriber } from '../../Subscriber';\nimport { MapOperator } from '../../operator/map';\nfunction getCORSRequest() {\n    if (root.XMLHttpRequest) {\n        var xhr = new root.XMLHttpRequest();\n        if ('withCredentials' in xhr) {\n            xhr.withCredentials = !!this.withCredentials;\n        }\n        return xhr;\n    }\n    else if (!!root.XDomainRequest) {\n        return new root.XDomainRequest();\n    }\n    else {\n        throw new Error('CORS is not supported by your browser');\n    }\n}\nfunction getXMLHttpRequest() {\n    if (root.XMLHttpRequest) {\n        return new root.XMLHttpRequest();\n    }\n    else {\n        var progId = void 0;\n        try {\n            var progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];\n            for (var i = 0; i < 3; i++) {\n                try {\n                    progId = progIds[i];\n                    if (new root.ActiveXObject(progId)) {\n                        break;\n                    }\n                }\n                catch (e) {\n                }\n            }\n            return new root.ActiveXObject(progId);\n        }\n        catch (e) {\n            throw new Error('XMLHttpRequest is not supported by your browser');\n        }\n    }\n}\nexport function ajaxGet(url, headers) {\n    if (headers === void 0) { headers = null; }\n    return new AjaxObservable({ method: 'GET', url: url, headers: headers });\n}\n;\nexport function ajaxPost(url, body, headers) {\n    return new AjaxObservable({ method: 'POST', url: url, body: body, headers: headers });\n}\n;\nexport function ajaxDelete(url, headers) {\n    return new AjaxObservable({ method: 'DELETE', url: url, headers: headers });\n}\n;\nexport function ajaxPut(url, body, headers) {\n    return new AjaxObservable({ method: 'PUT', url: url, body: body, headers: headers });\n}\n;\nexport function ajaxGetJSON(url, headers) {\n    return new AjaxObservable({ method: 'GET', url: url, responseType: 'json', headers: headers })\n        .lift(new MapOperator(function (x, index) { return x.response; }, null));\n}\n;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var AjaxObservable = (function (_super) {\n    __extends(AjaxObservable, _super);\n    function AjaxObservable(urlOrRequest) {\n        _super.call(this);\n        var request = {\n            async: true,\n            createXHR: function () {\n                return this.crossDomain ? getCORSRequest.call(this) : getXMLHttpRequest();\n            },\n            crossDomain: false,\n            withCredentials: false,\n            headers: {},\n            method: 'GET',\n            responseType: 'json',\n            timeout: 0\n        };\n        if (typeof urlOrRequest === 'string') {\n            request.url = urlOrRequest;\n        }\n        else {\n            for (var prop in urlOrRequest) {\n                if (urlOrRequest.hasOwnProperty(prop)) {\n                    request[prop] = urlOrRequest[prop];\n                }\n            }\n        }\n        this.request = request;\n    }\n    AjaxObservable.prototype._subscribe = function (subscriber) {\n        return new AjaxSubscriber(subscriber, this.request);\n    };\n    /**\n     * Creates an observable for an Ajax request with either a request object with\n     * url, headers, etc or a string for a URL.\n     *\n     * @example\n     * source = Rx.Observable.ajax('/products');\n     * source = Rx.Observable.ajax({ url: 'products', method: 'GET' });\n     *\n     * @param {string|Object} request Can be one of the following:\n     *   A string of the URL to make the Ajax call.\n     *   An object with the following properties\n     *   - url: URL of the request\n     *   - body: The body of the request\n     *   - method: Method of the request, such as GET, POST, PUT, PATCH, DELETE\n     *   - async: Whether the request is async\n     *   - headers: Optional headers\n     *   - crossDomain: true if a cross domain request, else false\n     *   - createXHR: a function to override if you need to use an alternate\n     *   XMLHttpRequest implementation.\n     *   - resultSelector: a function to use to alter the output value type of\n     *   the Observable. Gets {@link AjaxResponse} as an argument.\n     * @return {Observable} An observable sequence containing the XMLHttpRequest.\n     * @static true\n     * @name ajax\n     * @owner Observable\n    */\n    AjaxObservable.create = (function () {\n        var create = function (urlOrRequest) {\n            return new AjaxObservable(urlOrRequest);\n        };\n        create.get = ajaxGet;\n        create.post = ajaxPost;\n        create.delete = ajaxDelete;\n        create.put = ajaxPut;\n        create.getJSON = ajaxGetJSON;\n        return create;\n    })();\n    return AjaxObservable;\n}(Observable));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var AjaxSubscriber = (function (_super) {\n    __extends(AjaxSubscriber, _super);\n    function AjaxSubscriber(destination, request) {\n        _super.call(this, destination);\n        this.request = request;\n        this.done = false;\n        var headers = request.headers = request.headers || {};\n        // force CORS if requested\n        if (!request.crossDomain && !headers['X-Requested-With']) {\n            headers['X-Requested-With'] = 'XMLHttpRequest';\n        }\n        // ensure content type is set\n        if (!('Content-Type' in headers) && !(root.FormData && request.body instanceof root.FormData) && typeof request.body !== 'undefined') {\n            headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n        }\n        // properly serialize body\n        request.body = this.serializeBody(request.body, request.headers['Content-Type']);\n        this.send();\n    }\n    AjaxSubscriber.prototype.next = function (e) {\n        this.done = true;\n        var _a = this, xhr = _a.xhr, request = _a.request, destination = _a.destination;\n        var response = new AjaxResponse(e, xhr, request);\n        destination.next(response);\n    };\n    AjaxSubscriber.prototype.send = function () {\n        var _a = this, request = _a.request, _b = _a.request, user = _b.user, method = _b.method, url = _b.url, async = _b.async, password = _b.password, headers = _b.headers, body = _b.body;\n        var createXHR = request.createXHR;\n        var xhr = tryCatch(createXHR).call(request);\n        if (xhr === errorObject) {\n            this.error(errorObject.e);\n        }\n        else {\n            this.xhr = xhr;\n            // open XHR first\n            var result = void 0;\n            if (user) {\n                result = tryCatch(xhr.open).call(xhr, method, url, async, user, password);\n            }\n            else {\n                result = tryCatch(xhr.open).call(xhr, method, url, async);\n            }\n            if (result === errorObject) {\n                this.error(errorObject.e);\n                return null;\n            }\n            // timeout and responseType can be set once the XHR is open\n            xhr.timeout = request.timeout;\n            xhr.responseType = request.responseType;\n            // set headers\n            this.setHeaders(xhr, headers);\n            // now set up the events\n            this.setupEvents(xhr, request);\n            // finally send the request\n            if (body) {\n                xhr.send(body);\n            }\n            else {\n                xhr.send();\n            }\n        }\n        return xhr;\n    };\n    AjaxSubscriber.prototype.serializeBody = function (body, contentType) {\n        if (!body || typeof body === 'string') {\n            return body;\n        }\n        else if (root.FormData && body instanceof root.FormData) {\n            return body;\n        }\n        if (contentType) {\n            var splitIndex = contentType.indexOf(';');\n            if (splitIndex !== -1) {\n                contentType = contentType.substring(0, splitIndex);\n            }\n        }\n        switch (contentType) {\n            case 'application/x-www-form-urlencoded':\n                return Object.keys(body).map(function (key) { return (encodeURI(key) + \"=\" + encodeURI(body[key])); }).join('&');\n            case 'application/json':\n                return JSON.stringify(body);\n            default:\n                return body;\n        }\n    };\n    AjaxSubscriber.prototype.setHeaders = function (xhr, headers) {\n        for (var key in headers) {\n            if (headers.hasOwnProperty(key)) {\n                xhr.setRequestHeader(key, headers[key]);\n            }\n        }\n    };\n    AjaxSubscriber.prototype.setupEvents = function (xhr, request) {\n        var progressSubscriber = request.progressSubscriber;\n        function xhrTimeout(e) {\n            var _a = xhrTimeout, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n            if (progressSubscriber) {\n                progressSubscriber.error(e);\n            }\n            subscriber.error(new AjaxTimeoutError(this, request)); //TODO: Make betterer.\n        }\n        ;\n        xhr.ontimeout = xhrTimeout;\n        xhrTimeout.request = request;\n        xhrTimeout.subscriber = this;\n        xhrTimeout.progressSubscriber = progressSubscriber;\n        if (xhr.upload && 'withCredentials' in xhr && root.XDomainRequest) {\n            if (progressSubscriber) {\n                var xhrProgress_1;\n                xhrProgress_1 = function (e) {\n                    var progressSubscriber = xhrProgress_1.progressSubscriber;\n                    progressSubscriber.next(e);\n                };\n                xhr.onprogress = xhrProgress_1;\n                xhrProgress_1.progressSubscriber = progressSubscriber;\n            }\n            var xhrError_1;\n            xhrError_1 = function (e) {\n                var _a = xhrError_1, progressSubscriber = _a.progressSubscriber, subscriber = _a.subscriber, request = _a.request;\n                if (progressSubscriber) {\n                    progressSubscriber.error(e);\n                }\n                subscriber.error(new AjaxError('ajax error', this, request));\n            };\n            xhr.onerror = xhrError_1;\n            xhrError_1.request = request;\n            xhrError_1.subscriber = this;\n            xhrError_1.progressSubscriber = progressSubscriber;\n        }\n        function xhrReadyStateChange(e) {\n            var _a = xhrReadyStateChange, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n            if (this.readyState === 4) {\n                // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n                var status_1 = this.status === 1223 ? 204 : this.status;\n                var response = (this.responseType === 'text' ? (this.response || this.responseText) : this.response);\n                // fix status code when it is 0 (0 status is undocumented).\n                // Occurs when accessing file resources or on Android 4.1 stock browser\n                // while retrieving files from application cache.\n                if (status_1 === 0) {\n                    status_1 = response ? 200 : 0;\n                }\n                if (200 <= status_1 && status_1 < 300) {\n                    if (progressSubscriber) {\n                        progressSubscriber.complete();\n                    }\n                    subscriber.next(e);\n                    subscriber.complete();\n                }\n                else {\n                    if (progressSubscriber) {\n                        progressSubscriber.error(e);\n                    }\n                    subscriber.error(new AjaxError('ajax error ' + status_1, this, request));\n                }\n            }\n        }\n        ;\n        xhr.onreadystatechange = xhrReadyStateChange;\n        xhrReadyStateChange.subscriber = this;\n        xhrReadyStateChange.progressSubscriber = progressSubscriber;\n        xhrReadyStateChange.request = request;\n    };\n    AjaxSubscriber.prototype.unsubscribe = function () {\n        var _a = this, done = _a.done, xhr = _a.xhr;\n        if (!done && xhr && xhr.readyState !== 4 && typeof xhr.abort === 'function') {\n            xhr.abort();\n        }\n        _super.prototype.unsubscribe.call(this);\n    };\n    return AjaxSubscriber;\n}(Subscriber));\n/**\n * A normalized AJAX response.\n *\n * @see {@link ajax}\n *\n * @class AjaxResponse\n */\nexport var AjaxResponse = (function () {\n    function AjaxResponse(originalEvent, xhr, request) {\n        this.originalEvent = originalEvent;\n        this.xhr = xhr;\n        this.request = request;\n        this.status = xhr.status;\n        this.responseType = xhr.responseType || request.responseType;\n        switch (this.responseType) {\n            case 'json':\n                if ('response' in xhr) {\n                    //IE does not support json as responseType, parse it internally\n                    this.response = xhr.responseType ? xhr.response : JSON.parse(xhr.response || xhr.responseText || 'null');\n                }\n                else {\n                    this.response = JSON.parse(xhr.responseText || 'null');\n                }\n                break;\n            case 'xml':\n                this.response = xhr.responseXML;\n                break;\n            case 'text':\n            default:\n                this.response = ('response' in xhr) ? xhr.response : xhr.responseText;\n                break;\n        }\n    }\n    return AjaxResponse;\n}());\n/**\n * A normalized AJAX error.\n *\n * @see {@link ajax}\n *\n * @class AjaxError\n */\nexport var AjaxError = (function (_super) {\n    __extends(AjaxError, _super);\n    function AjaxError(message, xhr, request) {\n        _super.call(this, message);\n        this.message = message;\n        this.xhr = xhr;\n        this.request = request;\n        this.status = xhr.status;\n    }\n    return AjaxError;\n}(Error));\n/**\n * @see {@link ajax}\n *\n * @class AjaxTimeoutError\n */\nexport var AjaxTimeoutError = (function (_super) {\n    __extends(AjaxTimeoutError, _super);\n    function AjaxTimeoutError(xhr, request) {\n        _super.call(this, 'ajax timeout', xhr, request);\n    }\n    return AjaxTimeoutError;\n}(AjaxError));\n//# sourceMappingURL=AjaxObservable.js.map"
  },
  {
    "__docId__": 250,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "getCORSRequest",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~getCORSRequest",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 251,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "getXMLHttpRequest",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~getXMLHttpRequest",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 22,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 252,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "ajaxGet",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~ajaxGet",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{ajaxGet}",
    "description": null,
    "lineNumber": 47,
    "undocument": true,
    "params": [
      {
        "name": "url",
        "types": [
          "*"
        ]
      },
      {
        "name": "headers",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 253,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "ajaxPost",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~ajaxPost",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{ajaxPost}",
    "description": null,
    "lineNumber": 52,
    "undocument": true,
    "params": [
      {
        "name": "url",
        "types": [
          "*"
        ]
      },
      {
        "name": "body",
        "types": [
          "*"
        ]
      },
      {
        "name": "headers",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 254,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "ajaxDelete",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~ajaxDelete",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{ajaxDelete}",
    "description": null,
    "lineNumber": 56,
    "undocument": true,
    "params": [
      {
        "name": "url",
        "types": [
          "*"
        ]
      },
      {
        "name": "headers",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 255,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "ajaxPut",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~ajaxPut",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{ajaxPut}",
    "description": null,
    "lineNumber": 60,
    "undocument": true,
    "params": [
      {
        "name": "url",
        "types": [
          "*"
        ]
      },
      {
        "name": "body",
        "types": [
          "*"
        ]
      },
      {
        "name": "headers",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 256,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "ajaxGetJSON",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~ajaxGetJSON",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{ajaxGetJSON}",
    "description": null,
    "lineNumber": 64,
    "undocument": true,
    "params": [
      {
        "name": "url",
        "types": [
          "*"
        ]
      },
      {
        "name": "headers",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 257,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AjaxObservable",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~AjaxObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{AjaxObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 74,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 258,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AjaxSubscriber",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~AjaxSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{AjaxSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 149,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 259,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AjaxResponse",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~AjaxResponse",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{AjaxResponse}",
    "description": "A normalized AJAX response.",
    "see": [
      "{@link ajax}"
    ],
    "lineNumber": 327,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "AjaxResponse"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 260,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AjaxError",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~AjaxError",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{AjaxError}",
    "description": "A normalized AJAX error.",
    "see": [
      "{@link ajax}"
    ],
    "lineNumber": 362,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "AjaxError"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 261,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AjaxTimeoutError",
    "memberof": "es6/observable/dom/AjaxObservable.js",
    "longname": "es6/observable/dom/AjaxObservable.js~AjaxTimeoutError",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/AjaxObservable.js",
    "importStyle": "{AjaxTimeoutError}",
    "description": "",
    "see": [
      "{@link ajax}"
    ],
    "lineNumber": 378,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "AjaxTimeoutError"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 262,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/dom/WebSocketSubject.js",
    "memberof": null,
    "longname": "es6/observable/dom/WebSocketSubject.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject, AnonymousSubject } from '../../Subject';\nimport { Subscriber } from '../../Subscriber';\nimport { Observable } from '../../Observable';\nimport { Subscription } from '../../Subscription';\nimport { root } from '../../util/root';\nimport { ReplaySubject } from '../../ReplaySubject';\nimport { tryCatch } from '../../util/tryCatch';\nimport { errorObject } from '../../util/errorObject';\nimport { assign } from '../../util/assign';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nexport var WebSocketSubject = (function (_super) {\n    __extends(WebSocketSubject, _super);\n    function WebSocketSubject(urlConfigOrSource, destination) {\n        if (urlConfigOrSource instanceof Observable) {\n            _super.call(this, destination, urlConfigOrSource);\n        }\n        else {\n            _super.call(this);\n            this.WebSocketCtor = root.WebSocket;\n            this._output = new Subject();\n            if (typeof urlConfigOrSource === 'string') {\n                this.url = urlConfigOrSource;\n            }\n            else {\n                // WARNING: config object could override important members here.\n                assign(this, urlConfigOrSource);\n            }\n            if (!this.WebSocketCtor) {\n                throw new Error('no WebSocket constructor can be found');\n            }\n            this.destination = new ReplaySubject();\n        }\n    }\n    WebSocketSubject.prototype.resultSelector = function (e) {\n        return JSON.parse(e.data);\n    };\n    /**\n     * @param urlConfigOrSource\n     * @return {WebSocketSubject}\n     * @static true\n     * @name webSocket\n     * @owner Observable\n     */\n    WebSocketSubject.create = function (urlConfigOrSource) {\n        return new WebSocketSubject(urlConfigOrSource);\n    };\n    WebSocketSubject.prototype.lift = function (operator) {\n        var sock = new WebSocketSubject(this, this.destination);\n        sock.operator = operator;\n        return sock;\n    };\n    WebSocketSubject.prototype._resetState = function () {\n        this.socket = null;\n        if (!this.source) {\n            this.destination = new ReplaySubject();\n        }\n        this._output = new Subject();\n    };\n    // TODO: factor this out to be a proper Operator/Subscriber implementation and eliminate closures\n    WebSocketSubject.prototype.multiplex = function (subMsg, unsubMsg, messageFilter) {\n        var self = this;\n        return new Observable(function (observer) {\n            var result = tryCatch(subMsg)();\n            if (result === errorObject) {\n                observer.error(errorObject.e);\n            }\n            else {\n                self.next(result);\n            }\n            var subscription = self.subscribe(function (x) {\n                var result = tryCatch(messageFilter)(x);\n                if (result === errorObject) {\n                    observer.error(errorObject.e);\n                }\n                else if (result) {\n                    observer.next(x);\n                }\n            }, function (err) { return observer.error(err); }, function () { return observer.complete(); });\n            return function () {\n                var result = tryCatch(unsubMsg)();\n                if (result === errorObject) {\n                    observer.error(errorObject.e);\n                }\n                else {\n                    self.next(result);\n                }\n                subscription.unsubscribe();\n            };\n        });\n    };\n    WebSocketSubject.prototype._connectSocket = function () {\n        var _this = this;\n        var WebSocketCtor = this.WebSocketCtor;\n        var observer = this._output;\n        var socket = null;\n        try {\n            socket = this.protocol ?\n                new WebSocketCtor(this.url, this.protocol) :\n                new WebSocketCtor(this.url);\n            this.socket = socket;\n        }\n        catch (e) {\n            observer.error(e);\n            return;\n        }\n        var subscription = new Subscription(function () {\n            _this.socket = null;\n            if (socket && socket.readyState === 1) {\n                socket.close();\n            }\n        });\n        socket.onopen = function (e) {\n            var openObserver = _this.openObserver;\n            if (openObserver) {\n                openObserver.next(e);\n            }\n            var queue = _this.destination;\n            _this.destination = Subscriber.create(function (x) { return socket.readyState === 1 && socket.send(x); }, function (e) {\n                var closingObserver = _this.closingObserver;\n                if (closingObserver) {\n                    closingObserver.next(undefined);\n                }\n                if (e && e.code) {\n                    socket.close(e.code, e.reason);\n                }\n                else {\n                    observer.error(new TypeError('WebSocketSubject.error must be called with an object with an error code, ' +\n                        'and an optional reason: { code: number, reason: string }'));\n                }\n                _this._resetState();\n            }, function () {\n                var closingObserver = _this.closingObserver;\n                if (closingObserver) {\n                    closingObserver.next(undefined);\n                }\n                socket.close();\n                _this._resetState();\n            });\n            if (queue && queue instanceof ReplaySubject) {\n                subscription.add(queue.subscribe(_this.destination));\n            }\n        };\n        socket.onerror = function (e) {\n            _this._resetState();\n            observer.error(e);\n        };\n        socket.onclose = function (e) {\n            _this._resetState();\n            var closeObserver = _this.closeObserver;\n            if (closeObserver) {\n                closeObserver.next(e);\n            }\n            if (e.wasClean) {\n                observer.complete();\n            }\n            else {\n                observer.error(e);\n            }\n        };\n        socket.onmessage = function (e) {\n            var result = tryCatch(_this.resultSelector)(e);\n            if (result === errorObject) {\n                observer.error(errorObject.e);\n            }\n            else {\n                observer.next(result);\n            }\n        };\n    };\n    WebSocketSubject.prototype._subscribe = function (subscriber) {\n        var _this = this;\n        var source = this.source;\n        if (source) {\n            return source.subscribe(subscriber);\n        }\n        if (!this.socket) {\n            this._connectSocket();\n        }\n        var subscription = new Subscription();\n        subscription.add(this._output.subscribe(subscriber));\n        subscription.add(function () {\n            var socket = _this.socket;\n            if (_this._output.observers.length === 0) {\n                if (socket && socket.readyState === 1) {\n                    socket.close();\n                }\n                _this._resetState();\n            }\n        });\n        return subscription;\n    };\n    WebSocketSubject.prototype.unsubscribe = function () {\n        var _a = this, source = _a.source, socket = _a.socket;\n        if (socket && socket.readyState === 1) {\n            socket.close();\n            this._resetState();\n        }\n        _super.prototype.unsubscribe.call(this);\n        if (!source) {\n            this.destination = new ReplaySubject();\n        }\n    };\n    return WebSocketSubject;\n}(AnonymousSubject));\n//# sourceMappingURL=WebSocketSubject.js.map"
  },
  {
    "__docId__": 263,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WebSocketSubject",
    "memberof": "es6/observable/dom/WebSocketSubject.js",
    "longname": "es6/observable/dom/WebSocketSubject.js~WebSocketSubject",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/WebSocketSubject.js",
    "importStyle": "{WebSocketSubject}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 15,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      },
      {
        "tagName": "@hide",
        "tagValue": "true"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    },
    "builtinExternal": true
  },
  {
    "__docId__": 264,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/dom/ajax.js",
    "memberof": null,
    "longname": "es6/observable/dom/ajax.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AjaxObservable } from './AjaxObservable';\nexport var ajax = AjaxObservable.create;\n//# sourceMappingURL=ajax.js.map"
  },
  {
    "__docId__": 265,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ajax",
    "memberof": "es6/observable/dom/ajax.js",
    "longname": "es6/observable/dom/ajax.js~ajax",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/ajax.js",
    "importStyle": "{ajax}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 266,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/dom/webSocket.js",
    "memberof": null,
    "longname": "es6/observable/dom/webSocket.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { WebSocketSubject } from './WebSocketSubject';\nexport var webSocket = WebSocketSubject.create;\n//# sourceMappingURL=webSocket.js.map"
  },
  {
    "__docId__": 267,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "webSocket",
    "memberof": "es6/observable/dom/webSocket.js",
    "longname": "es6/observable/dom/webSocket.js~webSocket",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/dom/webSocket.js",
    "importStyle": "{webSocket}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 268,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/empty.js",
    "memberof": null,
    "longname": "es6/observable/empty.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { EmptyObservable } from './EmptyObservable';\nexport var empty = EmptyObservable.create;\n//# sourceMappingURL=empty.js.map"
  },
  {
    "__docId__": 269,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "empty",
    "memberof": "es6/observable/empty.js",
    "longname": "es6/observable/empty.js~empty",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/empty.js",
    "importStyle": "{empty}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 270,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/forkJoin.js",
    "memberof": null,
    "longname": "es6/observable/forkJoin.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ForkJoinObservable } from './ForkJoinObservable';\nexport var forkJoin = ForkJoinObservable.create;\n//# sourceMappingURL=forkJoin.js.map"
  },
  {
    "__docId__": 271,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "forkJoin",
    "memberof": "es6/observable/forkJoin.js",
    "longname": "es6/observable/forkJoin.js~forkJoin",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/forkJoin.js",
    "importStyle": "{forkJoin}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 272,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/from.js",
    "memberof": null,
    "longname": "es6/observable/from.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { FromObservable } from './FromObservable';\nexport var from = FromObservable.create;\n//# sourceMappingURL=from.js.map"
  },
  {
    "__docId__": 273,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "from",
    "memberof": "es6/observable/from.js",
    "longname": "es6/observable/from.js~from",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/from.js",
    "importStyle": "{from}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 274,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/fromEvent.js",
    "memberof": null,
    "longname": "es6/observable/fromEvent.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { FromEventObservable } from './FromEventObservable';\nexport var fromEvent = FromEventObservable.create;\n//# sourceMappingURL=fromEvent.js.map"
  },
  {
    "__docId__": 275,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "fromEvent",
    "memberof": "es6/observable/fromEvent.js",
    "longname": "es6/observable/fromEvent.js~fromEvent",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/fromEvent.js",
    "importStyle": "{fromEvent}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 276,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/fromEventPattern.js",
    "memberof": null,
    "longname": "es6/observable/fromEventPattern.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { FromEventPatternObservable } from './FromEventPatternObservable';\nexport var fromEventPattern = FromEventPatternObservable.create;\n//# sourceMappingURL=fromEventPattern.js.map"
  },
  {
    "__docId__": 277,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "fromEventPattern",
    "memberof": "es6/observable/fromEventPattern.js",
    "longname": "es6/observable/fromEventPattern.js~fromEventPattern",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/fromEventPattern.js",
    "importStyle": "{fromEventPattern}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 278,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/fromPromise.js",
    "memberof": null,
    "longname": "es6/observable/fromPromise.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { PromiseObservable } from './PromiseObservable';\nexport var fromPromise = PromiseObservable.create;\n//# sourceMappingURL=fromPromise.js.map"
  },
  {
    "__docId__": 279,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "fromPromise",
    "memberof": "es6/observable/fromPromise.js",
    "longname": "es6/observable/fromPromise.js~fromPromise",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/fromPromise.js",
    "importStyle": "{fromPromise}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 280,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/if.js",
    "memberof": null,
    "longname": "es6/observable/if.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { IfObservable } from './IfObservable';\nexport var _if = IfObservable.create;\n//# sourceMappingURL=if.js.map"
  },
  {
    "__docId__": 281,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "_if",
    "memberof": "es6/observable/if.js",
    "longname": "es6/observable/if.js~_if",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/if.js",
    "importStyle": "{_if}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 282,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/interval.js",
    "memberof": null,
    "longname": "es6/observable/interval.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { IntervalObservable } from './IntervalObservable';\nexport var interval = IntervalObservable.create;\n//# sourceMappingURL=interval.js.map"
  },
  {
    "__docId__": 283,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "interval",
    "memberof": "es6/observable/interval.js",
    "longname": "es6/observable/interval.js~interval",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/interval.js",
    "importStyle": "{interval}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 284,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/merge.js",
    "memberof": null,
    "longname": "es6/observable/merge.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { mergeStatic } from '../operator/merge';\nexport var merge = mergeStatic;\n//# sourceMappingURL=merge.js.map"
  },
  {
    "__docId__": 285,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "merge",
    "memberof": "es6/observable/merge.js",
    "longname": "es6/observable/merge.js~merge",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/merge.js",
    "importStyle": "{merge}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 286,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/never.js",
    "memberof": null,
    "longname": "es6/observable/never.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { NeverObservable } from './NeverObservable';\nexport var never = NeverObservable.create;\n//# sourceMappingURL=never.js.map"
  },
  {
    "__docId__": 287,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "never",
    "memberof": "es6/observable/never.js",
    "longname": "es6/observable/never.js~never",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/never.js",
    "importStyle": "{never}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 288,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/of.js",
    "memberof": null,
    "longname": "es6/observable/of.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ArrayObservable } from './ArrayObservable';\nexport var of = ArrayObservable.of;\n//# sourceMappingURL=of.js.map"
  },
  {
    "__docId__": 289,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "of",
    "memberof": "es6/observable/of.js",
    "longname": "es6/observable/of.js~of",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/of.js",
    "importStyle": "{of}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 290,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/pairs.js",
    "memberof": null,
    "longname": "es6/observable/pairs.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { PairsObservable } from './PairsObservable';\nexport var pairs = PairsObservable.create;\n//# sourceMappingURL=pairs.js.map"
  },
  {
    "__docId__": 291,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "pairs",
    "memberof": "es6/observable/pairs.js",
    "longname": "es6/observable/pairs.js~pairs",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/pairs.js",
    "importStyle": "{pairs}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 292,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/range.js",
    "memberof": null,
    "longname": "es6/observable/range.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { RangeObservable } from './RangeObservable';\nexport var range = RangeObservable.create;\n//# sourceMappingURL=range.js.map"
  },
  {
    "__docId__": 293,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "range",
    "memberof": "es6/observable/range.js",
    "longname": "es6/observable/range.js~range",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/range.js",
    "importStyle": "{range}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 294,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/throw.js",
    "memberof": null,
    "longname": "es6/observable/throw.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ErrorObservable } from './ErrorObservable';\nexport var _throw = ErrorObservable.create;\n//# sourceMappingURL=throw.js.map"
  },
  {
    "__docId__": 295,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "_throw",
    "memberof": "es6/observable/throw.js",
    "longname": "es6/observable/throw.js~_throw",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/throw.js",
    "importStyle": "{_throw}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 296,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/timer.js",
    "memberof": null,
    "longname": "es6/observable/timer.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { TimerObservable } from './TimerObservable';\nexport var timer = TimerObservable.create;\n//# sourceMappingURL=timer.js.map"
  },
  {
    "__docId__": 297,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "timer",
    "memberof": "es6/observable/timer.js",
    "longname": "es6/observable/timer.js~timer",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/timer.js",
    "importStyle": "{timer}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 298,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/using.js",
    "memberof": null,
    "longname": "es6/observable/using.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { UsingObservable } from './UsingObservable';\nexport var using = UsingObservable.create;\n//# sourceMappingURL=using.js.map"
  },
  {
    "__docId__": 299,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "using",
    "memberof": "es6/observable/using.js",
    "longname": "es6/observable/using.js~using",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/using.js",
    "importStyle": "{using}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 300,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/observable/zip.js",
    "memberof": null,
    "longname": "es6/observable/zip.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { zipStatic } from '../operator/zip';\nexport var zip = zipStatic;\n//# sourceMappingURL=zip.js.map"
  },
  {
    "__docId__": 301,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "zip",
    "memberof": "es6/observable/zip.js",
    "longname": "es6/observable/zip.js~zip",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/observable/zip.js",
    "importStyle": "{zip}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 302,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/audit.js",
    "memberof": null,
    "longname": "es6/operator/audit.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Ignores source values for a duration determined by another Observable, then\n * emits the most recent value from the source Observable, then repeats this\n * process.\n *\n * <span class=\"informal\">It's like {@link auditTime}, but the silencing\n * duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/audit.png\" width=\"100%\">\n *\n * `audit` is similar to `throttle`, but emits the last value from the silenced\n * time window, instead of the first value. `audit` emits the most recent value\n * from the source Observable on the output Observable as soon as its internal\n * timer becomes disabled, and ignores source values while the timer is enabled.\n * Initially, the timer is disabled. As soon as the first source value arrives,\n * the timer is enabled by calling the `durationSelector` function with the\n * source value, which returns the \"duration\" Observable. When the duration\n * Observable emits a value or completes, the timer is disabled, then the most\n * recent source value is emitted on the output Observable, and this process\n * repeats for the next source value.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.audit(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttle}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration, returned as an Observable or a Promise.\n * @return {Observable<T>} An Observable that performs rate-limiting of\n * emissions from the source Observable.\n * @method audit\n * @owner Observable\n */\nexport function audit(durationSelector) {\n    return this.lift(new AuditOperator(durationSelector));\n}\nvar AuditOperator = (function () {\n    function AuditOperator(durationSelector) {\n        this.durationSelector = durationSelector;\n    }\n    AuditOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new AuditSubscriber(subscriber, this.durationSelector));\n    };\n    return AuditOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AuditSubscriber = (function (_super) {\n    __extends(AuditSubscriber, _super);\n    function AuditSubscriber(destination, durationSelector) {\n        _super.call(this, destination);\n        this.durationSelector = durationSelector;\n        this.hasValue = false;\n    }\n    AuditSubscriber.prototype._next = function (value) {\n        this.value = value;\n        this.hasValue = true;\n        if (!this.throttled) {\n            var duration = tryCatch(this.durationSelector)(value);\n            if (duration === errorObject) {\n                this.destination.error(errorObject.e);\n            }\n            else {\n                this.add(this.throttled = subscribeToResult(this, duration));\n            }\n        }\n    };\n    AuditSubscriber.prototype.clearThrottle = function () {\n        var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\n        if (throttled) {\n            this.remove(throttled);\n            this.throttled = null;\n            throttled.unsubscribe();\n        }\n        if (hasValue) {\n            this.value = null;\n            this.hasValue = false;\n            this.destination.next(value);\n        }\n    };\n    AuditSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {\n        this.clearThrottle();\n    };\n    AuditSubscriber.prototype.notifyComplete = function () {\n        this.clearThrottle();\n    };\n    return AuditSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=audit.js.map"
  },
  {
    "__docId__": 303,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "audit",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/audit.js~audit",
    "access": null,
    "export": true,
    "description": "Ignores source values for a duration determined by another Observable, then\nemits the most recent value from the source Observable, then repeats this\nprocess.\n\n<span class=\"informal\">It's like {@link auditTime}, but the silencing\nduration is determined by a second Observable.</span>\n\n<img src=\"./img/audit.png\" width=\"100%\">\n\n`audit` is similar to `throttle`, but emits the last value from the silenced\ntime window, instead of the first value. `audit` emits the most recent value\nfrom the source Observable on the output Observable as soon as its internal\ntimer becomes disabled, and ignores source values while the timer is enabled.\nInitially, the timer is disabled. As soon as the first source value arrives,\nthe timer is enabled by calling the `durationSelector` function with the\nsource value, which returns the \"duration\" Observable. When the duration\nObservable emits a value or completes, the timer is disabled, then the most\nrecent source value is emitted on the output Observable, and this process\nrepeats for the next source value.",
    "examples": [
      "<caption>Emit clicks at a rate of at most one click per second</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.audit(ev => Rx.Observable.interval(1000));\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link auditTime}",
      "{@link debounce}",
      "{@link delayWhen}",
      "{@link sample}",
      "{@link throttle}"
    ],
    "lineNumber": 45,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "audit"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(value: T): Observable",
          "Promise"
        ],
        "spread": false,
        "optional": false,
        "name": "durationSelector",
        "description": "A function\nthat receives a value from the source Observable, for computing the silencing\nduration, returned as an Observable or a Promise."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that performs rate-limiting of\nemissions from the source Observable."
    },
    "generator": false
  },
  {
    "__docId__": 304,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AuditOperator",
    "memberof": "es6/operator/audit.js",
    "longname": "es6/operator/audit.js~AuditOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/audit.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 48,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 305,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AuditSubscriber",
    "memberof": "es6/operator/audit.js",
    "longname": "es6/operator/audit.js~AuditSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/audit.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 62,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 306,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/auditTime.js",
    "memberof": null,
    "longname": "es6/operator/auditTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { async } from '../scheduler/async';\nimport { Subscriber } from '../Subscriber';\n/**\n * Ignores source values for `duration` milliseconds, then emits the most recent\n * value from the source Observable, then repeats this process.\n *\n * <span class=\"informal\">When it sees a source values, it ignores that plus\n * the next ones for `duration` milliseconds, and then it emits the most recent\n * value from the source.</span>\n *\n * <img src=\"./img/auditTime.png\" width=\"100%\">\n *\n * `auditTime` is similar to `throttleTime`, but emits the last value from the\n * silenced time window, instead of the first value. `auditTime` emits the most\n * recent value from the source Observable on the output Observable as soon as\n * its internal timer becomes disabled, and ignores source values while the\n * timer is enabled. Initially, the timer is disabled. As soon as the first\n * source value arrives, the timer is enabled. After `duration` milliseconds (or\n * the time unit determined internally by the optional `scheduler`) has passed,\n * the timer is disabled, then the most recent source value is emitted on the\n * output Observable, and this process repeats for the next source value.\n * Optionally takes a {@link Scheduler} for managing timers.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.auditTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttleTime}\n *\n * @param {number} duration Time to wait before emitting the most recent source\n * value, measured in milliseconds or the time unit determined internally\n * by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\n * managing the timers that handle the rate-limiting behavior.\n * @return {Observable<T>} An Observable that performs rate-limiting of\n * emissions from the source Observable.\n * @method auditTime\n * @owner Observable\n */\nexport function auditTime(duration, scheduler) {\n    if (scheduler === void 0) { scheduler = async; }\n    return this.lift(new AuditTimeOperator(duration, scheduler));\n}\nvar AuditTimeOperator = (function () {\n    function AuditTimeOperator(duration, scheduler) {\n        this.duration = duration;\n        this.scheduler = scheduler;\n    }\n    AuditTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new AuditTimeSubscriber(subscriber, this.duration, this.scheduler));\n    };\n    return AuditTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AuditTimeSubscriber = (function (_super) {\n    __extends(AuditTimeSubscriber, _super);\n    function AuditTimeSubscriber(destination, duration, scheduler) {\n        _super.call(this, destination);\n        this.duration = duration;\n        this.scheduler = scheduler;\n        this.hasValue = false;\n    }\n    AuditTimeSubscriber.prototype._next = function (value) {\n        this.value = value;\n        this.hasValue = true;\n        if (!this.throttled) {\n            this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, this));\n        }\n    };\n    AuditTimeSubscriber.prototype.clearThrottle = function () {\n        var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\n        if (throttled) {\n            this.remove(throttled);\n            this.throttled = null;\n            throttled.unsubscribe();\n        }\n        if (hasValue) {\n            this.value = null;\n            this.hasValue = false;\n            this.destination.next(value);\n        }\n    };\n    return AuditTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(subscriber) {\n    subscriber.clearThrottle();\n}\n//# sourceMappingURL=auditTime.js.map"
  },
  {
    "__docId__": 307,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "auditTime",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/auditTime.js~auditTime",
    "access": null,
    "export": true,
    "description": "Ignores source values for `duration` milliseconds, then emits the most recent\nvalue from the source Observable, then repeats this process.\n\n<span class=\"informal\">When it sees a source values, it ignores that plus\nthe next ones for `duration` milliseconds, and then it emits the most recent\nvalue from the source.</span>\n\n<img src=\"./img/auditTime.png\" width=\"100%\">\n\n`auditTime` is similar to `throttleTime`, but emits the last value from the\nsilenced time window, instead of the first value. `auditTime` emits the most\nrecent value from the source Observable on the output Observable as soon as\nits internal timer becomes disabled, and ignores source values while the\ntimer is enabled. Initially, the timer is disabled. As soon as the first\nsource value arrives, the timer is enabled. After `duration` milliseconds (or\nthe time unit determined internally by the optional `scheduler`) has passed,\nthe timer is disabled, then the most recent source value is emitted on the\noutput Observable, and this process repeats for the next source value.\nOptionally takes a {@link Scheduler} for managing timers.",
    "examples": [
      "<caption>Emit clicks at a rate of at most one click per second</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.auditTime(1000);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link audit}",
      "{@link debounceTime}",
      "{@link delay}",
      "{@link sampleTime}",
      "{@link throttleTime}"
    ],
    "lineNumber": 45,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "auditTime"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "duration",
        "description": "Time to wait before emitting the most recent source\nvalue, measured in milliseconds or the time unit determined internally\nby the optional `scheduler`."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "async",
        "defaultRaw": "async",
        "name": "scheduler",
        "description": "The {@link Scheduler} to use for\nmanaging the timers that handle the rate-limiting behavior."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that performs rate-limiting of\nemissions from the source Observable."
    },
    "generator": false
  },
  {
    "__docId__": 308,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AuditTimeOperator",
    "memberof": "es6/operator/auditTime.js",
    "longname": "es6/operator/auditTime.js~AuditTimeOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/auditTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 49,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 309,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AuditTimeSubscriber",
    "memberof": "es6/operator/auditTime.js",
    "longname": "es6/operator/auditTime.js~AuditTimeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/auditTime.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 64,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 310,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchNext",
    "memberof": "es6/operator/auditTime.js",
    "longname": "es6/operator/auditTime.js~dispatchNext",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/auditTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 94,
    "undocument": true,
    "params": [
      {
        "name": "subscriber",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 311,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/buffer.js",
    "memberof": null,
    "longname": "es6/operator/buffer.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Buffers the source Observable values until `closingNotifier` emits.\n *\n * <span class=\"informal\">Collects values from the past as an array, and emits\n * that array only when another Observable emits.</span>\n *\n * <img src=\"./img/buffer.png\" width=\"100%\">\n *\n * Buffers the incoming Observable values until the given `closingNotifier`\n * Observable emits a value, at which point it emits the buffer on the output\n * Observable and starts a new buffer internally, awaiting the next time\n * `closingNotifier` emits.\n *\n * @example <caption>On every click, emit array of most recent interval events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var buffered = interval.buffer(clicks);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link window}\n *\n * @param {Observable<any>} closingNotifier An Observable that signals the\n * buffer to be emitted on the output Observable.\n * @return {Observable<T[]>} An Observable of buffers, which are arrays of\n * values.\n * @method buffer\n * @owner Observable\n */\nexport function buffer(closingNotifier) {\n    return this.lift(new BufferOperator(closingNotifier));\n}\nvar BufferOperator = (function () {\n    function BufferOperator(closingNotifier) {\n        this.closingNotifier = closingNotifier;\n    }\n    BufferOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferSubscriber(subscriber, this.closingNotifier));\n    };\n    return BufferOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferSubscriber = (function (_super) {\n    __extends(BufferSubscriber, _super);\n    function BufferSubscriber(destination, closingNotifier) {\n        _super.call(this, destination);\n        this.buffer = [];\n        this.add(subscribeToResult(this, closingNotifier));\n    }\n    BufferSubscriber.prototype._next = function (value) {\n        this.buffer.push(value);\n    };\n    BufferSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var buffer = this.buffer;\n        this.buffer = [];\n        this.destination.next(buffer);\n    };\n    return BufferSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=buffer.js.map"
  },
  {
    "__docId__": 312,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "buffer",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/buffer.js~buffer",
    "access": null,
    "export": true,
    "description": "Buffers the source Observable values until `closingNotifier` emits.\n\n<span class=\"informal\">Collects values from the past as an array, and emits\nthat array only when another Observable emits.</span>\n\n<img src=\"./img/buffer.png\" width=\"100%\">\n\nBuffers the incoming Observable values until the given `closingNotifier`\nObservable emits a value, at which point it emits the buffer on the output\nObservable and starts a new buffer internally, awaiting the next time\n`closingNotifier` emits.",
    "examples": [
      "<caption>On every click, emit array of most recent interval events</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar interval = Rx.Observable.interval(1000);\nvar buffered = interval.buffer(clicks);\nbuffered.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link bufferCount}",
      "{@link bufferTime}",
      "{@link bufferToggle}",
      "{@link bufferWhen}",
      "{@link window}"
    ],
    "lineNumber": 35,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "buffer"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Observable<any>"
        ],
        "spread": false,
        "optional": false,
        "name": "closingNotifier",
        "description": "An Observable that signals the\nbuffer to be emitted on the output Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T[]>"
      ],
      "spread": false,
      "description": "An Observable of buffers, which are arrays of\nvalues."
    },
    "generator": false
  },
  {
    "__docId__": 313,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferOperator",
    "memberof": "es6/operator/buffer.js",
    "longname": "es6/operator/buffer.js~BufferOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/buffer.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 38,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 314,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferSubscriber",
    "memberof": "es6/operator/buffer.js",
    "longname": "es6/operator/buffer.js~BufferSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/buffer.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 52,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 315,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/bufferCount.js",
    "memberof": null,
    "longname": "es6/operator/bufferCount.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Buffers the source Observable values until the size hits the maximum\n * `bufferSize` given.\n *\n * <span class=\"informal\">Collects values from the past as an array, and emits\n * that array only when its size reaches `bufferSize`.</span>\n *\n * <img src=\"./img/bufferCount.png\" width=\"100%\">\n *\n * Buffers a number of values from the source Observable by `bufferSize` then\n * emits the buffer and clears it, and starts a new buffer each\n * `startBufferEvery` values. If `startBufferEvery` is not provided or is\n * `null`, then new buffers are started immediately at the start of the source\n * and when each buffer closes and is emitted.\n *\n * @example <caption>Emit the last two click events as an array</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferCount(2);\n * buffered.subscribe(x => console.log(x));\n *\n * @example <caption>On every click, emit the last two click events as an array</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferCount(2, 1);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link pairwise}\n * @see {@link windowCount}\n *\n * @param {number} bufferSize The maximum size of the buffer emitted.\n * @param {number} [startBufferEvery] Interval at which to start a new buffer.\n * For example if `startBufferEvery` is `2`, then a new buffer will be started\n * on every other value from the source. A new buffer is started at the\n * beginning of the source by default.\n * @return {Observable<T[]>} An Observable of arrays of buffered values.\n * @method bufferCount\n * @owner Observable\n */\nexport function bufferCount(bufferSize, startBufferEvery) {\n    if (startBufferEvery === void 0) { startBufferEvery = null; }\n    return this.lift(new BufferCountOperator(bufferSize, startBufferEvery));\n}\nvar BufferCountOperator = (function () {\n    function BufferCountOperator(bufferSize, startBufferEvery) {\n        this.bufferSize = bufferSize;\n        this.startBufferEvery = startBufferEvery;\n    }\n    BufferCountOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferCountSubscriber(subscriber, this.bufferSize, this.startBufferEvery));\n    };\n    return BufferCountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferCountSubscriber = (function (_super) {\n    __extends(BufferCountSubscriber, _super);\n    function BufferCountSubscriber(destination, bufferSize, startBufferEvery) {\n        _super.call(this, destination);\n        this.bufferSize = bufferSize;\n        this.startBufferEvery = startBufferEvery;\n        this.buffers = [];\n        this.count = 0;\n    }\n    BufferCountSubscriber.prototype._next = function (value) {\n        var count = this.count++;\n        var _a = this, destination = _a.destination, bufferSize = _a.bufferSize, startBufferEvery = _a.startBufferEvery, buffers = _a.buffers;\n        var startOn = (startBufferEvery == null) ? bufferSize : startBufferEvery;\n        if (count % startOn === 0) {\n            buffers.push([]);\n        }\n        for (var i = buffers.length; i--;) {\n            var buffer = buffers[i];\n            buffer.push(value);\n            if (buffer.length === bufferSize) {\n                buffers.splice(i, 1);\n                destination.next(buffer);\n            }\n        }\n    };\n    BufferCountSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        var buffers = this.buffers;\n        while (buffers.length > 0) {\n            var buffer = buffers.shift();\n            if (buffer.length > 0) {\n                destination.next(buffer);\n            }\n        }\n        _super.prototype._complete.call(this);\n    };\n    return BufferCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=bufferCount.js.map"
  },
  {
    "__docId__": 316,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "bufferCount",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/bufferCount.js~bufferCount",
    "access": null,
    "export": true,
    "description": "Buffers the source Observable values until the size hits the maximum\n`bufferSize` given.\n\n<span class=\"informal\">Collects values from the past as an array, and emits\nthat array only when its size reaches `bufferSize`.</span>\n\n<img src=\"./img/bufferCount.png\" width=\"100%\">\n\nBuffers a number of values from the source Observable by `bufferSize` then\nemits the buffer and clears it, and starts a new buffer each\n`startBufferEvery` values. If `startBufferEvery` is not provided or is\n`null`, then new buffers are started immediately at the start of the source\nand when each buffer closes and is emitted.",
    "examples": [
      "<caption>Emit the last two click events as an array</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar buffered = clicks.bufferCount(2);\nbuffered.subscribe(x => console.log(x));",
      "<caption>On every click, emit the last two click events as an array</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar buffered = clicks.bufferCount(2, 1);\nbuffered.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link buffer}",
      "{@link bufferTime}",
      "{@link bufferToggle}",
      "{@link bufferWhen}",
      "{@link pairwise}",
      "{@link windowCount}"
    ],
    "lineNumber": 43,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "bufferCount"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "bufferSize",
        "description": "The maximum size of the buffer emitted."
      },
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": true,
        "name": "startBufferEvery",
        "description": "Interval at which to start a new buffer.\nFor example if `startBufferEvery` is `2`, then a new buffer will be started\non every other value from the source. A new buffer is started at the\nbeginning of the source by default."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T[]>"
      ],
      "spread": false,
      "description": "An Observable of arrays of buffered values."
    },
    "generator": false
  },
  {
    "__docId__": 317,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferCountOperator",
    "memberof": "es6/operator/bufferCount.js",
    "longname": "es6/operator/bufferCount.js~BufferCountOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferCount.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 47,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 318,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferCountSubscriber",
    "memberof": "es6/operator/bufferCount.js",
    "longname": "es6/operator/bufferCount.js~BufferCountSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferCount.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 62,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 319,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/bufferTime.js",
    "memberof": null,
    "longname": "es6/operator/bufferTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { async } from '../scheduler/async';\nimport { Subscriber } from '../Subscriber';\nimport { isScheduler } from '../util/isScheduler';\n/* tslint:disable:max-line-length */\nexport function bufferTime(bufferTimeSpan) {\n    var length = arguments.length;\n    var scheduler = async;\n    if (isScheduler(arguments[arguments.length - 1])) {\n        scheduler = arguments[arguments.length - 1];\n        length--;\n    }\n    var bufferCreationInterval = null;\n    if (length >= 2) {\n        bufferCreationInterval = arguments[1];\n    }\n    var maxBufferSize = Number.POSITIVE_INFINITY;\n    if (length >= 3) {\n        maxBufferSize = arguments[2];\n    }\n    return this.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));\n}\nvar BufferTimeOperator = (function () {\n    function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n        this.bufferTimeSpan = bufferTimeSpan;\n        this.bufferCreationInterval = bufferCreationInterval;\n        this.maxBufferSize = maxBufferSize;\n        this.scheduler = scheduler;\n    }\n    BufferTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));\n    };\n    return BufferTimeOperator;\n}());\nvar Context = (function () {\n    function Context() {\n        this.buffer = [];\n    }\n    return Context;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferTimeSubscriber = (function (_super) {\n    __extends(BufferTimeSubscriber, _super);\n    function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n        _super.call(this, destination);\n        this.bufferTimeSpan = bufferTimeSpan;\n        this.bufferCreationInterval = bufferCreationInterval;\n        this.maxBufferSize = maxBufferSize;\n        this.scheduler = scheduler;\n        this.contexts = [];\n        var context = this.openContext();\n        this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\n        if (this.timespanOnly) {\n            var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n            this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n        }\n        else {\n            var closeState = { subscriber: this, context: context };\n            var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: this, scheduler: scheduler };\n            this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\n            this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\n        }\n    }\n    BufferTimeSubscriber.prototype._next = function (value) {\n        var contexts = this.contexts;\n        var len = contexts.length;\n        var filledBufferContext;\n        for (var i = 0; i < len; i++) {\n            var context_1 = contexts[i];\n            var buffer = context_1.buffer;\n            buffer.push(value);\n            if (buffer.length == this.maxBufferSize) {\n                filledBufferContext = context_1;\n            }\n        }\n        if (filledBufferContext) {\n            this.onBufferFull(filledBufferContext);\n        }\n    };\n    BufferTimeSubscriber.prototype._error = function (err) {\n        this.contexts.length = 0;\n        _super.prototype._error.call(this, err);\n    };\n    BufferTimeSubscriber.prototype._complete = function () {\n        var _a = this, contexts = _a.contexts, destination = _a.destination;\n        while (contexts.length > 0) {\n            var context_2 = contexts.shift();\n            destination.next(context_2.buffer);\n        }\n        _super.prototype._complete.call(this);\n    };\n    BufferTimeSubscriber.prototype._unsubscribe = function () {\n        this.contexts = null;\n    };\n    BufferTimeSubscriber.prototype.onBufferFull = function (context) {\n        this.closeContext(context);\n        var closeAction = context.closeAction;\n        closeAction.unsubscribe();\n        this.remove(closeAction);\n        if (!this.closed && this.timespanOnly) {\n            context = this.openContext();\n            var bufferTimeSpan = this.bufferTimeSpan;\n            var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n            this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n        }\n    };\n    BufferTimeSubscriber.prototype.openContext = function () {\n        var context = new Context();\n        this.contexts.push(context);\n        return context;\n    };\n    BufferTimeSubscriber.prototype.closeContext = function (context) {\n        this.destination.next(context.buffer);\n        var contexts = this.contexts;\n        var spliceIndex = contexts ? contexts.indexOf(context) : -1;\n        if (spliceIndex >= 0) {\n            contexts.splice(contexts.indexOf(context), 1);\n        }\n    };\n    return BufferTimeSubscriber;\n}(Subscriber));\nfunction dispatchBufferTimeSpanOnly(state) {\n    var subscriber = state.subscriber;\n    var prevContext = state.context;\n    if (prevContext) {\n        subscriber.closeContext(prevContext);\n    }\n    if (!subscriber.closed) {\n        state.context = subscriber.openContext();\n        state.context.closeAction = this.schedule(state, state.bufferTimeSpan);\n    }\n}\nfunction dispatchBufferCreation(state) {\n    var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;\n    var context = subscriber.openContext();\n    var action = this;\n    if (!subscriber.closed) {\n        subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, context: context }));\n        action.schedule(state, bufferCreationInterval);\n    }\n}\nfunction dispatchBufferClose(arg) {\n    var subscriber = arg.subscriber, context = arg.context;\n    subscriber.closeContext(context);\n}\n//# sourceMappingURL=bufferTime.js.map"
  },
  {
    "__docId__": 320,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "bufferTime",
    "memberof": "es6/operator/bufferTime.js",
    "longname": "es6/operator/bufferTime.js~bufferTime",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/bufferTime.js",
    "importStyle": "{bufferTime}",
    "description": null,
    "lineNumber": 5,
    "undocument": true,
    "params": [
      {
        "name": "bufferTimeSpan",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 321,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferTimeOperator",
    "memberof": "es6/operator/bufferTime.js",
    "longname": "es6/operator/bufferTime.js~BufferTimeOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 22,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 322,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Context",
    "memberof": "es6/operator/bufferTime.js",
    "longname": "es6/operator/bufferTime.js~Context",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 34,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 323,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferTimeSubscriber",
    "memberof": "es6/operator/bufferTime.js",
    "longname": "es6/operator/bufferTime.js~BufferTimeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferTime.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 45,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 324,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchBufferTimeSpanOnly",
    "memberof": "es6/operator/bufferTime.js",
    "longname": "es6/operator/bufferTime.js~dispatchBufferTimeSpanOnly",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 125,
    "undocument": true,
    "params": [
      {
        "name": "state",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 325,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchBufferCreation",
    "memberof": "es6/operator/bufferTime.js",
    "longname": "es6/operator/bufferTime.js~dispatchBufferCreation",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 136,
    "undocument": true,
    "params": [
      {
        "name": "state",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 326,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchBufferClose",
    "memberof": "es6/operator/bufferTime.js",
    "longname": "es6/operator/bufferTime.js~dispatchBufferClose",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 145,
    "undocument": true,
    "params": [
      {
        "name": "arg",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 327,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/bufferToggle.js",
    "memberof": null,
    "longname": "es6/operator/bufferToggle.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscription } from '../Subscription';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\n/**\n * Buffers the source Observable values starting from an emission from\n * `openings` and ending when the output of `closingSelector` emits.\n *\n * <span class=\"informal\">Collects values from the past as an array. Starts\n * collecting only when `opening` emits, and calls the `closingSelector`\n * function to get an Observable that tells when to close the buffer.</span>\n *\n * <img src=\"./img/bufferToggle.png\" width=\"100%\">\n *\n * Buffers values from the source by opening the buffer via signals from an\n * Observable provided to `openings`, and closing and sending the buffers when\n * a Subscribable or Promise returned by the `closingSelector` function emits.\n *\n * @example <caption>Every other second, emit the click events from the next 500ms</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var openings = Rx.Observable.interval(1000);\n * var buffered = clicks.bufferToggle(openings, i =>\n *   i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\n * );\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferWhen}\n * @see {@link windowToggle}\n *\n * @param {SubscribableOrPromise<O>} openings A Subscribable or Promise of notifications to start new\n * buffers.\n * @param {function(value: O): SubscribableOrPromise} closingSelector A function that takes\n * the value emitted by the `openings` observable and returns a Subscribable or Promise,\n * which, when it emits, signals that the associated buffer should be emitted\n * and cleared.\n * @return {Observable<T[]>} An observable of arrays of buffered values.\n * @method bufferToggle\n * @owner Observable\n */\nexport function bufferToggle(openings, closingSelector) {\n    return this.lift(new BufferToggleOperator(openings, closingSelector));\n}\nvar BufferToggleOperator = (function () {\n    function BufferToggleOperator(openings, closingSelector) {\n        this.openings = openings;\n        this.closingSelector = closingSelector;\n    }\n    BufferToggleOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));\n    };\n    return BufferToggleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferToggleSubscriber = (function (_super) {\n    __extends(BufferToggleSubscriber, _super);\n    function BufferToggleSubscriber(destination, openings, closingSelector) {\n        _super.call(this, destination);\n        this.openings = openings;\n        this.closingSelector = closingSelector;\n        this.contexts = [];\n        this.add(subscribeToResult(this, openings));\n    }\n    BufferToggleSubscriber.prototype._next = function (value) {\n        var contexts = this.contexts;\n        var len = contexts.length;\n        for (var i = 0; i < len; i++) {\n            contexts[i].buffer.push(value);\n        }\n    };\n    BufferToggleSubscriber.prototype._error = function (err) {\n        var contexts = this.contexts;\n        while (contexts.length > 0) {\n            var context_1 = contexts.shift();\n            context_1.subscription.unsubscribe();\n            context_1.buffer = null;\n            context_1.subscription = null;\n        }\n        this.contexts = null;\n        _super.prototype._error.call(this, err);\n    };\n    BufferToggleSubscriber.prototype._complete = function () {\n        var contexts = this.contexts;\n        while (contexts.length > 0) {\n            var context_2 = contexts.shift();\n            this.destination.next(context_2.buffer);\n            context_2.subscription.unsubscribe();\n            context_2.buffer = null;\n            context_2.subscription = null;\n        }\n        this.contexts = null;\n        _super.prototype._complete.call(this);\n    };\n    BufferToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);\n    };\n    BufferToggleSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.closeBuffer(innerSub.context);\n    };\n    BufferToggleSubscriber.prototype.openBuffer = function (value) {\n        try {\n            var closingSelector = this.closingSelector;\n            var closingNotifier = closingSelector.call(this, value);\n            if (closingNotifier) {\n                this.trySubscribe(closingNotifier);\n            }\n        }\n        catch (err) {\n            this._error(err);\n        }\n    };\n    BufferToggleSubscriber.prototype.closeBuffer = function (context) {\n        var contexts = this.contexts;\n        if (contexts && context) {\n            var buffer = context.buffer, subscription = context.subscription;\n            this.destination.next(buffer);\n            contexts.splice(contexts.indexOf(context), 1);\n            this.remove(subscription);\n            subscription.unsubscribe();\n        }\n    };\n    BufferToggleSubscriber.prototype.trySubscribe = function (closingNotifier) {\n        var contexts = this.contexts;\n        var buffer = [];\n        var subscription = new Subscription();\n        var context = { buffer: buffer, subscription: subscription };\n        contexts.push(context);\n        var innerSubscription = subscribeToResult(this, closingNotifier, context);\n        if (!innerSubscription || innerSubscription.closed) {\n            this.closeBuffer(context);\n        }\n        else {\n            innerSubscription.context = context;\n            this.add(innerSubscription);\n            subscription.add(innerSubscription);\n        }\n    };\n    return BufferToggleSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=bufferToggle.js.map"
  },
  {
    "__docId__": 328,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "bufferToggle",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/bufferToggle.js~bufferToggle",
    "access": null,
    "export": true,
    "description": "Buffers the source Observable values starting from an emission from\n`openings` and ending when the output of `closingSelector` emits.\n\n<span class=\"informal\">Collects values from the past as an array. Starts\ncollecting only when `opening` emits, and calls the `closingSelector`\nfunction to get an Observable that tells when to close the buffer.</span>\n\n<img src=\"./img/bufferToggle.png\" width=\"100%\">\n\nBuffers values from the source by opening the buffer via signals from an\nObservable provided to `openings`, and closing and sending the buffers when\na Subscribable or Promise returned by the `closingSelector` function emits.",
    "examples": [
      "<caption>Every other second, emit the click events from the next 500ms</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar openings = Rx.Observable.interval(1000);\nvar buffered = clicks.bufferToggle(openings, i =>\n  i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\n);\nbuffered.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link buffer}",
      "{@link bufferCount}",
      "{@link bufferTime}",
      "{@link bufferWhen}",
      "{@link windowToggle}"
    ],
    "lineNumber": 42,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "bufferToggle"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "SubscribableOrPromise<O>"
        ],
        "spread": false,
        "optional": false,
        "name": "openings",
        "description": "A Subscribable or Promise of notifications to start new\nbuffers."
      },
      {
        "nullable": null,
        "types": [
          "function(value: O): SubscribableOrPromise"
        ],
        "spread": false,
        "optional": false,
        "name": "closingSelector",
        "description": "A function that takes\nthe value emitted by the `openings` observable and returns a Subscribable or Promise,\nwhich, when it emits, signals that the associated buffer should be emitted\nand cleared."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T[]>"
      ],
      "spread": false,
      "description": "An observable of arrays of buffered values."
    },
    "generator": false
  },
  {
    "__docId__": 329,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferToggleOperator",
    "memberof": "es6/operator/bufferToggle.js",
    "longname": "es6/operator/bufferToggle.js~BufferToggleOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferToggle.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 45,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 330,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferToggleSubscriber",
    "memberof": "es6/operator/bufferToggle.js",
    "longname": "es6/operator/bufferToggle.js~BufferToggleSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferToggle.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 60,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 331,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/bufferWhen.js",
    "memberof": null,
    "longname": "es6/operator/bufferWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscription } from '../Subscription';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Buffers the source Observable values, using a factory function of closing\n * Observables to determine when to close, emit, and reset the buffer.\n *\n * <span class=\"informal\">Collects values from the past as an array. When it\n * starts collecting values, it calls a function that returns an Observable that\n * tells when to close the buffer and restart collecting.</span>\n *\n * <img src=\"./img/bufferWhen.png\" width=\"100%\">\n *\n * Opens a buffer immediately, then closes the buffer when the observable\n * returned by calling `closingSelector` function emits a value. When it closes\n * the buffer, it immediately opens a new buffer and repeats the process.\n *\n * @example <caption>Emit an array of the last clicks every [1-5] random seconds</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferWhen(() =>\n *   Rx.Observable.interval(1000 + Math.random() * 4000)\n * );\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link windowWhen}\n *\n * @param {function(): Observable} closingSelector A function that takes no\n * arguments and returns an Observable that signals buffer closure.\n * @return {Observable<T[]>} An observable of arrays of buffered values.\n * @method bufferWhen\n * @owner Observable\n */\nexport function bufferWhen(closingSelector) {\n    return this.lift(new BufferWhenOperator(closingSelector));\n}\nvar BufferWhenOperator = (function () {\n    function BufferWhenOperator(closingSelector) {\n        this.closingSelector = closingSelector;\n    }\n    BufferWhenOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));\n    };\n    return BufferWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferWhenSubscriber = (function (_super) {\n    __extends(BufferWhenSubscriber, _super);\n    function BufferWhenSubscriber(destination, closingSelector) {\n        _super.call(this, destination);\n        this.closingSelector = closingSelector;\n        this.subscribing = false;\n        this.openBuffer();\n    }\n    BufferWhenSubscriber.prototype._next = function (value) {\n        this.buffer.push(value);\n    };\n    BufferWhenSubscriber.prototype._complete = function () {\n        var buffer = this.buffer;\n        if (buffer) {\n            this.destination.next(buffer);\n        }\n        _super.prototype._complete.call(this);\n    };\n    BufferWhenSubscriber.prototype._unsubscribe = function () {\n        this.buffer = null;\n        this.subscribing = false;\n    };\n    BufferWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.openBuffer();\n    };\n    BufferWhenSubscriber.prototype.notifyComplete = function () {\n        if (this.subscribing) {\n            this.complete();\n        }\n        else {\n            this.openBuffer();\n        }\n    };\n    BufferWhenSubscriber.prototype.openBuffer = function () {\n        var closingSubscription = this.closingSubscription;\n        if (closingSubscription) {\n            this.remove(closingSubscription);\n            closingSubscription.unsubscribe();\n        }\n        var buffer = this.buffer;\n        if (this.buffer) {\n            this.destination.next(buffer);\n        }\n        this.buffer = [];\n        var closingNotifier = tryCatch(this.closingSelector)();\n        if (closingNotifier === errorObject) {\n            this.error(errorObject.e);\n        }\n        else {\n            closingSubscription = new Subscription();\n            this.closingSubscription = closingSubscription;\n            this.add(closingSubscription);\n            this.subscribing = true;\n            closingSubscription.add(subscribeToResult(this, closingNotifier));\n            this.subscribing = false;\n        }\n    };\n    return BufferWhenSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=bufferWhen.js.map"
  },
  {
    "__docId__": 332,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "bufferWhen",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/bufferWhen.js~bufferWhen",
    "access": null,
    "export": true,
    "description": "Buffers the source Observable values, using a factory function of closing\nObservables to determine when to close, emit, and reset the buffer.\n\n<span class=\"informal\">Collects values from the past as an array. When it\nstarts collecting values, it calls a function that returns an Observable that\ntells when to close the buffer and restart collecting.</span>\n\n<img src=\"./img/bufferWhen.png\" width=\"100%\">\n\nOpens a buffer immediately, then closes the buffer when the observable\nreturned by calling `closingSelector` function emits a value. When it closes\nthe buffer, it immediately opens a new buffer and repeats the process.",
    "examples": [
      "<caption>Emit an array of the last clicks every [1-5] random seconds</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar buffered = clicks.bufferWhen(() =>\n  Rx.Observable.interval(1000 + Math.random() * 4000)\n);\nbuffered.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link buffer}",
      "{@link bufferCount}",
      "{@link bufferTime}",
      "{@link bufferToggle}",
      "{@link windowWhen}"
    ],
    "lineNumber": 39,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "bufferWhen"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(): Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "closingSelector",
        "description": "A function that takes no\narguments and returns an Observable that signals buffer closure."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T[]>"
      ],
      "spread": false,
      "description": "An observable of arrays of buffered values."
    },
    "generator": false
  },
  {
    "__docId__": 333,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferWhenOperator",
    "memberof": "es6/operator/bufferWhen.js",
    "longname": "es6/operator/bufferWhen.js~BufferWhenOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferWhen.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 42,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 334,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "BufferWhenSubscriber",
    "memberof": "es6/operator/bufferWhen.js",
    "longname": "es6/operator/bufferWhen.js~BufferWhenSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/bufferWhen.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 56,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 335,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/catch.js",
    "memberof": null,
    "longname": "es6/operator/catch.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n *  is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n *  is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} an observable that originates from either the source or the observable returned by the\n *  catch `selector` function.\n * @method catch\n * @owner Observable\n */\nexport function _catch(selector) {\n    var operator = new CatchOperator(selector);\n    var caught = this.lift(operator);\n    return (operator.caught = caught);\n}\nvar CatchOperator = (function () {\n    function CatchOperator(selector) {\n        this.selector = selector;\n    }\n    CatchOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n    };\n    return CatchOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CatchSubscriber = (function (_super) {\n    __extends(CatchSubscriber, _super);\n    function CatchSubscriber(destination, selector, caught) {\n        _super.call(this, destination);\n        this.selector = selector;\n        this.caught = caught;\n    }\n    // NOTE: overriding `error` instead of `_error` because we don't want\n    // to have this flag this subscriber as `isStopped`.\n    CatchSubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var result = void 0;\n            try {\n                result = this.selector(err, this.caught);\n            }\n            catch (err) {\n                this.destination.error(err);\n                return;\n            }\n            this.unsubscribe();\n            this.destination.remove(this);\n            subscribeToResult(this, result);\n        }\n    };\n    return CatchSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=catch.js.map"
  },
  {
    "__docId__": 336,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "_catch",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/catch.js~_catch",
    "access": null,
    "export": true,
    "description": "Catches errors on the observable to be handled by returning a new observable or throwing an error.",
    "lineNumber": 13,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "catch"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function"
        ],
        "spread": false,
        "optional": false,
        "name": "selector",
        "description": "a function that takes as arguments `err`, which is the error, and `caught`, which\n is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n is returned by the `selector` will be used to continue the observable chain."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an observable that originates from either the source or the observable returned by the\n catch `selector` function."
    },
    "generator": false
  },
  {
    "__docId__": 337,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "CatchOperator",
    "memberof": "es6/operator/catch.js",
    "longname": "es6/operator/catch.js~CatchOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/catch.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 18,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 338,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "CatchSubscriber",
    "memberof": "es6/operator/catch.js",
    "longname": "es6/operator/catch.js~CatchSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/catch.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 32,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 339,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/combineAll.js",
    "memberof": null,
    "longname": "es6/operator/combineAll.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { CombineLatestOperator } from './combineLatest';\n/**\n * Converts a higher-order Observable into a first-order Observable by waiting\n * for the outer Observable to complete, then applying {@link combineLatest}.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables by applying\n * {@link combineLatest} when the Observable-of-Observables completes.</span>\n *\n * <img src=\"./img/combineAll.png\" width=\"100%\">\n *\n * Takes an Observable of Observables, and collects all Observables from it.\n * Once the outer Observable completes, it subscribes to all collected\n * Observables and combines their values using the {@link combineLatest}\n * strategy, such that:\n * - Every time an inner Observable emits, the output Observable emits.\n * - When the returned observable emits, it emits all of the latest values by:\n *   - If a `project` function is provided, it is called with each recent value\n *     from each inner Observable in whatever order they arrived, and the result\n *     of the `project` function is what is emitted by the output Observable.\n *   - If there is no `project` function, an array of all of the most recent\n *     values is emitted by the output Observable.\n *\n * @example <caption>Map two click events to a finite interval Observable, then apply combineAll</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map(ev =>\n *   Rx.Observable.interval(Math.random()*2000).take(3)\n * ).take(2);\n * var result = higherOrder.combineAll();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineLatest}\n * @see {@link mergeAll}\n *\n * @param {function} [project] An optional function to map the most recent\n * values from each inner Observable into a new result. Takes each of the most\n * recent values from each collected inner Observable as arguments, in order.\n * @return {Observable} An Observable of projected results or arrays of recent\n * values.\n * @method combineAll\n * @owner Observable\n */\nexport function combineAll(project) {\n    return this.lift(new CombineLatestOperator(project));\n}\n//# sourceMappingURL=combineAll.js.map"
  },
  {
    "__docId__": 340,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "combineAll",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/combineAll.js~combineAll",
    "access": null,
    "export": true,
    "description": "Converts a higher-order Observable into a first-order Observable by waiting\nfor the outer Observable to complete, then applying {@link combineLatest}.\n\n<span class=\"informal\">Flattens an Observable-of-Observables by applying\n{@link combineLatest} when the Observable-of-Observables completes.</span>\n\n<img src=\"./img/combineAll.png\" width=\"100%\">\n\nTakes an Observable of Observables, and collects all Observables from it.\nOnce the outer Observable completes, it subscribes to all collected\nObservables and combines their values using the {@link combineLatest}\nstrategy, such that:\n- Every time an inner Observable emits, the output Observable emits.\n- When the returned observable emits, it emits all of the latest values by:\n  - If a `project` function is provided, it is called with each recent value\n    from each inner Observable in whatever order they arrived, and the result\n    of the `project` function is what is emitted by the output Observable.\n  - If there is no `project` function, an array of all of the most recent\n    values is emitted by the output Observable.",
    "examples": [
      "<caption>Map two click events to a finite interval Observable, then apply combineAll</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar higherOrder = clicks.map(ev =>\n  Rx.Observable.interval(Math.random()*2000).take(3)\n).take(2);\nvar result = higherOrder.combineAll();\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link combineLatest}",
      "{@link mergeAll}"
    ],
    "lineNumber": 42,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "combineAll"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function"
        ],
        "spread": false,
        "optional": true,
        "name": "project",
        "description": "An optional function to map the most recent\nvalues from each inner Observable into a new result. Takes each of the most\nrecent values from each collected inner Observable as arguments, in order."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable of projected results or arrays of recent\nvalues."
    },
    "generator": false
  },
  {
    "__docId__": 341,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/combineLatest.js",
    "memberof": null,
    "longname": "es6/operator/combineLatest.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ArrayObservable } from '../observable/ArrayObservable';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nvar none = {};\n/* tslint:disable:max-line-length */\nexport function combineLatest() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var project = null;\n    if (typeof observables[observables.length - 1] === 'function') {\n        project = observables.pop();\n    }\n    // if the first and only other argument besides the resultSelector is an array\n    // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\n    if (observables.length === 1 && isArray(observables[0])) {\n        observables = observables[0];\n    }\n    observables.unshift(this);\n    return this.lift.call(new ArrayObservable(observables), new CombineLatestOperator(project));\n}\nexport var CombineLatestOperator = (function () {\n    function CombineLatestOperator(project) {\n        this.project = project;\n    }\n    CombineLatestOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new CombineLatestSubscriber(subscriber, this.project));\n    };\n    return CombineLatestOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var CombineLatestSubscriber = (function (_super) {\n    __extends(CombineLatestSubscriber, _super);\n    function CombineLatestSubscriber(destination, project) {\n        _super.call(this, destination);\n        this.project = project;\n        this.active = 0;\n        this.values = [];\n        this.observables = [];\n    }\n    CombineLatestSubscriber.prototype._next = function (observable) {\n        this.values.push(none);\n        this.observables.push(observable);\n    };\n    CombineLatestSubscriber.prototype._complete = function () {\n        var observables = this.observables;\n        var len = observables.length;\n        if (len === 0) {\n            this.destination.complete();\n        }\n        else {\n            this.active = len;\n            this.toRespond = len;\n            for (var i = 0; i < len; i++) {\n                var observable = observables[i];\n                this.add(subscribeToResult(this, observable, observable, i));\n            }\n        }\n    };\n    CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n        if ((this.active -= 1) === 0) {\n            this.destination.complete();\n        }\n    };\n    CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var values = this.values;\n        var oldVal = values[outerIndex];\n        var toRespond = !this.toRespond\n            ? 0\n            : oldVal === none ? --this.toRespond : this.toRespond;\n        values[outerIndex] = innerValue;\n        if (toRespond === 0) {\n            if (this.project) {\n                this._tryProject(values);\n            }\n            else {\n                this.destination.next(values.slice());\n            }\n        }\n    };\n    CombineLatestSubscriber.prototype._tryProject = function (values) {\n        var result;\n        try {\n            result = this.project.apply(this, values);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return CombineLatestSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=combineLatest.js.map"
  },
  {
    "__docId__": 342,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "none",
    "memberof": "es6/operator/combineLatest.js",
    "longname": "es6/operator/combineLatest.js~none",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/combineLatest.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 5,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 343,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "combineLatest",
    "memberof": "es6/operator/combineLatest.js",
    "longname": "es6/operator/combineLatest.js~combineLatest",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/combineLatest.js",
    "importStyle": "{combineLatest}",
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 344,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "CombineLatestOperator",
    "memberof": "es6/operator/combineLatest.js",
    "longname": "es6/operator/combineLatest.js~CombineLatestOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/combineLatest.js",
    "importStyle": "{CombineLatestOperator}",
    "description": null,
    "lineNumber": 24,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 345,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "CombineLatestSubscriber",
    "memberof": "es6/operator/combineLatest.js",
    "longname": "es6/operator/combineLatest.js~CombineLatestSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/combineLatest.js",
    "importStyle": "{CombineLatestSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 38,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 346,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/concat.js",
    "memberof": null,
    "longname": "es6/operator/concat.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { isScheduler } from '../util/isScheduler';\nimport { ArrayObservable } from '../observable/ArrayObservable';\nimport { MergeAllOperator } from './mergeAll';\n/* tslint:disable:max-line-length */\nexport function concat() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    return this.lift.call(concatStatic.apply(void 0, [this].concat(observables)));\n}\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which sequentially emits all values from every\n * given input Observable after the current Observable.\n *\n * <span class=\"informal\">Concatenates multiple Observables together by\n * sequentially emitting their values, one Observable after the other.</span>\n *\n * <img src=\"./img/concat.png\" width=\"100%\">\n *\n * Joins multiple Observables together by subscribing to them one at a time and\n * merging their results into the output Observable. Will wait for each\n * Observable to complete before moving on to the next.\n *\n * @example <caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>\n * var timer = Rx.Observable.interval(1000).take(4);\n * var sequence = Rx.Observable.range(1, 10);\n * var result = Rx.Observable.concat(timer, sequence);\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Concatenate 3 Observables</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var result = Rx.Observable.concat(timer1, timer2, timer3);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n *\n * @param {Observable} input1 An input Observable to concatenate with others.\n * @param {Observable} input2 An input Observable to concatenate with others.\n * More than one input Observables may be given as argument.\n * @param {Scheduler} [scheduler=null] An optional Scheduler to schedule each\n * Observable subscription on.\n * @return {Observable} All values of each passed Observable merged into a\n * single Observable, in order, in serial fashion.\n * @static true\n * @name concat\n * @owner Observable\n */\nexport function concatStatic() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var scheduler = null;\n    var args = observables;\n    if (isScheduler(args[observables.length - 1])) {\n        scheduler = args.pop();\n    }\n    if (scheduler === null && observables.length === 1) {\n        return observables[0];\n    }\n    return new ArrayObservable(observables, scheduler).lift(new MergeAllOperator(1));\n}\n//# sourceMappingURL=concat.js.map"
  },
  {
    "__docId__": 347,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "concat",
    "memberof": "es6/operator/concat.js",
    "longname": "es6/operator/concat.js~concat",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/concat.js",
    "importStyle": "{concat}",
    "description": null,
    "lineNumber": 5,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 348,
    "kind": "method",
    "static": true,
    "variation": null,
    "name": "concat",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/concat.js~concatStatic",
    "access": null,
    "export": true,
    "description": "Creates an output Observable which sequentially emits all values from every\ngiven input Observable after the current Observable.\n\n<span class=\"informal\">Concatenates multiple Observables together by\nsequentially emitting their values, one Observable after the other.</span>\n\n<img src=\"./img/concat.png\" width=\"100%\">\n\nJoins multiple Observables together by subscribing to them one at a time and\nmerging their results into the output Observable. Will wait for each\nObservable to complete before moving on to the next.",
    "examples": [
      "<caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>\nvar timer = Rx.Observable.interval(1000).take(4);\nvar sequence = Rx.Observable.range(1, 10);\nvar result = Rx.Observable.concat(timer, sequence);\nresult.subscribe(x => console.log(x));",
      "<caption>Concatenate 3 Observables</caption>\nvar timer1 = Rx.Observable.interval(1000).take(10);\nvar timer2 = Rx.Observable.interval(2000).take(6);\nvar timer3 = Rx.Observable.interval(500).take(10);\nvar result = Rx.Observable.concat(timer1, timer2, timer3);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link concatAll}",
      "{@link concatMap}",
      "{@link concatMapTo}"
    ],
    "lineNumber": 54,
    "unknown": [
      {
        "tagName": "@static",
        "tagValue": "true"
      },
      {
        "tagName": "@name",
        "tagValue": "concat"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "input1",
        "description": "An input Observable to concatenate with others."
      },
      {
        "nullable": null,
        "types": [
          "Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "input2",
        "description": "An input Observable to concatenate with others.\nMore than one input Observables may be given as argument."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "null",
        "defaultRaw": null,
        "name": "scheduler",
        "description": "An optional Scheduler to schedule each\nObservable subscription on."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "All values of each passed Observable merged into a\nsingle Observable, in order, in serial fashion."
    },
    "generator": false
  },
  {
    "__docId__": 349,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/concatAll.js",
    "memberof": null,
    "longname": "es6/operator/concatAll.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { MergeAllOperator } from './mergeAll';\n/* tslint:disable:max-line-length */\nexport function concatAll() {\n    return this.lift(new MergeAllOperator(1));\n}\n//# sourceMappingURL=concatAll.js.map"
  },
  {
    "__docId__": 350,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "concatAll",
    "memberof": "es6/operator/concatAll.js",
    "longname": "es6/operator/concatAll.js~concatAll",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/concatAll.js",
    "importStyle": "{concatAll}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 351,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/concatMap.js",
    "memberof": null,
    "longname": "es6/operator/concatMap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { MergeMapOperator } from './mergeMap';\n/* tslint:disable:max-line-length */\nexport function concatMap(project, resultSelector) {\n    return this.lift(new MergeMapOperator(project, resultSelector, 1));\n}\n//# sourceMappingURL=concatMap.js.map"
  },
  {
    "__docId__": 352,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "concatMap",
    "memberof": "es6/operator/concatMap.js",
    "longname": "es6/operator/concatMap.js~concatMap",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/concatMap.js",
    "importStyle": "{concatMap}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "project",
        "types": [
          "*"
        ]
      },
      {
        "name": "resultSelector",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 353,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/concatMapTo.js",
    "memberof": null,
    "longname": "es6/operator/concatMapTo.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { MergeMapToOperator } from './mergeMapTo';\n/* tslint:disable:max-line-length */\nexport function concatMapTo(innerObservable, resultSelector) {\n    return this.lift(new MergeMapToOperator(innerObservable, resultSelector, 1));\n}\n//# sourceMappingURL=concatMapTo.js.map"
  },
  {
    "__docId__": 354,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "concatMapTo",
    "memberof": "es6/operator/concatMapTo.js",
    "longname": "es6/operator/concatMapTo.js~concatMapTo",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/concatMapTo.js",
    "importStyle": "{concatMapTo}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "innerObservable",
        "types": [
          "*"
        ]
      },
      {
        "name": "resultSelector",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 355,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/count.js",
    "memberof": null,
    "longname": "es6/operator/count.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * <span class=\"informal\">Tells how many values were emitted, when the source\n * completes.</span>\n *\n * <img src=\"./img/count.png\" width=\"100%\">\n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting an value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example <caption>Counts how many seconds have passed before the first click happened</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nexport function count(predicate) {\n    return this.lift(new CountOperator(predicate, this));\n}\nvar CountOperator = (function () {\n    function CountOperator(predicate, source) {\n        this.predicate = predicate;\n        this.source = source;\n    }\n    CountOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n    };\n    return CountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CountSubscriber = (function (_super) {\n    __extends(CountSubscriber, _super);\n    function CountSubscriber(destination, predicate, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.source = source;\n        this.count = 0;\n        this.index = 0;\n    }\n    CountSubscriber.prototype._next = function (value) {\n        if (this.predicate) {\n            this._tryPredicate(value);\n        }\n        else {\n            this.count++;\n        }\n    };\n    CountSubscriber.prototype._tryPredicate = function (value) {\n        var result;\n        try {\n            result = this.predicate(value, this.index++, this.source);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (result) {\n            this.count++;\n        }\n    };\n    CountSubscriber.prototype._complete = function () {\n        this.destination.next(this.count);\n        this.destination.complete();\n    };\n    return CountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=count.js.map"
  },
  {
    "__docId__": 356,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "count",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/count.js~count",
    "access": null,
    "export": true,
    "description": "Counts the number of emissions on the source and emits that number when the\nsource completes.\n\n<span class=\"informal\">Tells how many values were emitted, when the source\ncompletes.</span>\n\n<img src=\"./img/count.png\" width=\"100%\">\n\n`count` transforms an Observable that emits values into an Observable that\nemits a single value that represents the number of values emitted by the\nsource Observable. If the source Observable terminates with an error, `count`\nwill pass this error notification along without emitting an value first. If\nthe source Observable does not terminate at all, `count` will neither emit\na value nor terminate. This operator takes an optional `predicate` function\nas argument, in which case the output emission will represent the number of\nsource values that matched `true` with the `predicate`.",
    "examples": [
      "<caption>Counts how many seconds have passed before the first click happened</caption>\nvar seconds = Rx.Observable.interval(1000);\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar secondsBeforeClick = seconds.takeUntil(clicks);\nvar result = secondsBeforeClick.count();\nresult.subscribe(x => console.log(x));",
      "<caption>Counts how many odd numbers are there between 1 and 7</caption>\nvar numbers = Rx.Observable.range(1, 7);\nvar result = numbers.count(i => i % 2 === 1);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link max}",
      "{@link min}",
      "{@link reduce}"
    ],
    "lineNumber": 47,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "count"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(value: T, i: number, source: Observable<T>): boolean"
        ],
        "spread": false,
        "optional": true,
        "name": "predicate",
        "description": "A\nboolean function to select what values are to be counted. It is provided with\narguments of:\n- `value`: the value from the source Observable.\n- `index`: the (zero-based) \"index\" of the value from the source Observable.\n- `source`: the source Observable instance itself."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable of one number that represents the count as\ndescribed above."
    },
    "generator": false
  },
  {
    "__docId__": 357,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "CountOperator",
    "memberof": "es6/operator/count.js",
    "longname": "es6/operator/count.js~CountOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/count.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 50,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 358,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "CountSubscriber",
    "memberof": "es6/operator/count.js",
    "longname": "es6/operator/count.js~CountSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/count.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 65,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 359,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/debounce.js",
    "memberof": null,
    "longname": "es6/operator/debounce.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Emits a value from the source Observable only after a particular time span\n * determined by another Observable has passed without another source emission.\n *\n * <span class=\"informal\">It's like {@link debounceTime}, but the time span of\n * emission silence is determined by a second Observable.</span>\n *\n * <img src=\"./img/debounce.png\" width=\"100%\">\n *\n * `debounce` delays values emitted by the source Observable, but drops previous\n * pending delayed emissions if a new value arrives on the source Observable.\n * This operator keeps track of the most recent value from the source\n * Observable, and spawns a duration Observable by calling the\n * `durationSelector` function. The value is emitted only when the duration\n * Observable emits a value or completes, and if no other value was emitted on\n * the source Observable since the duration Observable was spawned. If a new\n * value appears before the duration Observable emits, the previous value will\n * be dropped and will not be emitted on the output Observable.\n *\n * Like {@link debounceTime}, this is a rate-limiting operator, and also a\n * delay-like operator since output emissions do not necessarily occur at the\n * same time as they did on the source Observable.\n *\n * @example <caption>Emit the most recent click after a burst of clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounce(() => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n * @see {@link throttle}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the timeout\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified duration Observable returned by\n * `durationSelector`, and may drop some values if they occur too frequently.\n * @method debounce\n * @owner Observable\n */\nexport function debounce(durationSelector) {\n    return this.lift(new DebounceOperator(durationSelector));\n}\nvar DebounceOperator = (function () {\n    function DebounceOperator(durationSelector) {\n        this.durationSelector = durationSelector;\n    }\n    DebounceOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DebounceSubscriber(subscriber, this.durationSelector));\n    };\n    return DebounceOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DebounceSubscriber = (function (_super) {\n    __extends(DebounceSubscriber, _super);\n    function DebounceSubscriber(destination, durationSelector) {\n        _super.call(this, destination);\n        this.durationSelector = durationSelector;\n        this.hasValue = false;\n        this.durationSubscription = null;\n    }\n    DebounceSubscriber.prototype._next = function (value) {\n        try {\n            var result = this.durationSelector.call(this, value);\n            if (result) {\n                this._tryNext(value, result);\n            }\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    DebounceSubscriber.prototype._complete = function () {\n        this.emitValue();\n        this.destination.complete();\n    };\n    DebounceSubscriber.prototype._tryNext = function (value, duration) {\n        var subscription = this.durationSubscription;\n        this.value = value;\n        this.hasValue = true;\n        if (subscription) {\n            subscription.unsubscribe();\n            this.remove(subscription);\n        }\n        subscription = subscribeToResult(this, duration);\n        if (!subscription.closed) {\n            this.add(this.durationSubscription = subscription);\n        }\n    };\n    DebounceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.emitValue();\n    };\n    DebounceSubscriber.prototype.notifyComplete = function () {\n        this.emitValue();\n    };\n    DebounceSubscriber.prototype.emitValue = function () {\n        if (this.hasValue) {\n            var value = this.value;\n            var subscription = this.durationSubscription;\n            if (subscription) {\n                this.durationSubscription = null;\n                subscription.unsubscribe();\n                this.remove(subscription);\n            }\n            this.value = null;\n            this.hasValue = false;\n            _super.prototype._next.call(this, value);\n        }\n    };\n    return DebounceSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=debounce.js.map"
  },
  {
    "__docId__": 360,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "debounce",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/debounce.js~debounce",
    "access": null,
    "export": true,
    "description": "Emits a value from the source Observable only after a particular time span\ndetermined by another Observable has passed without another source emission.\n\n<span class=\"informal\">It's like {@link debounceTime}, but the time span of\nemission silence is determined by a second Observable.</span>\n\n<img src=\"./img/debounce.png\" width=\"100%\">\n\n`debounce` delays values emitted by the source Observable, but drops previous\npending delayed emissions if a new value arrives on the source Observable.\nThis operator keeps track of the most recent value from the source\nObservable, and spawns a duration Observable by calling the\n`durationSelector` function. The value is emitted only when the duration\nObservable emits a value or completes, and if no other value was emitted on\nthe source Observable since the duration Observable was spawned. If a new\nvalue appears before the duration Observable emits, the previous value will\nbe dropped and will not be emitted on the output Observable.\n\nLike {@link debounceTime}, this is a rate-limiting operator, and also a\ndelay-like operator since output emissions do not necessarily occur at the\nsame time as they did on the source Observable.",
    "examples": [
      "<caption>Emit the most recent click after a burst of clicks</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.debounce(() => Rx.Observable.interval(1000));\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link audit}",
      "{@link debounceTime}",
      "{@link delayWhen}",
      "{@link throttle}"
    ],
    "lineNumber": 45,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "debounce"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(value: T): Observable",
          "Promise"
        ],
        "spread": false,
        "optional": false,
        "name": "durationSelector",
        "description": "A function\nthat receives a value from the source Observable, for computing the timeout\nduration for each source value, returned as an Observable or a Promise."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable that delays the emissions of the source\nObservable by the specified duration Observable returned by\n`durationSelector`, and may drop some values if they occur too frequently."
    },
    "generator": false
  },
  {
    "__docId__": 361,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DebounceOperator",
    "memberof": "es6/operator/debounce.js",
    "longname": "es6/operator/debounce.js~DebounceOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/debounce.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 48,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 362,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DebounceSubscriber",
    "memberof": "es6/operator/debounce.js",
    "longname": "es6/operator/debounce.js~DebounceSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/debounce.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 62,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 363,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/debounceTime.js",
    "memberof": null,
    "longname": "es6/operator/debounceTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\n/**\n * Emits a value from the source Observable only after a particular time span\n * has passed without another source emission.\n *\n * <span class=\"informal\">It's like {@link delay}, but passes only the most\n * recent value from each burst of emissions.</span>\n *\n * <img src=\"./img/debounceTime.png\" width=\"100%\">\n *\n * `debounceTime` delays values emitted by the source Observable, but drops\n * previous pending delayed emissions if a new value arrives on the source\n * Observable. This operator keeps track of the most recent value from the\n * source Observable, and emits that only when `dueTime` enough time has passed\n * without any other value appearing on the source Observable. If a new value\n * appears before `dueTime` silence occurs, the previous value will be dropped\n * and will not be emitted on the output Observable.\n *\n * This is a rate-limiting operator, because it is impossible for more than one\n * value to be emitted in any time window of duration `dueTime`, but it is also\n * a delay-like operator since output emissions do not occur at the same time as\n * they did on the source Observable. Optionally takes a {@link Scheduler} for\n * managing timers.\n *\n * @example <caption>Emit the most recent click after a burst of clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounceTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounce}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttleTime}\n *\n * @param {number} dueTime The timeout duration in milliseconds (or the time\n * unit determined internally by the optional `scheduler`) for the window of\n * time required to wait for emission silence before emitting the most recent\n * source value.\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\n * managing the timers that handle the timeout for each value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified `dueTime`, and may drop some values if they occur\n * too frequently.\n * @method debounceTime\n * @owner Observable\n */\nexport function debounceTime(dueTime, scheduler) {\n    if (scheduler === void 0) { scheduler = async; }\n    return this.lift(new DebounceTimeOperator(dueTime, scheduler));\n}\nvar DebounceTimeOperator = (function () {\n    function DebounceTimeOperator(dueTime, scheduler) {\n        this.dueTime = dueTime;\n        this.scheduler = scheduler;\n    }\n    DebounceTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n    };\n    return DebounceTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DebounceTimeSubscriber = (function (_super) {\n    __extends(DebounceTimeSubscriber, _super);\n    function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n        _super.call(this, destination);\n        this.dueTime = dueTime;\n        this.scheduler = scheduler;\n        this.debouncedSubscription = null;\n        this.lastValue = null;\n        this.hasValue = false;\n    }\n    DebounceTimeSubscriber.prototype._next = function (value) {\n        this.clearDebounce();\n        this.lastValue = value;\n        this.hasValue = true;\n        this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n    };\n    DebounceTimeSubscriber.prototype._complete = function () {\n        this.debouncedNext();\n        this.destination.complete();\n    };\n    DebounceTimeSubscriber.prototype.debouncedNext = function () {\n        this.clearDebounce();\n        if (this.hasValue) {\n            this.destination.next(this.lastValue);\n            this.lastValue = null;\n            this.hasValue = false;\n        }\n    };\n    DebounceTimeSubscriber.prototype.clearDebounce = function () {\n        var debouncedSubscription = this.debouncedSubscription;\n        if (debouncedSubscription !== null) {\n            this.remove(debouncedSubscription);\n            debouncedSubscription.unsubscribe();\n            this.debouncedSubscription = null;\n        }\n    };\n    return DebounceTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(subscriber) {\n    subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map"
  },
  {
    "__docId__": 364,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "debounceTime",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/debounceTime.js~debounceTime",
    "access": null,
    "export": true,
    "description": "Emits a value from the source Observable only after a particular time span\nhas passed without another source emission.\n\n<span class=\"informal\">It's like {@link delay}, but passes only the most\nrecent value from each burst of emissions.</span>\n\n<img src=\"./img/debounceTime.png\" width=\"100%\">\n\n`debounceTime` delays values emitted by the source Observable, but drops\nprevious pending delayed emissions if a new value arrives on the source\nObservable. This operator keeps track of the most recent value from the\nsource Observable, and emits that only when `dueTime` enough time has passed\nwithout any other value appearing on the source Observable. If a new value\nappears before `dueTime` silence occurs, the previous value will be dropped\nand will not be emitted on the output Observable.\n\nThis is a rate-limiting operator, because it is impossible for more than one\nvalue to be emitted in any time window of duration `dueTime`, but it is also\na delay-like operator since output emissions do not occur at the same time as\nthey did on the source Observable. Optionally takes a {@link Scheduler} for\nmanaging timers.",
    "examples": [
      "<caption>Emit the most recent click after a burst of clicks</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.debounceTime(1000);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link auditTime}",
      "{@link debounce}",
      "{@link delay}",
      "{@link sampleTime}",
      "{@link throttleTime}"
    ],
    "lineNumber": 49,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "debounceTime"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "dueTime",
        "description": "The timeout duration in milliseconds (or the time\nunit determined internally by the optional `scheduler`) for the window of\ntime required to wait for emission silence before emitting the most recent\nsource value."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "async",
        "defaultRaw": "async",
        "name": "scheduler",
        "description": "The {@link Scheduler} to use for\nmanaging the timers that handle the timeout for each value."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable that delays the emissions of the source\nObservable by the specified `dueTime`, and may drop some values if they occur\ntoo frequently."
    },
    "generator": false
  },
  {
    "__docId__": 365,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DebounceTimeOperator",
    "memberof": "es6/operator/debounceTime.js",
    "longname": "es6/operator/debounceTime.js~DebounceTimeOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/debounceTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 53,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 366,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DebounceTimeSubscriber",
    "memberof": "es6/operator/debounceTime.js",
    "longname": "es6/operator/debounceTime.js~DebounceTimeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/debounceTime.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 68,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 367,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchNext",
    "memberof": "es6/operator/debounceTime.js",
    "longname": "es6/operator/debounceTime.js~dispatchNext",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/debounceTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 106,
    "undocument": true,
    "params": [
      {
        "name": "subscriber",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 368,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/defaultIfEmpty.js",
    "memberof": null,
    "longname": "es6/operator/defaultIfEmpty.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/* tslint:disable:max-line-length */\nexport function defaultIfEmpty(defaultValue) {\n    if (defaultValue === void 0) { defaultValue = null; }\n    return this.lift(new DefaultIfEmptyOperator(defaultValue));\n}\nvar DefaultIfEmptyOperator = (function () {\n    function DefaultIfEmptyOperator(defaultValue) {\n        this.defaultValue = defaultValue;\n    }\n    DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n    };\n    return DefaultIfEmptyOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DefaultIfEmptySubscriber = (function (_super) {\n    __extends(DefaultIfEmptySubscriber, _super);\n    function DefaultIfEmptySubscriber(destination, defaultValue) {\n        _super.call(this, destination);\n        this.defaultValue = defaultValue;\n        this.isEmpty = true;\n    }\n    DefaultIfEmptySubscriber.prototype._next = function (value) {\n        this.isEmpty = false;\n        this.destination.next(value);\n    };\n    DefaultIfEmptySubscriber.prototype._complete = function () {\n        if (this.isEmpty) {\n            this.destination.next(this.defaultValue);\n        }\n        this.destination.complete();\n    };\n    return DefaultIfEmptySubscriber;\n}(Subscriber));\n//# sourceMappingURL=defaultIfEmpty.js.map"
  },
  {
    "__docId__": 369,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "defaultIfEmpty",
    "memberof": "es6/operator/defaultIfEmpty.js",
    "longname": "es6/operator/defaultIfEmpty.js~defaultIfEmpty",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/defaultIfEmpty.js",
    "importStyle": "{defaultIfEmpty}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "defaultValue",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 370,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DefaultIfEmptyOperator",
    "memberof": "es6/operator/defaultIfEmpty.js",
    "longname": "es6/operator/defaultIfEmpty.js~DefaultIfEmptyOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/defaultIfEmpty.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 371,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DefaultIfEmptySubscriber",
    "memberof": "es6/operator/defaultIfEmpty.js",
    "longname": "es6/operator/defaultIfEmpty.js~DefaultIfEmptySubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/defaultIfEmpty.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 21,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 372,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/delay.js",
    "memberof": null,
    "longname": "es6/operator/delay.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\n/**\n * Delays the emission of items from the source Observable by a given timeout or\n * until a given Date.\n *\n * <span class=\"informal\">Time shifts each item by some specified amount of\n * milliseconds.</span>\n *\n * <img src=\"./img/delay.png\" width=\"100%\">\n *\n * If the delay argument is a Number, this operator time shifts the source\n * Observable by that amount of time expressed in milliseconds. The relative\n * time intervals between the values are preserved.\n *\n * If the delay argument is a Date, this operator time shifts the start of the\n * Observable execution until the given date occurs.\n *\n * @example <caption>Delay each click by one second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @example <caption>Delay all clicks until a future date happens</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var date = new Date('March 15, 2050 12:00:00'); // in the future\n * var delayedClicks = clicks.delay(date); // click emitted only after that date\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n *\n * @param {number|Date} delay The delay duration in milliseconds (a `number`) or\n * a `Date` until which the emission of the source items is delayed.\n * @param {Scheduler} [scheduler=async] The Scheduler to use for\n * managing the timers that handle the time-shift for each item.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified timeout or Date.\n * @method delay\n * @owner Observable\n */\nexport function delay(delay, scheduler) {\n    if (scheduler === void 0) { scheduler = async; }\n    var absoluteDelay = isDate(delay);\n    var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n    return this.lift(new DelayOperator(delayFor, scheduler));\n}\nvar DelayOperator = (function () {\n    function DelayOperator(delay, scheduler) {\n        this.delay = delay;\n        this.scheduler = scheduler;\n    }\n    DelayOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n    };\n    return DelayOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DelaySubscriber = (function (_super) {\n    __extends(DelaySubscriber, _super);\n    function DelaySubscriber(destination, delay, scheduler) {\n        _super.call(this, destination);\n        this.delay = delay;\n        this.scheduler = scheduler;\n        this.queue = [];\n        this.active = false;\n        this.errored = false;\n    }\n    DelaySubscriber.dispatch = function (state) {\n        var source = state.source;\n        var queue = source.queue;\n        var scheduler = state.scheduler;\n        var destination = state.destination;\n        while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n            queue.shift().notification.observe(destination);\n        }\n        if (queue.length > 0) {\n            var delay_1 = Math.max(0, queue[0].time - scheduler.now());\n            this.schedule(state, delay_1);\n        }\n        else {\n            source.active = false;\n        }\n    };\n    DelaySubscriber.prototype._schedule = function (scheduler) {\n        this.active = true;\n        this.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n            source: this, destination: this.destination, scheduler: scheduler\n        }));\n    };\n    DelaySubscriber.prototype.scheduleNotification = function (notification) {\n        if (this.errored === true) {\n            return;\n        }\n        var scheduler = this.scheduler;\n        var message = new DelayMessage(scheduler.now() + this.delay, notification);\n        this.queue.push(message);\n        if (this.active === false) {\n            this._schedule(scheduler);\n        }\n    };\n    DelaySubscriber.prototype._next = function (value) {\n        this.scheduleNotification(Notification.createNext(value));\n    };\n    DelaySubscriber.prototype._error = function (err) {\n        this.errored = true;\n        this.queue = [];\n        this.destination.error(err);\n    };\n    DelaySubscriber.prototype._complete = function () {\n        this.scheduleNotification(Notification.createComplete());\n    };\n    return DelaySubscriber;\n}(Subscriber));\nvar DelayMessage = (function () {\n    function DelayMessage(time, notification) {\n        this.time = time;\n        this.notification = notification;\n    }\n    return DelayMessage;\n}());\n//# sourceMappingURL=delay.js.map"
  },
  {
    "__docId__": 373,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "delay",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/delay.js~delay",
    "access": null,
    "export": true,
    "description": "Delays the emission of items from the source Observable by a given timeout or\nuntil a given Date.\n\n<span class=\"informal\">Time shifts each item by some specified amount of\nmilliseconds.</span>\n\n<img src=\"./img/delay.png\" width=\"100%\">\n\nIf the delay argument is a Number, this operator time shifts the source\nObservable by that amount of time expressed in milliseconds. The relative\ntime intervals between the values are preserved.\n\nIf the delay argument is a Date, this operator time shifts the start of the\nObservable execution until the given date occurs.",
    "examples": [
      "<caption>Delay each click by one second</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar delayedClicks = clicks.delay(1000); // each click emitted after 1 second\ndelayedClicks.subscribe(x => console.log(x));",
      "<caption>Delay all clicks until a future date happens</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar date = new Date('March 15, 2050 12:00:00'); // in the future\nvar delayedClicks = clicks.delay(date); // click emitted only after that date\ndelayedClicks.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link debounceTime}",
      "{@link delayWhen}"
    ],
    "lineNumber": 44,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "delay"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number",
          "Date"
        ],
        "spread": false,
        "optional": false,
        "name": "delay",
        "description": "The delay duration in milliseconds (a `number`) or\na `Date` until which the emission of the source items is delayed."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "async",
        "defaultRaw": "async",
        "name": "scheduler",
        "description": "The Scheduler to use for\nmanaging the timers that handle the time-shift for each item."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable that delays the emissions of the source\nObservable by the specified timeout or Date."
    },
    "generator": false
  },
  {
    "__docId__": 374,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DelayOperator",
    "memberof": "es6/operator/delay.js",
    "longname": "es6/operator/delay.js~DelayOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/delay.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 50,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 375,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DelaySubscriber",
    "memberof": "es6/operator/delay.js",
    "longname": "es6/operator/delay.js~DelaySubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/delay.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 65,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 376,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DelayMessage",
    "memberof": "es6/operator/delay.js",
    "longname": "es6/operator/delay.js~DelayMessage",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/delay.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 121,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 377,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/delayWhen.js",
    "memberof": null,
    "longname": "es6/operator/delayWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Delays the emission of items from the source Observable by a given time span\n * determined by the emissions of another Observable.\n *\n * <span class=\"informal\">It's like {@link delay}, but the time span of the\n * delay duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/delayWhen.png\" width=\"100%\">\n *\n * `delayWhen` time shifts each emitted value from the source Observable by a\n * time span determined by another Observable. When the source emits a value,\n * the `delayDurationSelector` function is called with the source value as\n * argument, and should return an Observable, called the \"duration\" Observable.\n * The source value is emitted on the output Observable only when the duration\n * Observable emits a value or completes.\n *\n * Optionally, `delayWhen` takes a second argument, `subscriptionDelay`, which\n * is an Observable. When `subscriptionDelay` emits its first value or\n * completes, the source Observable is subscribed to and starts behaving like\n * described in the previous paragraph. If `subscriptionDelay` is not provided,\n * `delayWhen` will subscribe to the source Observable as soon as the output\n * Observable is subscribed.\n *\n * @example <caption>Delay each click by a random amount of time, between 0 and 5 seconds</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delayWhen(event =>\n *   Rx.Observable.interval(Math.random() * 5000)\n * );\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounce}\n * @see {@link delay}\n *\n * @param {function(value: T): Observable} delayDurationSelector A function that\n * returns an Observable for each value emitted by the source Observable, which\n * is then used to delay the emission of that item on the output Observable\n * until the Observable returned from this function emits a value.\n * @param {Observable} subscriptionDelay An Observable that triggers the\n * subscription to the source Observable once it emits any value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by an amount of time specified by the Observable returned by\n * `delayDurationSelector`.\n * @method delayWhen\n * @owner Observable\n */\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n    if (subscriptionDelay) {\n        return new SubscriptionDelayObservable(this, subscriptionDelay)\n            .lift(new DelayWhenOperator(delayDurationSelector));\n    }\n    return this.lift(new DelayWhenOperator(delayDurationSelector));\n}\nvar DelayWhenOperator = (function () {\n    function DelayWhenOperator(delayDurationSelector) {\n        this.delayDurationSelector = delayDurationSelector;\n    }\n    DelayWhenOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));\n    };\n    return DelayWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DelayWhenSubscriber = (function (_super) {\n    __extends(DelayWhenSubscriber, _super);\n    function DelayWhenSubscriber(destination, delayDurationSelector) {\n        _super.call(this, destination);\n        this.delayDurationSelector = delayDurationSelector;\n        this.completed = false;\n        this.delayNotifierSubscriptions = [];\n        this.values = [];\n    }\n    DelayWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.destination.next(outerValue);\n        this.removeSubscription(innerSub);\n        this.tryComplete();\n    };\n    DelayWhenSubscriber.prototype.notifyError = function (error, innerSub) {\n        this._error(error);\n    };\n    DelayWhenSubscriber.prototype.notifyComplete = function (innerSub) {\n        var value = this.removeSubscription(innerSub);\n        if (value) {\n            this.destination.next(value);\n        }\n        this.tryComplete();\n    };\n    DelayWhenSubscriber.prototype._next = function (value) {\n        try {\n            var delayNotifier = this.delayDurationSelector(value);\n            if (delayNotifier) {\n                this.tryDelay(delayNotifier, value);\n            }\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    DelayWhenSubscriber.prototype._complete = function () {\n        this.completed = true;\n        this.tryComplete();\n    };\n    DelayWhenSubscriber.prototype.removeSubscription = function (subscription) {\n        subscription.unsubscribe();\n        var subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);\n        var value = null;\n        if (subscriptionIdx !== -1) {\n            value = this.values[subscriptionIdx];\n            this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);\n            this.values.splice(subscriptionIdx, 1);\n        }\n        return value;\n    };\n    DelayWhenSubscriber.prototype.tryDelay = function (delayNotifier, value) {\n        var notifierSubscription = subscribeToResult(this, delayNotifier, value);\n        this.add(notifierSubscription);\n        this.delayNotifierSubscriptions.push(notifierSubscription);\n        this.values.push(value);\n    };\n    DelayWhenSubscriber.prototype.tryComplete = function () {\n        if (this.completed && this.delayNotifierSubscriptions.length === 0) {\n            this.destination.complete();\n        }\n    };\n    return DelayWhenSubscriber;\n}(OuterSubscriber));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubscriptionDelayObservable = (function (_super) {\n    __extends(SubscriptionDelayObservable, _super);\n    function SubscriptionDelayObservable(source, subscriptionDelay) {\n        _super.call(this);\n        this.source = source;\n        this.subscriptionDelay = subscriptionDelay;\n    }\n    SubscriptionDelayObservable.prototype._subscribe = function (subscriber) {\n        this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));\n    };\n    return SubscriptionDelayObservable;\n}(Observable));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubscriptionDelaySubscriber = (function (_super) {\n    __extends(SubscriptionDelaySubscriber, _super);\n    function SubscriptionDelaySubscriber(parent, source) {\n        _super.call(this);\n        this.parent = parent;\n        this.source = source;\n        this.sourceSubscribed = false;\n    }\n    SubscriptionDelaySubscriber.prototype._next = function (unused) {\n        this.subscribeToSource();\n    };\n    SubscriptionDelaySubscriber.prototype._error = function (err) {\n        this.unsubscribe();\n        this.parent.error(err);\n    };\n    SubscriptionDelaySubscriber.prototype._complete = function () {\n        this.subscribeToSource();\n    };\n    SubscriptionDelaySubscriber.prototype.subscribeToSource = function () {\n        if (!this.sourceSubscribed) {\n            this.sourceSubscribed = true;\n            this.unsubscribe();\n            this.source.subscribe(this.parent);\n        }\n    };\n    return SubscriptionDelaySubscriber;\n}(Subscriber));\n//# sourceMappingURL=delayWhen.js.map"
  },
  {
    "__docId__": 378,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "delayWhen",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/delayWhen.js~delayWhen",
    "access": null,
    "export": true,
    "description": "Delays the emission of items from the source Observable by a given time span\ndetermined by the emissions of another Observable.\n\n<span class=\"informal\">It's like {@link delay}, but the time span of the\ndelay duration is determined by a second Observable.</span>\n\n<img src=\"./img/delayWhen.png\" width=\"100%\">\n\n`delayWhen` time shifts each emitted value from the source Observable by a\ntime span determined by another Observable. When the source emits a value,\nthe `delayDurationSelector` function is called with the source value as\nargument, and should return an Observable, called the \"duration\" Observable.\nThe source value is emitted on the output Observable only when the duration\nObservable emits a value or completes.\n\nOptionally, `delayWhen` takes a second argument, `subscriptionDelay`, which\nis an Observable. When `subscriptionDelay` emits its first value or\ncompletes, the source Observable is subscribed to and starts behaving like\ndescribed in the previous paragraph. If `subscriptionDelay` is not provided,\n`delayWhen` will subscribe to the source Observable as soon as the output\nObservable is subscribed.",
    "examples": [
      "<caption>Delay each click by a random amount of time, between 0 and 5 seconds</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar delayedClicks = clicks.delayWhen(event =>\n  Rx.Observable.interval(Math.random() * 5000)\n);\ndelayedClicks.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link debounce}",
      "{@link delay}"
    ],
    "lineNumber": 50,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "delayWhen"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(value: T): Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "delayDurationSelector",
        "description": "A function that\nreturns an Observable for each value emitted by the source Observable, which\nis then used to delay the emission of that item on the output Observable\nuntil the Observable returned from this function emits a value."
      },
      {
        "nullable": null,
        "types": [
          "Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "subscriptionDelay",
        "description": "An Observable that triggers the\nsubscription to the source Observable once it emits any value."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable that delays the emissions of the source\nObservable by an amount of time specified by the Observable returned by\n`delayDurationSelector`."
    },
    "generator": false
  },
  {
    "__docId__": 379,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DelayWhenOperator",
    "memberof": "es6/operator/delayWhen.js",
    "longname": "es6/operator/delayWhen.js~DelayWhenOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/delayWhen.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 57,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 380,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DelayWhenSubscriber",
    "memberof": "es6/operator/delayWhen.js",
    "longname": "es6/operator/delayWhen.js~DelayWhenSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/delayWhen.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 71,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 381,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SubscriptionDelayObservable",
    "memberof": "es6/operator/delayWhen.js",
    "longname": "es6/operator/delayWhen.js~SubscriptionDelayObservable",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/delayWhen.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 139,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 382,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SubscriptionDelaySubscriber",
    "memberof": "es6/operator/delayWhen.js",
    "longname": "es6/operator/delayWhen.js~SubscriptionDelaySubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/delayWhen.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 156,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 383,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/dematerialize.js",
    "memberof": null,
    "longname": "es6/operator/dematerialize.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Converts an Observable of {@link Notification} objects into the emissions\n * that they represent.\n *\n * <span class=\"informal\">Unwraps {@link Notification} objects as actual `next`,\n * `error` and `complete` emissions. The opposite of {@link materialize}.</span>\n *\n * <img src=\"./img/dematerialize.png\" width=\"100%\">\n *\n * `dematerialize` is assumed to operate an Observable that only emits\n * {@link Notification} objects as `next` emissions, and does not emit any\n * `error`. Such Observable is the output of a `materialize` operation. Those\n * notifications are then unwrapped using the metadata they contain, and emitted\n * as `next`, `error`, and `complete` on the output Observable.\n *\n * Use this operator in conjunction with {@link materialize}.\n *\n * @example <caption>Convert an Observable of Notifications to an actual Observable</caption>\n * var notifA = new Rx.Notification('N', 'A');\n * var notifB = new Rx.Notification('N', 'B');\n * var notifE = new Rx.Notification('E', void 0,\n *   new TypeError('x.toUpperCase is not a function')\n * );\n * var materialized = Rx.Observable.of(notifA, notifB, notifE);\n * var upperCase = materialized.dematerialize();\n * upperCase.subscribe(x => console.log(x), e => console.error(e));\n *\n * @see {@link Notification}\n * @see {@link materialize}\n *\n * @return {Observable} An Observable that emits items and notifications\n * embedded in Notification objects emitted by the source Observable.\n * @method dematerialize\n * @owner Observable\n */\nexport function dematerialize() {\n    return this.lift(new DeMaterializeOperator());\n}\nvar DeMaterializeOperator = (function () {\n    function DeMaterializeOperator() {\n    }\n    DeMaterializeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DeMaterializeSubscriber(subscriber));\n    };\n    return DeMaterializeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DeMaterializeSubscriber = (function (_super) {\n    __extends(DeMaterializeSubscriber, _super);\n    function DeMaterializeSubscriber(destination) {\n        _super.call(this, destination);\n    }\n    DeMaterializeSubscriber.prototype._next = function (value) {\n        value.observe(this.destination);\n    };\n    return DeMaterializeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=dematerialize.js.map"
  },
  {
    "__docId__": 384,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "dematerialize",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/dematerialize.js~dematerialize",
    "access": null,
    "export": true,
    "description": "Converts an Observable of {@link Notification} objects into the emissions\nthat they represent.\n\n<span class=\"informal\">Unwraps {@link Notification} objects as actual `next`,\n`error` and `complete` emissions. The opposite of {@link materialize}.</span>\n\n<img src=\"./img/dematerialize.png\" width=\"100%\">\n\n`dematerialize` is assumed to operate an Observable that only emits\n{@link Notification} objects as `next` emissions, and does not emit any\n`error`. Such Observable is the output of a `materialize` operation. Those\nnotifications are then unwrapped using the metadata they contain, and emitted\nas `next`, `error`, and `complete` on the output Observable.\n\nUse this operator in conjunction with {@link materialize}.",
    "examples": [
      "<caption>Convert an Observable of Notifications to an actual Observable</caption>\nvar notifA = new Rx.Notification('N', 'A');\nvar notifB = new Rx.Notification('N', 'B');\nvar notifE = new Rx.Notification('E', void 0,\n  new TypeError('x.toUpperCase is not a function')\n);\nvar materialized = Rx.Observable.of(notifA, notifB, notifE);\nvar upperCase = materialized.dematerialize();\nupperCase.subscribe(x => console.log(x), e => console.error(e));"
    ],
    "see": [
      "{@link Notification}",
      "{@link materialize}"
    ],
    "lineNumber": 37,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "dematerialize"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable that emits items and notifications\nembedded in Notification objects emitted by the source Observable."
    },
    "generator": false
  },
  {
    "__docId__": 385,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DeMaterializeOperator",
    "memberof": "es6/operator/dematerialize.js",
    "longname": "es6/operator/dematerialize.js~DeMaterializeOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/dematerialize.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 40,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 386,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DeMaterializeSubscriber",
    "memberof": "es6/operator/dematerialize.js",
    "longname": "es6/operator/dematerialize.js~DeMaterializeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/dematerialize.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 53,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 387,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/distinct.js",
    "memberof": null,
    "longname": "es6/operator/distinct.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { Set } from '../util/Set';\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items.\n * If a keySelector function is provided, then it will project each value from the source observable into a new value that it will\n * check for equality with previously projected values. If a keySelector function is not provided, it will use each value from the\n * source observable directly with an equality check against previous values.\n * In JavaScript runtimes that support `Set`, this operator will use a `Set` to improve performance of the distinct value checking.\n * In other runtimes, this operator will use a minimal implementation of `Set` that relies on an `Array` and `indexOf` under the\n * hood, so performance will degrade as more values are checked for distinction. Even in newer browsers, a long-running `distinct`\n * use might result in memory leaks. To help alleviate this in some scenarios, an optional `flushes` parameter is also provided so\n * that the internal `Set` can be \"flushed\", basically clearing it of values.\n * @param {function} [keySelector] optional function to select which value you want to check as distinct.\n * @param {Observable} [flushes] optional Observable for flushing the internal HashSet of the operator.\n * @return {Observable} an Observable that emits items from the source Observable with distinct values.\n * @method distinct\n * @owner Observable\n */\nexport function distinct(keySelector, flushes) {\n    return this.lift(new DistinctOperator(keySelector, flushes));\n}\nvar DistinctOperator = (function () {\n    function DistinctOperator(keySelector, flushes) {\n        this.keySelector = keySelector;\n        this.flushes = flushes;\n    }\n    DistinctOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n    };\n    return DistinctOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var DistinctSubscriber = (function (_super) {\n    __extends(DistinctSubscriber, _super);\n    function DistinctSubscriber(destination, keySelector, flushes) {\n        _super.call(this, destination);\n        this.keySelector = keySelector;\n        this.values = new Set();\n        if (flushes) {\n            this.add(subscribeToResult(this, flushes));\n        }\n    }\n    DistinctSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.values.clear();\n    };\n    DistinctSubscriber.prototype.notifyError = function (error, innerSub) {\n        this._error(error);\n    };\n    DistinctSubscriber.prototype._next = function (value) {\n        if (this.keySelector) {\n            this._useKeySelector(value);\n        }\n        else {\n            this._finalizeNext(value, value);\n        }\n    };\n    DistinctSubscriber.prototype._useKeySelector = function (value) {\n        var key;\n        var destination = this.destination;\n        try {\n            key = this.keySelector(value);\n        }\n        catch (err) {\n            destination.error(err);\n            return;\n        }\n        this._finalizeNext(key, value);\n    };\n    DistinctSubscriber.prototype._finalizeNext = function (key, value) {\n        var values = this.values;\n        if (!values.has(key)) {\n            values.add(key);\n            this.destination.next(value);\n        }\n    };\n    return DistinctSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=distinct.js.map"
  },
  {
    "__docId__": 388,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "distinct",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/distinct.js~distinct",
    "access": null,
    "export": true,
    "description": "Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items.\nIf a keySelector function is provided, then it will project each value from the source observable into a new value that it will\ncheck for equality with previously projected values. If a keySelector function is not provided, it will use each value from the\nsource observable directly with an equality check against previous values.\nIn JavaScript runtimes that support `Set`, this operator will use a `Set` to improve performance of the distinct value checking.\nIn other runtimes, this operator will use a minimal implementation of `Set` that relies on an `Array` and `indexOf` under the\nhood, so performance will degrade as more values are checked for distinction. Even in newer browsers, a long-running `distinct`\nuse might result in memory leaks. To help alleviate this in some scenarios, an optional `flushes` parameter is also provided so\nthat the internal `Set` can be \"flushed\", basically clearing it of values.",
    "lineNumber": 20,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "distinct"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function"
        ],
        "spread": false,
        "optional": true,
        "name": "keySelector",
        "description": "optional function to select which value you want to check as distinct."
      },
      {
        "nullable": null,
        "types": [
          "Observable"
        ],
        "spread": false,
        "optional": true,
        "name": "flushes",
        "description": "optional Observable for flushing the internal HashSet of the operator."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an Observable that emits items from the source Observable with distinct values."
    },
    "generator": false
  },
  {
    "__docId__": 389,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DistinctOperator",
    "memberof": "es6/operator/distinct.js",
    "longname": "es6/operator/distinct.js~DistinctOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/distinct.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 23,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 390,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DistinctSubscriber",
    "memberof": "es6/operator/distinct.js",
    "longname": "es6/operator/distinct.js~DistinctSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/distinct.js",
    "importStyle": "{DistinctSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 38,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 391,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/distinctUntilChanged.js",
    "memberof": null,
    "longname": "es6/operator/distinctUntilChanged.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\n/* tslint:disable:max-line-length */\nexport function distinctUntilChanged(compare, keySelector) {\n    return this.lift(new DistinctUntilChangedOperator(compare, keySelector));\n}\nvar DistinctUntilChangedOperator = (function () {\n    function DistinctUntilChangedOperator(compare, keySelector) {\n        this.compare = compare;\n        this.keySelector = keySelector;\n    }\n    DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n    };\n    return DistinctUntilChangedOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DistinctUntilChangedSubscriber = (function (_super) {\n    __extends(DistinctUntilChangedSubscriber, _super);\n    function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\n        _super.call(this, destination);\n        this.keySelector = keySelector;\n        this.hasKey = false;\n        if (typeof compare === 'function') {\n            this.compare = compare;\n        }\n    }\n    DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\n        return x === y;\n    };\n    DistinctUntilChangedSubscriber.prototype._next = function (value) {\n        var keySelector = this.keySelector;\n        var key = value;\n        if (keySelector) {\n            key = tryCatch(this.keySelector)(value);\n            if (key === errorObject) {\n                return this.destination.error(errorObject.e);\n            }\n        }\n        var result = false;\n        if (this.hasKey) {\n            result = tryCatch(this.compare)(this.key, key);\n            if (result === errorObject) {\n                return this.destination.error(errorObject.e);\n            }\n        }\n        else {\n            this.hasKey = true;\n        }\n        if (Boolean(result) === false) {\n            this.key = key;\n            this.destination.next(value);\n        }\n    };\n    return DistinctUntilChangedSubscriber;\n}(Subscriber));\n//# sourceMappingURL=distinctUntilChanged.js.map"
  },
  {
    "__docId__": 392,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "distinctUntilChanged",
    "memberof": "es6/operator/distinctUntilChanged.js",
    "longname": "es6/operator/distinctUntilChanged.js~distinctUntilChanged",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/distinctUntilChanged.js",
    "importStyle": "{distinctUntilChanged}",
    "description": null,
    "lineNumber": 5,
    "undocument": true,
    "params": [
      {
        "name": "compare",
        "types": [
          "*"
        ]
      },
      {
        "name": "keySelector",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 393,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DistinctUntilChangedOperator",
    "memberof": "es6/operator/distinctUntilChanged.js",
    "longname": "es6/operator/distinctUntilChanged.js~DistinctUntilChangedOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/distinctUntilChanged.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 8,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 394,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DistinctUntilChangedSubscriber",
    "memberof": "es6/operator/distinctUntilChanged.js",
    "longname": "es6/operator/distinctUntilChanged.js~DistinctUntilChangedSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/distinctUntilChanged.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 23,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 395,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/distinctUntilKeyChanged.js",
    "memberof": null,
    "longname": "es6/operator/distinctUntilKeyChanged.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { distinctUntilChanged } from './distinctUntilChanged';\n/* tslint:disable:max-line-length */\nexport function distinctUntilKeyChanged(key, compare) {\n    return distinctUntilChanged.call(this, function (x, y) {\n        if (compare) {\n            return compare(x[key], y[key]);\n        }\n        return x[key] === y[key];\n    });\n}\n//# sourceMappingURL=distinctUntilKeyChanged.js.map"
  },
  {
    "__docId__": 396,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "distinctUntilKeyChanged",
    "memberof": "es6/operator/distinctUntilKeyChanged.js",
    "longname": "es6/operator/distinctUntilKeyChanged.js~distinctUntilKeyChanged",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/distinctUntilKeyChanged.js",
    "importStyle": "{distinctUntilKeyChanged}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "key",
        "types": [
          "*"
        ]
      },
      {
        "name": "compare",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 397,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/do.js",
    "memberof": null,
    "longname": "es6/operator/do.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/* tslint:disable:max-line-length */\nexport function _do(nextOrObserver, error, complete) {\n    return this.lift(new DoOperator(nextOrObserver, error, complete));\n}\nvar DoOperator = (function () {\n    function DoOperator(nextOrObserver, error, complete) {\n        this.nextOrObserver = nextOrObserver;\n        this.error = error;\n        this.complete = complete;\n    }\n    DoOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n    };\n    return DoOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DoSubscriber = (function (_super) {\n    __extends(DoSubscriber, _super);\n    function DoSubscriber(destination, nextOrObserver, error, complete) {\n        _super.call(this, destination);\n        var safeSubscriber = new Subscriber(nextOrObserver, error, complete);\n        safeSubscriber.syncErrorThrowable = true;\n        this.add(safeSubscriber);\n        this.safeSubscriber = safeSubscriber;\n    }\n    DoSubscriber.prototype._next = function (value) {\n        var safeSubscriber = this.safeSubscriber;\n        safeSubscriber.next(value);\n        if (safeSubscriber.syncErrorThrown) {\n            this.destination.error(safeSubscriber.syncErrorValue);\n        }\n        else {\n            this.destination.next(value);\n        }\n    };\n    DoSubscriber.prototype._error = function (err) {\n        var safeSubscriber = this.safeSubscriber;\n        safeSubscriber.error(err);\n        if (safeSubscriber.syncErrorThrown) {\n            this.destination.error(safeSubscriber.syncErrorValue);\n        }\n        else {\n            this.destination.error(err);\n        }\n    };\n    DoSubscriber.prototype._complete = function () {\n        var safeSubscriber = this.safeSubscriber;\n        safeSubscriber.complete();\n        if (safeSubscriber.syncErrorThrown) {\n            this.destination.error(safeSubscriber.syncErrorValue);\n        }\n        else {\n            this.destination.complete();\n        }\n    };\n    return DoSubscriber;\n}(Subscriber));\n//# sourceMappingURL=do.js.map"
  },
  {
    "__docId__": 398,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "_do",
    "memberof": "es6/operator/do.js",
    "longname": "es6/operator/do.js~_do",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/do.js",
    "importStyle": "{_do}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "nextOrObserver",
        "types": [
          "*"
        ]
      },
      {
        "name": "error",
        "types": [
          "*"
        ]
      },
      {
        "name": "complete",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 399,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DoOperator",
    "memberof": "es6/operator/do.js",
    "longname": "es6/operator/do.js~DoOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/do.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 6,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 400,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "DoSubscriber",
    "memberof": "es6/operator/do.js",
    "longname": "es6/operator/do.js~DoSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/do.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 22,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 401,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/elementAt.js",
    "memberof": null,
    "longname": "es6/operator/elementAt.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\n/**\n * Emits the single value at the specified `index` in a sequence of emissions\n * from the source Observable.\n *\n * <span class=\"informal\">Emits only the i-th value, then completes.</span>\n *\n * <img src=\"./img/elementAt.png\" width=\"100%\">\n *\n * `elementAt` returns an Observable that emits the item at the specified\n * `index` in the source Observable, or a default value if that `index` is out\n * of range and the `default` argument is provided. If the `default` argument is\n * not given and the `index` is out of range, the output Observable will emit an\n * `ArgumentOutOfRangeError` error.\n *\n * @example <caption>Emit only the third click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.elementAt(2);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link first}\n * @see {@link last}\n * @see {@link skip}\n * @see {@link single}\n * @see {@link take}\n *\n * @throws {ArgumentOutOfRangeError} When using `elementAt(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0` or the\n * Observable has completed before emitting the i-th `next` notification.\n *\n * @param {number} index Is the number `i` for the i-th source emission that has\n * happened since the subscription, starting from the number `0`.\n * @param {T} [defaultValue] The default value returned for missing indices.\n * @return {Observable} An Observable that emits a single item, if it is found.\n * Otherwise, will emit the default value if given. If not, then emits an error.\n * @method elementAt\n * @owner Observable\n */\nexport function elementAt(index, defaultValue) {\n    return this.lift(new ElementAtOperator(index, defaultValue));\n}\nvar ElementAtOperator = (function () {\n    function ElementAtOperator(index, defaultValue) {\n        this.index = index;\n        this.defaultValue = defaultValue;\n        if (index < 0) {\n            throw new ArgumentOutOfRangeError;\n        }\n    }\n    ElementAtOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ElementAtSubscriber(subscriber, this.index, this.defaultValue));\n    };\n    return ElementAtOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ElementAtSubscriber = (function (_super) {\n    __extends(ElementAtSubscriber, _super);\n    function ElementAtSubscriber(destination, index, defaultValue) {\n        _super.call(this, destination);\n        this.index = index;\n        this.defaultValue = defaultValue;\n    }\n    ElementAtSubscriber.prototype._next = function (x) {\n        if (this.index-- === 0) {\n            this.destination.next(x);\n            this.destination.complete();\n        }\n    };\n    ElementAtSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        if (this.index >= 0) {\n            if (typeof this.defaultValue !== 'undefined') {\n                destination.next(this.defaultValue);\n            }\n            else {\n                destination.error(new ArgumentOutOfRangeError);\n            }\n        }\n        destination.complete();\n    };\n    return ElementAtSubscriber;\n}(Subscriber));\n//# sourceMappingURL=elementAt.js.map"
  },
  {
    "__docId__": 402,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "elementAt",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/elementAt.js~elementAt",
    "access": null,
    "export": true,
    "description": "Emits the single value at the specified `index` in a sequence of emissions\nfrom the source Observable.\n\n<span class=\"informal\">Emits only the i-th value, then completes.</span>\n\n<img src=\"./img/elementAt.png\" width=\"100%\">\n\n`elementAt` returns an Observable that emits the item at the specified\n`index` in the source Observable, or a default value if that `index` is out\nof range and the `default` argument is provided. If the `default` argument is\nnot given and the `index` is out of range, the output Observable will emit an\n`ArgumentOutOfRangeError` error.",
    "examples": [
      "<caption>Emit only the third click event</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.elementAt(2);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link first}",
      "{@link last}",
      "{@link skip}",
      "{@link single}",
      "{@link take}"
    ],
    "lineNumber": 40,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "elementAt"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "index",
        "description": "Is the number `i` for the i-th source emission that has\nhappened since the subscription, starting from the number `0`."
      },
      {
        "nullable": null,
        "types": [
          "T"
        ],
        "spread": false,
        "optional": true,
        "name": "defaultValue",
        "description": "The default value returned for missing indices."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable that emits a single item, if it is found.\nOtherwise, will emit the default value if given. If not, then emits an error."
    },
    "throws": [
      {
        "types": [
          "ArgumentOutOfRangeError"
        ],
        "description": "When using `elementAt(i)`, it delivers an\nArgumentOutOrRangeError to the Observer's `error` callback if `i < 0` or the\nObservable has completed before emitting the i-th `next` notification."
      }
    ],
    "generator": false
  },
  {
    "__docId__": 403,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ElementAtOperator",
    "memberof": "es6/operator/elementAt.js",
    "longname": "es6/operator/elementAt.js~ElementAtOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/elementAt.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 43,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 404,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ElementAtSubscriber",
    "memberof": "es6/operator/elementAt.js",
    "longname": "es6/operator/elementAt.js~ElementAtSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/elementAt.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 61,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 405,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/every.js",
    "memberof": null,
    "longname": "es6/operator/every.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Returns an Observable that emits whether or not every item of the source satisfies the condition specified.\n * @param {function} predicate a function for determining if an item meets a specified condition.\n * @param {any} [thisArg] optional object to use for `this` in the callback\n * @return {Observable} an Observable of booleans that determines if all items of the source Observable meet the condition specified.\n * @method every\n * @owner Observable\n */\nexport function every(predicate, thisArg) {\n    return this.lift(new EveryOperator(predicate, thisArg, this));\n}\nvar EveryOperator = (function () {\n    function EveryOperator(predicate, thisArg, source) {\n        this.predicate = predicate;\n        this.thisArg = thisArg;\n        this.source = source;\n    }\n    EveryOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));\n    };\n    return EveryOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar EverySubscriber = (function (_super) {\n    __extends(EverySubscriber, _super);\n    function EverySubscriber(destination, predicate, thisArg, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.thisArg = thisArg;\n        this.source = source;\n        this.index = 0;\n        this.thisArg = thisArg || this;\n    }\n    EverySubscriber.prototype.notifyComplete = function (everyValueMatch) {\n        this.destination.next(everyValueMatch);\n        this.destination.complete();\n    };\n    EverySubscriber.prototype._next = function (value) {\n        var result = false;\n        try {\n            result = this.predicate.call(this.thisArg, value, this.index++, this.source);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (!result) {\n            this.notifyComplete(false);\n        }\n    };\n    EverySubscriber.prototype._complete = function () {\n        this.notifyComplete(true);\n    };\n    return EverySubscriber;\n}(Subscriber));\n//# sourceMappingURL=every.js.map"
  },
  {
    "__docId__": 406,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "every",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/every.js~every",
    "access": null,
    "export": true,
    "description": "Returns an Observable that emits whether or not every item of the source satisfies the condition specified.",
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "every"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function"
        ],
        "spread": false,
        "optional": false,
        "name": "predicate",
        "description": "a function for determining if an item meets a specified condition."
      },
      {
        "nullable": null,
        "types": [
          "any"
        ],
        "spread": false,
        "optional": true,
        "name": "thisArg",
        "description": "optional object to use for `this` in the callback"
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an Observable of booleans that determines if all items of the source Observable meet the condition specified."
    },
    "generator": false
  },
  {
    "__docId__": 407,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "EveryOperator",
    "memberof": "es6/operator/every.js",
    "longname": "es6/operator/every.js~EveryOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/every.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 13,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 408,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "EverySubscriber",
    "memberof": "es6/operator/every.js",
    "longname": "es6/operator/every.js~EverySubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/every.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 29,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 409,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/exhaust.js",
    "memberof": null,
    "longname": "es6/operator/exhaust.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Converts a higher-order Observable into a first-order Observable by dropping\n * inner Observables while the previous inner Observable has not yet completed.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables by dropping the\n * next inner Observables while the current inner is still executing.</span>\n *\n * <img src=\"./img/exhaust.png\" width=\"100%\">\n *\n * `exhaust` subscribes to an Observable that emits Observables, also known as a\n * higher-order Observable. Each time it observes one of these emitted inner\n * Observables, the output Observable begins emitting the items emitted by that\n * inner Observable. So far, it behaves like {@link mergeAll}. However,\n * `exhaust` ignores every new inner Observable if the previous Observable has\n * not yet completed. Once that one completes, it will accept and flatten the\n * next inner Observable and repeat this process.\n *\n * @example <caption>Run a finite timer for each click, only if there is no currently active timer</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\n * var result = higherOrder.exhaust();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link switch}\n * @see {@link mergeAll}\n * @see {@link exhaustMap}\n * @see {@link zipAll}\n *\n * @return {Observable} Returns an Observable that takes a source of Observables\n * and propagates the first observable exclusively until it completes before\n * subscribing to the next.\n * @method exhaust\n * @owner Observable\n */\nexport function exhaust() {\n    return this.lift(new SwitchFirstOperator());\n}\nvar SwitchFirstOperator = (function () {\n    function SwitchFirstOperator() {\n    }\n    SwitchFirstOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchFirstSubscriber(subscriber));\n    };\n    return SwitchFirstOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchFirstSubscriber = (function (_super) {\n    __extends(SwitchFirstSubscriber, _super);\n    function SwitchFirstSubscriber(destination) {\n        _super.call(this, destination);\n        this.hasCompleted = false;\n        this.hasSubscription = false;\n    }\n    SwitchFirstSubscriber.prototype._next = function (value) {\n        if (!this.hasSubscription) {\n            this.hasSubscription = true;\n            this.add(subscribeToResult(this, value));\n        }\n    };\n    SwitchFirstSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (!this.hasSubscription) {\n            this.destination.complete();\n        }\n    };\n    SwitchFirstSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.remove(innerSub);\n        this.hasSubscription = false;\n        if (this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return SwitchFirstSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=exhaust.js.map"
  },
  {
    "__docId__": 410,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "exhaust",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/exhaust.js~exhaust",
    "access": null,
    "export": true,
    "description": "Converts a higher-order Observable into a first-order Observable by dropping\ninner Observables while the previous inner Observable has not yet completed.\n\n<span class=\"informal\">Flattens an Observable-of-Observables by dropping the\nnext inner Observables while the current inner is still executing.</span>\n\n<img src=\"./img/exhaust.png\" width=\"100%\">\n\n`exhaust` subscribes to an Observable that emits Observables, also known as a\nhigher-order Observable. Each time it observes one of these emitted inner\nObservables, the output Observable begins emitting the items emitted by that\ninner Observable. So far, it behaves like {@link mergeAll}. However,\n`exhaust` ignores every new inner Observable if the previous Observable has\nnot yet completed. Once that one completes, it will accept and flatten the\nnext inner Observable and repeat this process.",
    "examples": [
      "<caption>Run a finite timer for each click, only if there is no currently active timer</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\nvar result = higherOrder.exhaust();\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link combineAll}",
      "{@link concatAll}",
      "{@link switch}",
      "{@link mergeAll}",
      "{@link exhaustMap}",
      "{@link zipAll}"
    ],
    "lineNumber": 39,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "exhaust"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "Returns an Observable that takes a source of Observables\nand propagates the first observable exclusively until it completes before\nsubscribing to the next."
    },
    "generator": false
  },
  {
    "__docId__": 411,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchFirstOperator",
    "memberof": "es6/operator/exhaust.js",
    "longname": "es6/operator/exhaust.js~SwitchFirstOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/exhaust.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 42,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 412,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchFirstSubscriber",
    "memberof": "es6/operator/exhaust.js",
    "longname": "es6/operator/exhaust.js~SwitchFirstSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/exhaust.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 55,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 413,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/exhaustMap.js",
    "memberof": null,
    "longname": "es6/operator/exhaustMap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/* tslint:disable:max-line-length */\nexport function exhaustMap(project, resultSelector) {\n    return this.lift(new SwitchFirstMapOperator(project, resultSelector));\n}\nvar SwitchFirstMapOperator = (function () {\n    function SwitchFirstMapOperator(project, resultSelector) {\n        this.project = project;\n        this.resultSelector = resultSelector;\n    }\n    SwitchFirstMapOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchFirstMapSubscriber(subscriber, this.project, this.resultSelector));\n    };\n    return SwitchFirstMapOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchFirstMapSubscriber = (function (_super) {\n    __extends(SwitchFirstMapSubscriber, _super);\n    function SwitchFirstMapSubscriber(destination, project, resultSelector) {\n        _super.call(this, destination);\n        this.project = project;\n        this.resultSelector = resultSelector;\n        this.hasSubscription = false;\n        this.hasCompleted = false;\n        this.index = 0;\n    }\n    SwitchFirstMapSubscriber.prototype._next = function (value) {\n        if (!this.hasSubscription) {\n            this.tryNext(value);\n        }\n    };\n    SwitchFirstMapSubscriber.prototype.tryNext = function (value) {\n        var index = this.index++;\n        var destination = this.destination;\n        try {\n            var result = this.project(value, index);\n            this.hasSubscription = true;\n            this.add(subscribeToResult(this, result, value, index));\n        }\n        catch (err) {\n            destination.error(err);\n        }\n    };\n    SwitchFirstMapSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (!this.hasSubscription) {\n            this.destination.complete();\n        }\n    };\n    SwitchFirstMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        if (resultSelector) {\n            this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            destination.next(innerValue);\n        }\n    };\n    SwitchFirstMapSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        try {\n            var result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n            destination.next(result);\n        }\n        catch (err) {\n            destination.error(err);\n        }\n    };\n    SwitchFirstMapSubscriber.prototype.notifyError = function (err) {\n        this.destination.error(err);\n    };\n    SwitchFirstMapSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.remove(innerSub);\n        this.hasSubscription = false;\n        if (this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return SwitchFirstMapSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=exhaustMap.js.map"
  },
  {
    "__docId__": 414,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "exhaustMap",
    "memberof": "es6/operator/exhaustMap.js",
    "longname": "es6/operator/exhaustMap.js~exhaustMap",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/exhaustMap.js",
    "importStyle": "{exhaustMap}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [
      {
        "name": "project",
        "types": [
          "*"
        ]
      },
      {
        "name": "resultSelector",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 415,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchFirstMapOperator",
    "memberof": "es6/operator/exhaustMap.js",
    "longname": "es6/operator/exhaustMap.js~SwitchFirstMapOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/exhaustMap.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 416,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchFirstMapSubscriber",
    "memberof": "es6/operator/exhaustMap.js",
    "longname": "es6/operator/exhaustMap.js~SwitchFirstMapSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/exhaustMap.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 22,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 417,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/expand.js",
    "memberof": null,
    "longname": "es6/operator/expand.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/* tslint:disable:max-line-length */\nexport function expand(project, concurrent, scheduler) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    if (scheduler === void 0) { scheduler = undefined; }\n    concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\n    return this.lift(new ExpandOperator(project, concurrent, scheduler));\n}\nexport var ExpandOperator = (function () {\n    function ExpandOperator(project, concurrent, scheduler) {\n        this.project = project;\n        this.concurrent = concurrent;\n        this.scheduler = scheduler;\n    }\n    ExpandOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));\n    };\n    return ExpandOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var ExpandSubscriber = (function (_super) {\n    __extends(ExpandSubscriber, _super);\n    function ExpandSubscriber(destination, project, concurrent, scheduler) {\n        _super.call(this, destination);\n        this.project = project;\n        this.concurrent = concurrent;\n        this.scheduler = scheduler;\n        this.index = 0;\n        this.active = 0;\n        this.hasCompleted = false;\n        if (concurrent < Number.POSITIVE_INFINITY) {\n            this.buffer = [];\n        }\n    }\n    ExpandSubscriber.dispatch = function (arg) {\n        var subscriber = arg.subscriber, result = arg.result, value = arg.value, index = arg.index;\n        subscriber.subscribeToProjection(result, value, index);\n    };\n    ExpandSubscriber.prototype._next = function (value) {\n        var destination = this.destination;\n        if (destination.closed) {\n            this._complete();\n            return;\n        }\n        var index = this.index++;\n        if (this.active < this.concurrent) {\n            destination.next(value);\n            var result = tryCatch(this.project)(value, index);\n            if (result === errorObject) {\n                destination.error(errorObject.e);\n            }\n            else if (!this.scheduler) {\n                this.subscribeToProjection(result, value, index);\n            }\n            else {\n                var state = { subscriber: this, result: result, value: value, index: index };\n                this.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));\n            }\n        }\n        else {\n            this.buffer.push(value);\n        }\n    };\n    ExpandSubscriber.prototype.subscribeToProjection = function (result, value, index) {\n        this.active++;\n        this.add(subscribeToResult(this, result, value, index));\n    };\n    ExpandSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.hasCompleted && this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    ExpandSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this._next(innerValue);\n    };\n    ExpandSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer && buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        if (this.hasCompleted && this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    return ExpandSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=expand.js.map"
  },
  {
    "__docId__": 418,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "expand",
    "memberof": "es6/operator/expand.js",
    "longname": "es6/operator/expand.js~expand",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/expand.js",
    "importStyle": "{expand}",
    "description": null,
    "lineNumber": 6,
    "undocument": true,
    "params": [
      {
        "name": "project",
        "types": [
          "*"
        ]
      },
      {
        "name": "concurrent",
        "types": [
          "*"
        ]
      },
      {
        "name": "scheduler",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 419,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ExpandOperator",
    "memberof": "es6/operator/expand.js",
    "longname": "es6/operator/expand.js~ExpandOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/expand.js",
    "importStyle": "{ExpandOperator}",
    "description": null,
    "lineNumber": 12,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 420,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ExpandSubscriber",
    "memberof": "es6/operator/expand.js",
    "longname": "es6/operator/expand.js~ExpandSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/expand.js",
    "importStyle": "{ExpandSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 28,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 421,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/filter.js",
    "memberof": null,
    "longname": "es6/operator/filter.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/* tslint:disable:max-line-length */\nexport function filter(predicate, thisArg) {\n    return this.lift(new FilterOperator(predicate, thisArg));\n}\nvar FilterOperator = (function () {\n    function FilterOperator(predicate, thisArg) {\n        this.predicate = predicate;\n        this.thisArg = thisArg;\n    }\n    FilterOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n    };\n    return FilterOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FilterSubscriber = (function (_super) {\n    __extends(FilterSubscriber, _super);\n    function FilterSubscriber(destination, predicate, thisArg) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.thisArg = thisArg;\n        this.count = 0;\n        this.predicate = predicate;\n    }\n    // the try catch block below is left specifically for\n    // optimization and perf reasons. a tryCatcher is not necessary here.\n    FilterSubscriber.prototype._next = function (value) {\n        var result;\n        try {\n            result = this.predicate.call(this.thisArg, value, this.count++);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (result) {\n            this.destination.next(value);\n        }\n    };\n    return FilterSubscriber;\n}(Subscriber));\n//# sourceMappingURL=filter.js.map"
  },
  {
    "__docId__": 422,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "filter",
    "memberof": "es6/operator/filter.js",
    "longname": "es6/operator/filter.js~filter",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/filter.js",
    "importStyle": "{filter}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "predicate",
        "types": [
          "*"
        ]
      },
      {
        "name": "thisArg",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 423,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FilterOperator",
    "memberof": "es6/operator/filter.js",
    "longname": "es6/operator/filter.js~FilterOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/filter.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 6,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 424,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FilterSubscriber",
    "memberof": "es6/operator/filter.js",
    "longname": "es6/operator/filter.js~FilterSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/filter.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 21,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 425,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/finally.js",
    "memberof": null,
    "longname": "es6/operator/finally.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\n/**\n * Returns an Observable that mirrors the source Observable, but will call a specified function when\n * the source terminates on complete or error.\n * @param {function} callback function to be called when source terminates.\n * @return {Observable} an Observable that mirrors the source, but will call the specified function on termination.\n * @method finally\n * @owner Observable\n */\nexport function _finally(callback) {\n    return this.lift(new FinallyOperator(callback));\n}\nvar FinallyOperator = (function () {\n    function FinallyOperator(callback) {\n        this.callback = callback;\n    }\n    FinallyOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new FinallySubscriber(subscriber, this.callback));\n    };\n    return FinallyOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FinallySubscriber = (function (_super) {\n    __extends(FinallySubscriber, _super);\n    function FinallySubscriber(destination, callback) {\n        _super.call(this, destination);\n        this.add(new Subscription(callback));\n    }\n    return FinallySubscriber;\n}(Subscriber));\n//# sourceMappingURL=finally.js.map"
  },
  {
    "__docId__": 426,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "_finally",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/finally.js~_finally",
    "access": null,
    "export": true,
    "description": "Returns an Observable that mirrors the source Observable, but will call a specified function when\nthe source terminates on complete or error.",
    "lineNumber": 11,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "finally"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function"
        ],
        "spread": false,
        "optional": false,
        "name": "callback",
        "description": "function to be called when source terminates."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an Observable that mirrors the source, but will call the specified function on termination."
    },
    "generator": false
  },
  {
    "__docId__": 427,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FinallyOperator",
    "memberof": "es6/operator/finally.js",
    "longname": "es6/operator/finally.js~FinallyOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/finally.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 14,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 428,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FinallySubscriber",
    "memberof": "es6/operator/finally.js",
    "longname": "es6/operator/finally.js~FinallySubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/finally.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 28,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 429,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/find.js",
    "memberof": null,
    "longname": "es6/operator/find.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/* tslint:disable:max-line-length */\nexport function find(predicate, thisArg) {\n    if (typeof predicate !== 'function') {\n        throw new TypeError('predicate is not a function');\n    }\n    return this.lift(new FindValueOperator(predicate, this, false, thisArg));\n}\nexport var FindValueOperator = (function () {\n    function FindValueOperator(predicate, source, yieldIndex, thisArg) {\n        this.predicate = predicate;\n        this.source = source;\n        this.yieldIndex = yieldIndex;\n        this.thisArg = thisArg;\n    }\n    FindValueOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));\n    };\n    return FindValueOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var FindValueSubscriber = (function (_super) {\n    __extends(FindValueSubscriber, _super);\n    function FindValueSubscriber(destination, predicate, source, yieldIndex, thisArg) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.source = source;\n        this.yieldIndex = yieldIndex;\n        this.thisArg = thisArg;\n        this.index = 0;\n    }\n    FindValueSubscriber.prototype.notifyComplete = function (value) {\n        var destination = this.destination;\n        destination.next(value);\n        destination.complete();\n    };\n    FindValueSubscriber.prototype._next = function (value) {\n        var _a = this, predicate = _a.predicate, thisArg = _a.thisArg;\n        var index = this.index++;\n        try {\n            var result = predicate.call(thisArg || this, value, index, this.source);\n            if (result) {\n                this.notifyComplete(this.yieldIndex ? index : value);\n            }\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    FindValueSubscriber.prototype._complete = function () {\n        this.notifyComplete(this.yieldIndex ? -1 : undefined);\n    };\n    return FindValueSubscriber;\n}(Subscriber));\n//# sourceMappingURL=find.js.map"
  },
  {
    "__docId__": 430,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "find",
    "memberof": "es6/operator/find.js",
    "longname": "es6/operator/find.js~find",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/find.js",
    "importStyle": "{find}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "predicate",
        "types": [
          "*"
        ]
      },
      {
        "name": "thisArg",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 431,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FindValueOperator",
    "memberof": "es6/operator/find.js",
    "longname": "es6/operator/find.js~FindValueOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/find.js",
    "importStyle": "{FindValueOperator}",
    "description": null,
    "lineNumber": 9,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 432,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FindValueSubscriber",
    "memberof": "es6/operator/find.js",
    "longname": "es6/operator/find.js~FindValueSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/find.js",
    "importStyle": "{FindValueSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 26,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 433,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/findIndex.js",
    "memberof": null,
    "longname": "es6/operator/findIndex.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { FindValueOperator } from './find';\n/**\n * Emits only the index of the first value emitted by the source Observable that\n * meets some condition.\n *\n * <span class=\"informal\">It's like {@link find}, but emits the index of the\n * found value, not the value itself.</span>\n *\n * <img src=\"./img/findIndex.png\" width=\"100%\">\n *\n * `findIndex` searches for the first item in the source Observable that matches\n * the specified condition embodied by the `predicate`, and returns the\n * (zero-based) index of the first occurrence in the source. Unlike\n * {@link first}, the `predicate` is required in `findIndex`, and does not emit\n * an error if a valid value is not found.\n *\n * @example <caption>Emit the index of first click that happens on a DIV element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.findIndex(ev => ev.target.tagName === 'DIV');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link filter}\n * @see {@link find}\n * @see {@link first}\n * @see {@link take}\n *\n * @param {function(value: T, index: number, source: Observable<T>): boolean} predicate\n * A function called with each item to test for condition matching.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of the index of the first item that\n * matches the condition.\n * @method find\n * @owner Observable\n */\nexport function findIndex(predicate, thisArg) {\n    return this.lift(new FindValueOperator(predicate, this, true, thisArg));\n}\n//# sourceMappingURL=findIndex.js.map"
  },
  {
    "__docId__": 434,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "findIndex",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/findIndex.js~findIndex",
    "access": null,
    "export": true,
    "description": "Emits only the index of the first value emitted by the source Observable that\nmeets some condition.\n\n<span class=\"informal\">It's like {@link find}, but emits the index of the\nfound value, not the value itself.</span>\n\n<img src=\"./img/findIndex.png\" width=\"100%\">\n\n`findIndex` searches for the first item in the source Observable that matches\nthe specified condition embodied by the `predicate`, and returns the\n(zero-based) index of the first occurrence in the source. Unlike\n{@link first}, the `predicate` is required in `findIndex`, and does not emit\nan error if a valid value is not found.",
    "examples": [
      "<caption>Emit the index of first click that happens on a DIV element</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.findIndex(ev => ev.target.tagName === 'DIV');\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link filter}",
      "{@link find}",
      "{@link first}",
      "{@link take}"
    ],
    "lineNumber": 36,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "find"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(value: T, index: number, source: Observable<T>): boolean"
        ],
        "spread": false,
        "optional": false,
        "name": "predicate",
        "description": "A function called with each item to test for condition matching."
      },
      {
        "nullable": null,
        "types": [
          "any"
        ],
        "spread": false,
        "optional": true,
        "name": "thisArg",
        "description": "An optional argument to determine the value of `this`\nin the `predicate` function."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable of the index of the first item that\nmatches the condition."
    },
    "generator": false
  },
  {
    "__docId__": 435,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/first.js",
    "memberof": null,
    "longname": "es6/operator/first.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { EmptyError } from '../util/EmptyError';\n/* tslint:disable:max-line-length */\nexport function first(predicate, resultSelector, defaultValue) {\n    return this.lift(new FirstOperator(predicate, resultSelector, defaultValue, this));\n}\nvar FirstOperator = (function () {\n    function FirstOperator(predicate, resultSelector, defaultValue, source) {\n        this.predicate = predicate;\n        this.resultSelector = resultSelector;\n        this.defaultValue = defaultValue;\n        this.source = source;\n    }\n    FirstOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new FirstSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source));\n    };\n    return FirstOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FirstSubscriber = (function (_super) {\n    __extends(FirstSubscriber, _super);\n    function FirstSubscriber(destination, predicate, resultSelector, defaultValue, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.resultSelector = resultSelector;\n        this.defaultValue = defaultValue;\n        this.source = source;\n        this.index = 0;\n        this.hasCompleted = false;\n        this._emitted = false;\n    }\n    FirstSubscriber.prototype._next = function (value) {\n        var index = this.index++;\n        if (this.predicate) {\n            this._tryPredicate(value, index);\n        }\n        else {\n            this._emit(value, index);\n        }\n    };\n    FirstSubscriber.prototype._tryPredicate = function (value, index) {\n        var result;\n        try {\n            result = this.predicate(value, index, this.source);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (result) {\n            this._emit(value, index);\n        }\n    };\n    FirstSubscriber.prototype._emit = function (value, index) {\n        if (this.resultSelector) {\n            this._tryResultSelector(value, index);\n            return;\n        }\n        this._emitFinal(value);\n    };\n    FirstSubscriber.prototype._tryResultSelector = function (value, index) {\n        var result;\n        try {\n            result = this.resultSelector(value, index);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this._emitFinal(result);\n    };\n    FirstSubscriber.prototype._emitFinal = function (value) {\n        var destination = this.destination;\n        if (!this._emitted) {\n            this._emitted = true;\n            destination.next(value);\n            destination.complete();\n            this.hasCompleted = true;\n        }\n    };\n    FirstSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        if (!this.hasCompleted && typeof this.defaultValue !== 'undefined') {\n            destination.next(this.defaultValue);\n            destination.complete();\n        }\n        else if (!this.hasCompleted) {\n            destination.error(new EmptyError);\n        }\n    };\n    return FirstSubscriber;\n}(Subscriber));\n//# sourceMappingURL=first.js.map"
  },
  {
    "__docId__": 436,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "first",
    "memberof": "es6/operator/first.js",
    "longname": "es6/operator/first.js~first",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/first.js",
    "importStyle": "{first}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [
      {
        "name": "predicate",
        "types": [
          "*"
        ]
      },
      {
        "name": "resultSelector",
        "types": [
          "*"
        ]
      },
      {
        "name": "defaultValue",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 437,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FirstOperator",
    "memberof": "es6/operator/first.js",
    "longname": "es6/operator/first.js~FirstOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/first.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 438,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FirstSubscriber",
    "memberof": "es6/operator/first.js",
    "longname": "es6/operator/first.js~FirstSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/first.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 24,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 439,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/groupBy.js",
    "memberof": null,
    "longname": "es6/operator/groupBy.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { Observable } from '../Observable';\nimport { Subject } from '../Subject';\nimport { Map } from '../util/Map';\nimport { FastMap } from '../util/FastMap';\n/* tslint:disable:max-line-length */\nexport function groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n    return this.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n}\nvar GroupByOperator = (function () {\n    function GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector) {\n        this.keySelector = keySelector;\n        this.elementSelector = elementSelector;\n        this.durationSelector = durationSelector;\n        this.subjectSelector = subjectSelector;\n    }\n    GroupByOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n    };\n    return GroupByOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar GroupBySubscriber = (function (_super) {\n    __extends(GroupBySubscriber, _super);\n    function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n        _super.call(this, destination);\n        this.keySelector = keySelector;\n        this.elementSelector = elementSelector;\n        this.durationSelector = durationSelector;\n        this.subjectSelector = subjectSelector;\n        this.groups = null;\n        this.attemptedToUnsubscribe = false;\n        this.count = 0;\n    }\n    GroupBySubscriber.prototype._next = function (value) {\n        var key;\n        try {\n            key = this.keySelector(value);\n        }\n        catch (err) {\n            this.error(err);\n            return;\n        }\n        this._group(value, key);\n    };\n    GroupBySubscriber.prototype._group = function (value, key) {\n        var groups = this.groups;\n        if (!groups) {\n            groups = this.groups = typeof key === 'string' ? new FastMap() : new Map();\n        }\n        var group = groups.get(key);\n        var element;\n        if (this.elementSelector) {\n            try {\n                element = this.elementSelector(value);\n            }\n            catch (err) {\n                this.error(err);\n            }\n        }\n        else {\n            element = value;\n        }\n        if (!group) {\n            group = this.subjectSelector ? this.subjectSelector() : new Subject();\n            groups.set(key, group);\n            var groupedObservable = new GroupedObservable(key, group, this);\n            this.destination.next(groupedObservable);\n            if (this.durationSelector) {\n                var duration = void 0;\n                try {\n                    duration = this.durationSelector(new GroupedObservable(key, group));\n                }\n                catch (err) {\n                    this.error(err);\n                    return;\n                }\n                this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n            }\n        }\n        if (!group.closed) {\n            group.next(element);\n        }\n    };\n    GroupBySubscriber.prototype._error = function (err) {\n        var groups = this.groups;\n        if (groups) {\n            groups.forEach(function (group, key) {\n                group.error(err);\n            });\n            groups.clear();\n        }\n        this.destination.error(err);\n    };\n    GroupBySubscriber.prototype._complete = function () {\n        var groups = this.groups;\n        if (groups) {\n            groups.forEach(function (group, key) {\n                group.complete();\n            });\n            groups.clear();\n        }\n        this.destination.complete();\n    };\n    GroupBySubscriber.prototype.removeGroup = function (key) {\n        this.groups.delete(key);\n    };\n    GroupBySubscriber.prototype.unsubscribe = function () {\n        if (!this.closed && !this.attemptedToUnsubscribe) {\n            this.attemptedToUnsubscribe = true;\n            if (this.count === 0) {\n                _super.prototype.unsubscribe.call(this);\n            }\n        }\n    };\n    return GroupBySubscriber;\n}(Subscriber));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar GroupDurationSubscriber = (function (_super) {\n    __extends(GroupDurationSubscriber, _super);\n    function GroupDurationSubscriber(key, group, parent) {\n        _super.call(this);\n        this.key = key;\n        this.group = group;\n        this.parent = parent;\n    }\n    GroupDurationSubscriber.prototype._next = function (value) {\n        this._complete();\n    };\n    GroupDurationSubscriber.prototype._error = function (err) {\n        var group = this.group;\n        if (!group.closed) {\n            group.error(err);\n        }\n        this.parent.removeGroup(this.key);\n    };\n    GroupDurationSubscriber.prototype._complete = function () {\n        var group = this.group;\n        if (!group.closed) {\n            group.complete();\n        }\n        this.parent.removeGroup(this.key);\n    };\n    return GroupDurationSubscriber;\n}(Subscriber));\n/**\n * An Observable representing values belonging to the same group represented by\n * a common key. The values emitted by a GroupedObservable come from the source\n * Observable. The common key is available as the field `key` on a\n * GroupedObservable instance.\n *\n * @class GroupedObservable<K, T>\n */\nexport var GroupedObservable = (function (_super) {\n    __extends(GroupedObservable, _super);\n    function GroupedObservable(key, groupSubject, refCountSubscription) {\n        _super.call(this);\n        this.key = key;\n        this.groupSubject = groupSubject;\n        this.refCountSubscription = refCountSubscription;\n    }\n    GroupedObservable.prototype._subscribe = function (subscriber) {\n        var subscription = new Subscription();\n        var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\n        if (refCountSubscription && !refCountSubscription.closed) {\n            subscription.add(new InnerRefCountSubscription(refCountSubscription));\n        }\n        subscription.add(groupSubject.subscribe(subscriber));\n        return subscription;\n    };\n    return GroupedObservable;\n}(Observable));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar InnerRefCountSubscription = (function (_super) {\n    __extends(InnerRefCountSubscription, _super);\n    function InnerRefCountSubscription(parent) {\n        _super.call(this);\n        this.parent = parent;\n        parent.count++;\n    }\n    InnerRefCountSubscription.prototype.unsubscribe = function () {\n        var parent = this.parent;\n        if (!parent.closed && !this.closed) {\n            _super.prototype.unsubscribe.call(this);\n            parent.count -= 1;\n            if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n                parent.unsubscribe();\n            }\n        }\n    };\n    return InnerRefCountSubscription;\n}(Subscription));\n//# sourceMappingURL=groupBy.js.map"
  },
  {
    "__docId__": 440,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "groupBy",
    "memberof": "es6/operator/groupBy.js",
    "longname": "es6/operator/groupBy.js~groupBy",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/groupBy.js",
    "importStyle": "{groupBy}",
    "description": null,
    "lineNumber": 8,
    "undocument": true,
    "params": [
      {
        "name": "keySelector",
        "types": [
          "*"
        ]
      },
      {
        "name": "elementSelector",
        "types": [
          "*"
        ]
      },
      {
        "name": "durationSelector",
        "types": [
          "*"
        ]
      },
      {
        "name": "subjectSelector",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 441,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "GroupByOperator",
    "memberof": "es6/operator/groupBy.js",
    "longname": "es6/operator/groupBy.js~GroupByOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/groupBy.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 11,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 442,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "GroupBySubscriber",
    "memberof": "es6/operator/groupBy.js",
    "longname": "es6/operator/groupBy.js~GroupBySubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/groupBy.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 28,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 443,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "GroupDurationSubscriber",
    "memberof": "es6/operator/groupBy.js",
    "longname": "es6/operator/groupBy.js~GroupDurationSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/groupBy.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 128,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 444,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "GroupedObservable",
    "memberof": "es6/operator/groupBy.js",
    "longname": "es6/operator/groupBy.js~GroupedObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/groupBy.js",
    "importStyle": "{GroupedObservable}",
    "description": "An Observable representing values belonging to the same group represented by\na common key. The values emitted by a GroupedObservable come from the source\nObservable. The common key is available as the field `key` on a\nGroupedObservable instance.",
    "lineNumber": 163,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "GroupedObservable<K, T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 445,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "InnerRefCountSubscription",
    "memberof": "es6/operator/groupBy.js",
    "longname": "es6/operator/groupBy.js~InnerRefCountSubscription",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/groupBy.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 187,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 446,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/ignoreElements.js",
    "memberof": null,
    "longname": "es6/operator/ignoreElements.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\n/**\n * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.\n *\n * <img src=\"./img/ignoreElements.png\" width=\"100%\">\n *\n * @return {Observable} an empty Observable that only calls `complete`\n * or `error`, based on which one is called by the source Observable.\n * @method ignoreElements\n * @owner Observable\n */\nexport function ignoreElements() {\n    return this.lift(new IgnoreElementsOperator());\n}\n;\nvar IgnoreElementsOperator = (function () {\n    function IgnoreElementsOperator() {\n    }\n    IgnoreElementsOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new IgnoreElementsSubscriber(subscriber));\n    };\n    return IgnoreElementsOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar IgnoreElementsSubscriber = (function (_super) {\n    __extends(IgnoreElementsSubscriber, _super);\n    function IgnoreElementsSubscriber() {\n        _super.apply(this, arguments);\n    }\n    IgnoreElementsSubscriber.prototype._next = function (unused) {\n        noop();\n    };\n    return IgnoreElementsSubscriber;\n}(Subscriber));\n//# sourceMappingURL=ignoreElements.js.map"
  },
  {
    "__docId__": 447,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "ignoreElements",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/ignoreElements.js~ignoreElements",
    "access": null,
    "export": true,
    "description": "Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.\n\n<img src=\"./img/ignoreElements.png\" width=\"100%\">",
    "lineNumber": 13,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "ignoreElements"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an empty Observable that only calls `complete`\nor `error`, based on which one is called by the source Observable."
    },
    "generator": false
  },
  {
    "__docId__": 448,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "IgnoreElementsOperator",
    "memberof": "es6/operator/ignoreElements.js",
    "longname": "es6/operator/ignoreElements.js~IgnoreElementsOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/ignoreElements.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 17,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 449,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "IgnoreElementsSubscriber",
    "memberof": "es6/operator/ignoreElements.js",
    "longname": "es6/operator/ignoreElements.js~IgnoreElementsSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/ignoreElements.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 30,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 450,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/isEmpty.js",
    "memberof": null,
    "longname": "es6/operator/isEmpty.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * If the source Observable is empty it returns an Observable that emits true, otherwise it emits false.\n *\n * <img src=\"./img/isEmpty.png\" width=\"100%\">\n *\n * @return {Observable} an Observable that emits a Boolean.\n * @method isEmpty\n * @owner Observable\n */\nexport function isEmpty() {\n    return this.lift(new IsEmptyOperator());\n}\nvar IsEmptyOperator = (function () {\n    function IsEmptyOperator() {\n    }\n    IsEmptyOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new IsEmptySubscriber(observer));\n    };\n    return IsEmptyOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar IsEmptySubscriber = (function (_super) {\n    __extends(IsEmptySubscriber, _super);\n    function IsEmptySubscriber(destination) {\n        _super.call(this, destination);\n    }\n    IsEmptySubscriber.prototype.notifyComplete = function (isEmpty) {\n        var destination = this.destination;\n        destination.next(isEmpty);\n        destination.complete();\n    };\n    IsEmptySubscriber.prototype._next = function (value) {\n        this.notifyComplete(false);\n    };\n    IsEmptySubscriber.prototype._complete = function () {\n        this.notifyComplete(true);\n    };\n    return IsEmptySubscriber;\n}(Subscriber));\n//# sourceMappingURL=isEmpty.js.map"
  },
  {
    "__docId__": 451,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "isEmpty",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/isEmpty.js~isEmpty",
    "access": null,
    "export": true,
    "description": "If the source Observable is empty it returns an Observable that emits true, otherwise it emits false.\n\n<img src=\"./img/isEmpty.png\" width=\"100%\">",
    "lineNumber": 11,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "isEmpty"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an Observable that emits a Boolean."
    },
    "generator": false
  },
  {
    "__docId__": 452,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "IsEmptyOperator",
    "memberof": "es6/operator/isEmpty.js",
    "longname": "es6/operator/isEmpty.js~IsEmptyOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/isEmpty.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 14,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 453,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "IsEmptySubscriber",
    "memberof": "es6/operator/isEmpty.js",
    "longname": "es6/operator/isEmpty.js~IsEmptySubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/isEmpty.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 27,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 454,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/last.js",
    "memberof": null,
    "longname": "es6/operator/last.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { EmptyError } from '../util/EmptyError';\n/* tslint:disable:max-line-length */\nexport function last(predicate, resultSelector, defaultValue) {\n    return this.lift(new LastOperator(predicate, resultSelector, defaultValue, this));\n}\nvar LastOperator = (function () {\n    function LastOperator(predicate, resultSelector, defaultValue, source) {\n        this.predicate = predicate;\n        this.resultSelector = resultSelector;\n        this.defaultValue = defaultValue;\n        this.source = source;\n    }\n    LastOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new LastSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source));\n    };\n    return LastOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar LastSubscriber = (function (_super) {\n    __extends(LastSubscriber, _super);\n    function LastSubscriber(destination, predicate, resultSelector, defaultValue, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.resultSelector = resultSelector;\n        this.defaultValue = defaultValue;\n        this.source = source;\n        this.hasValue = false;\n        this.index = 0;\n        if (typeof defaultValue !== 'undefined') {\n            this.lastValue = defaultValue;\n            this.hasValue = true;\n        }\n    }\n    LastSubscriber.prototype._next = function (value) {\n        var index = this.index++;\n        if (this.predicate) {\n            this._tryPredicate(value, index);\n        }\n        else {\n            if (this.resultSelector) {\n                this._tryResultSelector(value, index);\n                return;\n            }\n            this.lastValue = value;\n            this.hasValue = true;\n        }\n    };\n    LastSubscriber.prototype._tryPredicate = function (value, index) {\n        var result;\n        try {\n            result = this.predicate(value, index, this.source);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (result) {\n            if (this.resultSelector) {\n                this._tryResultSelector(value, index);\n                return;\n            }\n            this.lastValue = value;\n            this.hasValue = true;\n        }\n    };\n    LastSubscriber.prototype._tryResultSelector = function (value, index) {\n        var result;\n        try {\n            result = this.resultSelector(value, index);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.lastValue = result;\n        this.hasValue = true;\n    };\n    LastSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        if (this.hasValue) {\n            destination.next(this.lastValue);\n            destination.complete();\n        }\n        else {\n            destination.error(new EmptyError);\n        }\n    };\n    return LastSubscriber;\n}(Subscriber));\n//# sourceMappingURL=last.js.map"
  },
  {
    "__docId__": 455,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "last",
    "memberof": "es6/operator/last.js",
    "longname": "es6/operator/last.js~last",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/last.js",
    "importStyle": "{last}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [
      {
        "name": "predicate",
        "types": [
          "*"
        ]
      },
      {
        "name": "resultSelector",
        "types": [
          "*"
        ]
      },
      {
        "name": "defaultValue",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 456,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "LastOperator",
    "memberof": "es6/operator/last.js",
    "longname": "es6/operator/last.js~LastOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/last.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 457,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "LastSubscriber",
    "memberof": "es6/operator/last.js",
    "longname": "es6/operator/last.js~LastSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/last.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 24,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 458,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/let.js",
    "memberof": null,
    "longname": "es6/operator/let.js",
    "access": null,
    "description": null,
    "lineNumber": 7,
    "content": "/**\n * @param func\n * @return {Observable<R>}\n * @method let\n * @owner Observable\n */\nexport function letProto(func) {\n    return func(this);\n}\n//# sourceMappingURL=let.js.map"
  },
  {
    "__docId__": 459,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "letProto",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/let.js~letProto",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "let"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "func",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<R>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 460,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/map.js",
    "memberof": null,
    "longname": "es6/operator/map.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Applies a given `project` function to each value emitted by the source\n * Observable, and emits the resulting values as an Observable.\n *\n * <span class=\"informal\">Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),\n * it passes each source value through a transformation function to get\n * corresponding output values.</span>\n *\n * <img src=\"./img/map.png\" width=\"100%\">\n *\n * Similar to the well known `Array.prototype.map` function, this operator\n * applies a projection to each value and emits that projection in the output\n * Observable.\n *\n * @example <caption>Map every every click to the clientX position of that click</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks.map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link mapTo}\n * @see {@link pluck}\n *\n * @param {function(value: T, index: number): R} project The function to apply\n * to each `value` emitted by the source Observable. The `index` parameter is\n * the number `i` for the i-th emission that has happened since the\n * subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to define what `this` is in the\n * `project` function.\n * @return {Observable<R>} An Observable that emits the values from the source\n * Observable transformed by the given `project` function.\n * @method map\n * @owner Observable\n */\nexport function map(project, thisArg) {\n    if (typeof project !== 'function') {\n        throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n    }\n    return this.lift(new MapOperator(project, thisArg));\n}\nexport var MapOperator = (function () {\n    function MapOperator(project, thisArg) {\n        this.project = project;\n        this.thisArg = thisArg;\n    }\n    MapOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n    };\n    return MapOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MapSubscriber = (function (_super) {\n    __extends(MapSubscriber, _super);\n    function MapSubscriber(destination, project, thisArg) {\n        _super.call(this, destination);\n        this.project = project;\n        this.count = 0;\n        this.thisArg = thisArg || this;\n    }\n    // NOTE: This looks unoptimized, but it's actually purposefully NOT\n    // using try/catch optimizations.\n    MapSubscriber.prototype._next = function (value) {\n        var result;\n        try {\n            result = this.project.call(this.thisArg, value, this.count++);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map"
  },
  {
    "__docId__": 461,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "map",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/map.js~map",
    "access": null,
    "export": true,
    "description": "Applies a given `project` function to each value emitted by the source\nObservable, and emits the resulting values as an Observable.\n\n<span class=\"informal\">Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),\nit passes each source value through a transformation function to get\ncorresponding output values.</span>\n\n<img src=\"./img/map.png\" width=\"100%\">\n\nSimilar to the well known `Array.prototype.map` function, this operator\napplies a projection to each value and emits that projection in the output\nObservable.",
    "examples": [
      "<caption>Map every every click to the clientX position of that click</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar positions = clicks.map(ev => ev.clientX);\npositions.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link mapTo}",
      "{@link pluck}"
    ],
    "lineNumber": 35,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "map"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(value: T, index: number): R"
        ],
        "spread": false,
        "optional": false,
        "name": "project",
        "description": "The function to apply\nto each `value` emitted by the source Observable. The `index` parameter is\nthe number `i` for the i-th emission that has happened since the\nsubscription, starting from the number `0`."
      },
      {
        "nullable": null,
        "types": [
          "any"
        ],
        "spread": false,
        "optional": true,
        "name": "thisArg",
        "description": "An optional argument to define what `this` is in the\n`project` function."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<R>"
      ],
      "spread": false,
      "description": "An Observable that emits the values from the source\nObservable transformed by the given `project` function."
    },
    "generator": false
  },
  {
    "__docId__": 462,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MapOperator",
    "memberof": "es6/operator/map.js",
    "longname": "es6/operator/map.js~MapOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/map.js",
    "importStyle": "{MapOperator}",
    "description": null,
    "lineNumber": 41,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 463,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MapSubscriber",
    "memberof": "es6/operator/map.js",
    "longname": "es6/operator/map.js~MapSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/map.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 56,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 464,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/mapTo.js",
    "memberof": null,
    "longname": "es6/operator/mapTo.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Emits the given constant value on the output Observable every time the source\n * Observable emits a value.\n *\n * <span class=\"informal\">Like {@link map}, but it maps every source value to\n * the same output value every time.</span>\n *\n * <img src=\"./img/mapTo.png\" width=\"100%\">\n *\n * Takes a constant `value` as argument, and emits that whenever the source\n * Observable emits a value. In other words, ignores the actual source value,\n * and simply uses the emission moment to know when to emit the given `value`.\n *\n * @example <caption>Map every every click to the string 'Hi'</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var greetings = clicks.mapTo('Hi');\n * greetings.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {any} value The value to map each source value to.\n * @return {Observable} An Observable that emits the given `value` every time\n * the source Observable emits something.\n * @method mapTo\n * @owner Observable\n */\nexport function mapTo(value) {\n    return this.lift(new MapToOperator(value));\n}\nvar MapToOperator = (function () {\n    function MapToOperator(value) {\n        this.value = value;\n    }\n    MapToOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new MapToSubscriber(subscriber, this.value));\n    };\n    return MapToOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MapToSubscriber = (function (_super) {\n    __extends(MapToSubscriber, _super);\n    function MapToSubscriber(destination, value) {\n        _super.call(this, destination);\n        this.value = value;\n    }\n    MapToSubscriber.prototype._next = function (x) {\n        this.destination.next(this.value);\n    };\n    return MapToSubscriber;\n}(Subscriber));\n//# sourceMappingURL=mapTo.js.map"
  },
  {
    "__docId__": 465,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "mapTo",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/mapTo.js~mapTo",
    "access": null,
    "export": true,
    "description": "Emits the given constant value on the output Observable every time the source\nObservable emits a value.\n\n<span class=\"informal\">Like {@link map}, but it maps every source value to\nthe same output value every time.</span>\n\n<img src=\"./img/mapTo.png\" width=\"100%\">\n\nTakes a constant `value` as argument, and emits that whenever the source\nObservable emits a value. In other words, ignores the actual source value,\nand simply uses the emission moment to know when to emit the given `value`.",
    "examples": [
      "<caption>Map every every click to the string 'Hi'</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar greetings = clicks.mapTo('Hi');\ngreetings.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link map}"
    ],
    "lineNumber": 28,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "mapTo"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "any"
        ],
        "spread": false,
        "optional": false,
        "name": "value",
        "description": "The value to map each source value to."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable that emits the given `value` every time\nthe source Observable emits something."
    },
    "generator": false
  },
  {
    "__docId__": 466,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MapToOperator",
    "memberof": "es6/operator/mapTo.js",
    "longname": "es6/operator/mapTo.js~MapToOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/mapTo.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 31,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 467,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MapToSubscriber",
    "memberof": "es6/operator/mapTo.js",
    "longname": "es6/operator/mapTo.js~MapToSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/mapTo.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 45,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 468,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/materialize.js",
    "memberof": null,
    "longname": "es6/operator/materialize.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\n/**\n * Represents all of the notifications from the source Observable as `next`\n * emissions marked with their original types within {@link Notification}\n * objects.\n *\n * <span class=\"informal\">Wraps `next`, `error` and `complete` emissions in\n * {@link Notification} objects, emitted as `next` on the output Observable.\n * </span>\n *\n * <img src=\"./img/materialize.png\" width=\"100%\">\n *\n * `materialize` returns an Observable that emits a `next` notification for each\n * `next`, `error`, or `complete` emission of the source Observable. When the\n * source Observable emits `complete`, the output Observable will emit `next` as\n * a Notification of type \"complete\", and then it will emit `complete` as well.\n * When the source Observable emits `error`, the output will emit `next` as a\n * Notification of type \"error\", and then `complete`.\n *\n * This operator is useful for producing metadata of the source Observable, to\n * be consumed as `next` emissions. Use it in conjunction with\n * {@link dematerialize}.\n *\n * @example <caption>Convert a faulty Observable to an Observable of Notifications</caption>\n * var letters = Rx.Observable.of('a', 'b', 13, 'd');\n * var upperCase = letters.map(x => x.toUpperCase());\n * var materialized = upperCase.materialize();\n * materialized.subscribe(x => console.log(x));\n *\n * @see {@link Notification}\n * @see {@link dematerialize}\n *\n * @return {Observable<Notification<T>>} An Observable that emits\n * {@link Notification} objects that wrap the original emissions from the source\n * Observable with metadata.\n * @method materialize\n * @owner Observable\n */\nexport function materialize() {\n    return this.lift(new MaterializeOperator());\n}\nvar MaterializeOperator = (function () {\n    function MaterializeOperator() {\n    }\n    MaterializeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new MaterializeSubscriber(subscriber));\n    };\n    return MaterializeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MaterializeSubscriber = (function (_super) {\n    __extends(MaterializeSubscriber, _super);\n    function MaterializeSubscriber(destination) {\n        _super.call(this, destination);\n    }\n    MaterializeSubscriber.prototype._next = function (value) {\n        this.destination.next(Notification.createNext(value));\n    };\n    MaterializeSubscriber.prototype._error = function (err) {\n        var destination = this.destination;\n        destination.next(Notification.createError(err));\n        destination.complete();\n    };\n    MaterializeSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        destination.next(Notification.createComplete());\n        destination.complete();\n    };\n    return MaterializeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=materialize.js.map"
  },
  {
    "__docId__": 469,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "materialize",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/materialize.js~materialize",
    "access": null,
    "export": true,
    "description": "Represents all of the notifications from the source Observable as `next`\nemissions marked with their original types within {@link Notification}\nobjects.\n\n<span class=\"informal\">Wraps `next`, `error` and `complete` emissions in\n{@link Notification} objects, emitted as `next` on the output Observable.\n</span>\n\n<img src=\"./img/materialize.png\" width=\"100%\">\n\n`materialize` returns an Observable that emits a `next` notification for each\n`next`, `error`, or `complete` emission of the source Observable. When the\nsource Observable emits `complete`, the output Observable will emit `next` as\na Notification of type \"complete\", and then it will emit `complete` as well.\nWhen the source Observable emits `error`, the output will emit `next` as a\nNotification of type \"error\", and then `complete`.\n\nThis operator is useful for producing metadata of the source Observable, to\nbe consumed as `next` emissions. Use it in conjunction with\n{@link dematerialize}.",
    "examples": [
      "<caption>Convert a faulty Observable to an Observable of Notifications</caption>\nvar letters = Rx.Observable.of('a', 'b', 13, 'd');\nvar upperCase = letters.map(x => x.toUpperCase());\nvar materialized = upperCase.materialize();\nmaterialized.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link Notification}",
      "{@link dematerialize}"
    ],
    "lineNumber": 40,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "materialize"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "Observable<Notification<T>>"
      ],
      "spread": false,
      "description": "An Observable that emits\n{@link Notification} objects that wrap the original emissions from the source\nObservable with metadata."
    },
    "generator": false
  },
  {
    "__docId__": 470,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MaterializeOperator",
    "memberof": "es6/operator/materialize.js",
    "longname": "es6/operator/materialize.js~MaterializeOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/materialize.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 43,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 471,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MaterializeSubscriber",
    "memberof": "es6/operator/materialize.js",
    "longname": "es6/operator/materialize.js~MaterializeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/materialize.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 56,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 472,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/max.js",
    "memberof": null,
    "longname": "es6/operator/max.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ReduceOperator } from './reduce';\n/**\n * The Max operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),\n * and when source Observable completes it emits a single item: the item with the largest number.\n *\n * <img src=\"./img/max.png\" width=\"100%\">\n *\n * @param {Function} optional comparer function that it will use instead of its default to compare the value of two\n * items.\n * @return {Observable} an Observable that emits item with the largest number.\n * @method max\n * @owner Observable\n */\nexport function max(comparer) {\n    var max = (typeof comparer === 'function')\n        ? function (x, y) { return comparer(x, y) > 0 ? x : y; }\n        : function (x, y) { return x > y ? x : y; };\n    return this.lift(new ReduceOperator(max));\n}\n//# sourceMappingURL=max.js.map"
  },
  {
    "__docId__": 473,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "max",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/max.js~max",
    "access": null,
    "export": true,
    "description": "The Max operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),\nand when source Observable completes it emits a single item: the item with the largest number.\n\n<img src=\"./img/max.png\" width=\"100%\">",
    "lineNumber": 14,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "max"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Function"
        ],
        "spread": false,
        "optional": false,
        "name": "optional",
        "description": "comparer function that it will use instead of its default to compare the value of two\nitems."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an Observable that emits item with the largest number."
    },
    "generator": false
  },
  {
    "__docId__": 474,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/merge.js",
    "memberof": null,
    "longname": "es6/operator/merge.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ArrayObservable } from '../observable/ArrayObservable';\nimport { MergeAllOperator } from './mergeAll';\nimport { isScheduler } from '../util/isScheduler';\n/* tslint:disable:max-line-length */\nexport function merge() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    return this.lift.call(mergeStatic.apply(void 0, [this].concat(observables)));\n}\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which concurrently emits all values from every\n * given input Observable.\n *\n * <span class=\"informal\">Flattens multiple Observables together by blending\n * their values into one Observable.</span>\n *\n * <img src=\"./img/merge.png\" width=\"100%\">\n *\n * `merge` subscribes to each given input Observable (as arguments), and simply\n * forwards (without doing any transformation) all the values from all the input\n * Observables to the output Observable. The output Observable only completes\n * once all input Observables have completed. Any error delivered by an input\n * Observable will be immediately emitted on the output Observable.\n *\n * @example <caption>Merge together two Observables: 1s interval and clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var clicksOrTimer = Rx.Observable.merge(clicks, timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * @example <caption>Merge together 3 Observables, but only 2 run concurrently</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var concurrent = 2; // the argument\n * var merged = Rx.Observable.merge(timer1, timer2, timer3, concurrent);\n * merged.subscribe(x => console.log(x));\n *\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n *\n * @param {...Observable} observables Input Observables to merge together.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for managing\n * concurrency of input Observables.\n * @return {Observable} an Observable that emits items that are the result of\n * every input Observable.\n * @static true\n * @name merge\n * @owner Observable\n */\nexport function mergeStatic() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var concurrent = Number.POSITIVE_INFINITY;\n    var scheduler = null;\n    var last = observables[observables.length - 1];\n    if (isScheduler(last)) {\n        scheduler = observables.pop();\n        if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n            concurrent = observables.pop();\n        }\n    }\n    else if (typeof last === 'number') {\n        concurrent = observables.pop();\n    }\n    if (scheduler === null && observables.length === 1) {\n        return observables[0];\n    }\n    return new ArrayObservable(observables, scheduler).lift(new MergeAllOperator(concurrent));\n}\n//# sourceMappingURL=merge.js.map"
  },
  {
    "__docId__": 475,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "merge",
    "memberof": "es6/operator/merge.js",
    "longname": "es6/operator/merge.js~merge",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/merge.js",
    "importStyle": "{merge}",
    "description": null,
    "lineNumber": 5,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 476,
    "kind": "method",
    "static": true,
    "variation": null,
    "name": "merge",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/merge.js~mergeStatic",
    "access": null,
    "export": true,
    "description": "Creates an output Observable which concurrently emits all values from every\ngiven input Observable.\n\n<span class=\"informal\">Flattens multiple Observables together by blending\ntheir values into one Observable.</span>\n\n<img src=\"./img/merge.png\" width=\"100%\">\n\n`merge` subscribes to each given input Observable (as arguments), and simply\nforwards (without doing any transformation) all the values from all the input\nObservables to the output Observable. The output Observable only completes\nonce all input Observables have completed. Any error delivered by an input\nObservable will be immediately emitted on the output Observable.",
    "examples": [
      "<caption>Merge together two Observables: 1s interval and clicks</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar timer = Rx.Observable.interval(1000);\nvar clicksOrTimer = Rx.Observable.merge(clicks, timer);\nclicksOrTimer.subscribe(x => console.log(x));",
      "<caption>Merge together 3 Observables, but only 2 run concurrently</caption>\nvar timer1 = Rx.Observable.interval(1000).take(10);\nvar timer2 = Rx.Observable.interval(2000).take(6);\nvar timer3 = Rx.Observable.interval(500).take(10);\nvar concurrent = 2; // the argument\nvar merged = Rx.Observable.merge(timer1, timer2, timer3, concurrent);\nmerged.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link mergeAll}",
      "{@link mergeMap}",
      "{@link mergeMapTo}",
      "{@link mergeScan}"
    ],
    "lineNumber": 58,
    "unknown": [
      {
        "tagName": "@static",
        "tagValue": "true"
      },
      {
        "tagName": "@name",
        "tagValue": "merge"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "...Observable"
        ],
        "spread": true,
        "optional": false,
        "name": "observables",
        "description": "Input Observables to merge together."
      },
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "Number.POSITIVE_INFINITY",
        "defaultRaw": "Number.POSITIVE_INFINITY",
        "name": "concurrent",
        "description": "Maximum number of input\nObservables being subscribed to concurrently."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "null",
        "defaultRaw": null,
        "name": "scheduler",
        "description": "The Scheduler to use for managing\nconcurrency of input Observables."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an Observable that emits items that are the result of\nevery input Observable."
    },
    "generator": false
  },
  {
    "__docId__": 477,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/mergeAll.js",
    "memberof": null,
    "longname": "es6/operator/mergeAll.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Converts a higher-order Observable into a first-order Observable which\n * concurrently delivers all values that are emitted on the inner Observables.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables.</span>\n *\n * <img src=\"./img/mergeAll.png\" width=\"100%\">\n *\n * `mergeAll` subscribes to an Observable that emits Observables, also known as\n * a higher-order Observable. Each time it observes one of these emitted inner\n * Observables, it subscribes to that and delivers all the values from the\n * inner Observable on the output Observable. The output Observable only\n * completes once all inner Observables have completed. Any error delivered by\n * a inner Observable will be immediately emitted on the output Observable.\n *\n * @example <caption>Spawn a new interval Observable for each click event, and blend their outputs as one Observable</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\n * var firstOrder = higherOrder.mergeAll();\n * firstOrder.subscribe(x => console.log(x));\n *\n * @example <caption>Count from 0 to 9 every second for each click, but only allow 2 concurrent timers</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(10));\n * var firstOrder = higherOrder.mergeAll(2);\n * firstOrder.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link exhaust}\n * @see {@link merge}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switch}\n * @see {@link zipAll}\n *\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of inner\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits values coming from all the\n * inner Observables emitted by the source Observable.\n * @method mergeAll\n * @owner Observable\n */\nexport function mergeAll(concurrent) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    return this.lift(new MergeAllOperator(concurrent));\n}\nexport var MergeAllOperator = (function () {\n    function MergeAllOperator(concurrent) {\n        this.concurrent = concurrent;\n    }\n    MergeAllOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new MergeAllSubscriber(observer, this.concurrent));\n    };\n    return MergeAllOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var MergeAllSubscriber = (function (_super) {\n    __extends(MergeAllSubscriber, _super);\n    function MergeAllSubscriber(destination, concurrent) {\n        _super.call(this, destination);\n        this.concurrent = concurrent;\n        this.hasCompleted = false;\n        this.buffer = [];\n        this.active = 0;\n    }\n    MergeAllSubscriber.prototype._next = function (observable) {\n        if (this.active < this.concurrent) {\n            this.active++;\n            this.add(subscribeToResult(this, observable));\n        }\n        else {\n            this.buffer.push(observable);\n        }\n    };\n    MergeAllSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0 && this.buffer.length === 0) {\n            this.destination.complete();\n        }\n    };\n    MergeAllSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        else if (this.active === 0 && this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return MergeAllSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=mergeAll.js.map"
  },
  {
    "__docId__": 478,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "mergeAll",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/mergeAll.js~mergeAll",
    "access": null,
    "export": true,
    "description": "Converts a higher-order Observable into a first-order Observable which\nconcurrently delivers all values that are emitted on the inner Observables.\n\n<span class=\"informal\">Flattens an Observable-of-Observables.</span>\n\n<img src=\"./img/mergeAll.png\" width=\"100%\">\n\n`mergeAll` subscribes to an Observable that emits Observables, also known as\na higher-order Observable. Each time it observes one of these emitted inner\nObservables, it subscribes to that and delivers all the values from the\ninner Observable on the output Observable. The output Observable only\ncompletes once all inner Observables have completed. Any error delivered by\na inner Observable will be immediately emitted on the output Observable.",
    "examples": [
      "<caption>Spawn a new interval Observable for each click event, and blend their outputs as one Observable</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\nvar firstOrder = higherOrder.mergeAll();\nfirstOrder.subscribe(x => console.log(x));",
      "<caption>Count from 0 to 9 every second for each click, but only allow 2 concurrent timers</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(10));\nvar firstOrder = higherOrder.mergeAll(2);\nfirstOrder.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link combineAll}",
      "{@link concatAll}",
      "{@link exhaust}",
      "{@link merge}",
      "{@link mergeMap}",
      "{@link mergeMapTo}",
      "{@link mergeScan}",
      "{@link switch}",
      "{@link zipAll}"
    ],
    "lineNumber": 47,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "mergeAll"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "Number.POSITIVE_INFINITY",
        "defaultRaw": "Number.POSITIVE_INFINITY",
        "name": "concurrent",
        "description": "Maximum number of inner\nObservables being subscribed to concurrently."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable that emits values coming from all the\ninner Observables emitted by the source Observable."
    },
    "generator": false
  },
  {
    "__docId__": 479,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MergeAllOperator",
    "memberof": "es6/operator/mergeAll.js",
    "longname": "es6/operator/mergeAll.js~MergeAllOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeAll.js",
    "importStyle": "{MergeAllOperator}",
    "description": null,
    "lineNumber": 51,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 480,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MergeAllSubscriber",
    "memberof": "es6/operator/mergeAll.js",
    "longname": "es6/operator/mergeAll.js~MergeAllSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeAll.js",
    "importStyle": "{MergeAllSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 65,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 481,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/mergeMap.js",
    "memberof": null,
    "longname": "es6/operator/mergeMap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\n/* tslint:disable:max-line-length */\nexport function mergeMap(project, resultSelector, concurrent) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    if (typeof resultSelector === 'number') {\n        concurrent = resultSelector;\n        resultSelector = null;\n    }\n    return this.lift(new MergeMapOperator(project, resultSelector, concurrent));\n}\nexport var MergeMapOperator = (function () {\n    function MergeMapOperator(project, resultSelector, concurrent) {\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n        this.project = project;\n        this.resultSelector = resultSelector;\n        this.concurrent = concurrent;\n    }\n    MergeMapOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new MergeMapSubscriber(observer, this.project, this.resultSelector, this.concurrent));\n    };\n    return MergeMapOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var MergeMapSubscriber = (function (_super) {\n    __extends(MergeMapSubscriber, _super);\n    function MergeMapSubscriber(destination, project, resultSelector, concurrent) {\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n        _super.call(this, destination);\n        this.project = project;\n        this.resultSelector = resultSelector;\n        this.concurrent = concurrent;\n        this.hasCompleted = false;\n        this.buffer = [];\n        this.active = 0;\n        this.index = 0;\n    }\n    MergeMapSubscriber.prototype._next = function (value) {\n        if (this.active < this.concurrent) {\n            this._tryNext(value);\n        }\n        else {\n            this.buffer.push(value);\n        }\n    };\n    MergeMapSubscriber.prototype._tryNext = function (value) {\n        var result;\n        var index = this.index++;\n        try {\n            result = this.project(value, index);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.active++;\n        this._innerSub(result, value, index);\n    };\n    MergeMapSubscriber.prototype._innerSub = function (ish, value, index) {\n        this.add(subscribeToResult(this, ish, value, index));\n    };\n    MergeMapSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0 && this.buffer.length === 0) {\n            this.destination.complete();\n        }\n    };\n    MergeMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        if (this.resultSelector) {\n            this._notifyResultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            this.destination.next(innerValue);\n        }\n    };\n    MergeMapSubscriber.prototype._notifyResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var result;\n        try {\n            result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    MergeMapSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        else if (this.active === 0 && this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return MergeMapSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=mergeMap.js.map"
  },
  {
    "__docId__": 482,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "mergeMap",
    "memberof": "es6/operator/mergeMap.js",
    "longname": "es6/operator/mergeMap.js~mergeMap",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeMap.js",
    "importStyle": "{mergeMap}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [
      {
        "name": "project",
        "types": [
          "*"
        ]
      },
      {
        "name": "resultSelector",
        "types": [
          "*"
        ]
      },
      {
        "name": "concurrent",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 483,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MergeMapOperator",
    "memberof": "es6/operator/mergeMap.js",
    "longname": "es6/operator/mergeMap.js~MergeMapOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeMap.js",
    "importStyle": "{MergeMapOperator}",
    "description": null,
    "lineNumber": 12,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 484,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MergeMapSubscriber",
    "memberof": "es6/operator/mergeMap.js",
    "longname": "es6/operator/mergeMap.js~MergeMapSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeMap.js",
    "importStyle": "{MergeMapSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 29,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 485,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/mergeMapTo.js",
    "memberof": null,
    "longname": "es6/operator/mergeMapTo.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/* tslint:disable:max-line-length */\nexport function mergeMapTo(innerObservable, resultSelector, concurrent) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    if (typeof resultSelector === 'number') {\n        concurrent = resultSelector;\n        resultSelector = null;\n    }\n    return this.lift(new MergeMapToOperator(innerObservable, resultSelector, concurrent));\n}\n// TODO: Figure out correct signature here: an Operator<Observable<T>, R>\n//       needs to implement call(observer: Subscriber<R>): Subscriber<Observable<T>>\nexport var MergeMapToOperator = (function () {\n    function MergeMapToOperator(ish, resultSelector, concurrent) {\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n        this.ish = ish;\n        this.resultSelector = resultSelector;\n        this.concurrent = concurrent;\n    }\n    MergeMapToOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new MergeMapToSubscriber(observer, this.ish, this.resultSelector, this.concurrent));\n    };\n    return MergeMapToOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var MergeMapToSubscriber = (function (_super) {\n    __extends(MergeMapToSubscriber, _super);\n    function MergeMapToSubscriber(destination, ish, resultSelector, concurrent) {\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n        _super.call(this, destination);\n        this.ish = ish;\n        this.resultSelector = resultSelector;\n        this.concurrent = concurrent;\n        this.hasCompleted = false;\n        this.buffer = [];\n        this.active = 0;\n        this.index = 0;\n    }\n    MergeMapToSubscriber.prototype._next = function (value) {\n        if (this.active < this.concurrent) {\n            var resultSelector = this.resultSelector;\n            var index = this.index++;\n            var ish = this.ish;\n            var destination = this.destination;\n            this.active++;\n            this._innerSub(ish, destination, resultSelector, value, index);\n        }\n        else {\n            this.buffer.push(value);\n        }\n    };\n    MergeMapToSubscriber.prototype._innerSub = function (ish, destination, resultSelector, value, index) {\n        this.add(subscribeToResult(this, ish, value, index));\n    };\n    MergeMapToSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0 && this.buffer.length === 0) {\n            this.destination.complete();\n        }\n    };\n    MergeMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        if (resultSelector) {\n            this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            destination.next(innerValue);\n        }\n    };\n    MergeMapToSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        var result;\n        try {\n            result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        catch (err) {\n            destination.error(err);\n            return;\n        }\n        destination.next(result);\n    };\n    MergeMapToSubscriber.prototype.notifyError = function (err) {\n        this.destination.error(err);\n    };\n    MergeMapToSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        else if (this.active === 0 && this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return MergeMapToSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=mergeMapTo.js.map"
  },
  {
    "__docId__": 486,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "mergeMapTo",
    "memberof": "es6/operator/mergeMapTo.js",
    "longname": "es6/operator/mergeMapTo.js~mergeMapTo",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeMapTo.js",
    "importStyle": "{mergeMapTo}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [
      {
        "name": "innerObservable",
        "types": [
          "*"
        ]
      },
      {
        "name": "resultSelector",
        "types": [
          "*"
        ]
      },
      {
        "name": "concurrent",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 487,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MergeMapToOperator",
    "memberof": "es6/operator/mergeMapTo.js",
    "longname": "es6/operator/mergeMapTo.js~MergeMapToOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeMapTo.js",
    "importStyle": "{MergeMapToOperator}",
    "description": null,
    "lineNumber": 14,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 488,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MergeMapToSubscriber",
    "memberof": "es6/operator/mergeMapTo.js",
    "longname": "es6/operator/mergeMapTo.js~MergeMapToSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeMapTo.js",
    "importStyle": "{MergeMapToSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 31,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 489,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/mergeScan.js",
    "memberof": null,
    "longname": "es6/operator/mergeScan.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\n/**\n * @param project\n * @param seed\n * @param concurrent\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method mergeScan\n * @owner Observable\n */\nexport function mergeScan(project, seed, concurrent) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    return this.lift(new MergeScanOperator(project, seed, concurrent));\n}\nexport var MergeScanOperator = (function () {\n    function MergeScanOperator(project, seed, concurrent) {\n        this.project = project;\n        this.seed = seed;\n        this.concurrent = concurrent;\n    }\n    MergeScanOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new MergeScanSubscriber(subscriber, this.project, this.seed, this.concurrent));\n    };\n    return MergeScanOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var MergeScanSubscriber = (function (_super) {\n    __extends(MergeScanSubscriber, _super);\n    function MergeScanSubscriber(destination, project, acc, concurrent) {\n        _super.call(this, destination);\n        this.project = project;\n        this.acc = acc;\n        this.concurrent = concurrent;\n        this.hasValue = false;\n        this.hasCompleted = false;\n        this.buffer = [];\n        this.active = 0;\n        this.index = 0;\n    }\n    MergeScanSubscriber.prototype._next = function (value) {\n        if (this.active < this.concurrent) {\n            var index = this.index++;\n            var ish = tryCatch(this.project)(this.acc, value);\n            var destination = this.destination;\n            if (ish === errorObject) {\n                destination.error(errorObject.e);\n            }\n            else {\n                this.active++;\n                this._innerSub(ish, value, index);\n            }\n        }\n        else {\n            this.buffer.push(value);\n        }\n    };\n    MergeScanSubscriber.prototype._innerSub = function (ish, value, index) {\n        this.add(subscribeToResult(this, ish, value, index));\n    };\n    MergeScanSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0 && this.buffer.length === 0) {\n            if (this.hasValue === false) {\n                this.destination.next(this.acc);\n            }\n            this.destination.complete();\n        }\n    };\n    MergeScanSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var destination = this.destination;\n        this.acc = innerValue;\n        this.hasValue = true;\n        destination.next(innerValue);\n    };\n    MergeScanSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        else if (this.active === 0 && this.hasCompleted) {\n            if (this.hasValue === false) {\n                this.destination.next(this.acc);\n            }\n            this.destination.complete();\n        }\n    };\n    return MergeScanSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=mergeScan.js.map"
  },
  {
    "__docId__": 490,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "mergeScan",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/mergeScan.js~mergeScan",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 13,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "mergeScan"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "project",
        "description": ""
      },
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "seed",
        "description": ""
      },
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "concurrent",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<R>",
        "WebSocketSubject<T>",
        "Observable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 491,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MergeScanOperator",
    "memberof": "es6/operator/mergeScan.js",
    "longname": "es6/operator/mergeScan.js~MergeScanOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeScan.js",
    "importStyle": "{MergeScanOperator}",
    "description": null,
    "lineNumber": 17,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 492,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MergeScanSubscriber",
    "memberof": "es6/operator/mergeScan.js",
    "longname": "es6/operator/mergeScan.js~MergeScanSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/mergeScan.js",
    "importStyle": "{MergeScanSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 33,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 493,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/min.js",
    "memberof": null,
    "longname": "es6/operator/min.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ReduceOperator } from './reduce';\n/**\n * The Min operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),\n * and when source Observable completes it emits a single item: the item with the smallest number.\n *\n * <img src=\"./img/min.png\" width=\"100%\">\n *\n * @param {Function} optional comparer function that it will use instead of its default to compare the value of two items.\n * @return {Observable<R>} an Observable that emits item with the smallest number.\n * @method min\n * @owner Observable\n */\nexport function min(comparer) {\n    var min = (typeof comparer === 'function')\n        ? function (x, y) { return comparer(x, y) < 0 ? x : y; }\n        : function (x, y) { return x < y ? x : y; };\n    return this.lift(new ReduceOperator(min));\n}\n//# sourceMappingURL=min.js.map"
  },
  {
    "__docId__": 494,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "min",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/min.js~min",
    "access": null,
    "export": true,
    "description": "The Min operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),\nand when source Observable completes it emits a single item: the item with the smallest number.\n\n<img src=\"./img/min.png\" width=\"100%\">",
    "lineNumber": 13,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "min"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Function"
        ],
        "spread": false,
        "optional": false,
        "name": "optional",
        "description": "comparer function that it will use instead of its default to compare the value of two items."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<R>"
      ],
      "spread": false,
      "description": "an Observable that emits item with the smallest number."
    },
    "generator": false
  },
  {
    "__docId__": 495,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/multicast.js",
    "memberof": null,
    "longname": "es6/operator/multicast.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { connectableObservableDescriptor } from '../observable/ConnectableObservable';\n/* tslint:disable:max-line-length */\nexport function multicast(subjectOrSubjectFactory, selector) {\n    var subjectFactory;\n    if (typeof subjectOrSubjectFactory === 'function') {\n        subjectFactory = subjectOrSubjectFactory;\n    }\n    else {\n        subjectFactory = function subjectFactory() {\n            return subjectOrSubjectFactory;\n        };\n    }\n    if (typeof selector === 'function') {\n        return this.lift(new MulticastOperator(subjectFactory, selector));\n    }\n    var connectable = Object.create(this, connectableObservableDescriptor);\n    connectable.source = this;\n    connectable.subjectFactory = subjectFactory;\n    return connectable;\n}\nexport var MulticastOperator = (function () {\n    function MulticastOperator(subjectFactory, selector) {\n        this.subjectFactory = subjectFactory;\n        this.selector = selector;\n    }\n    MulticastOperator.prototype.call = function (subscriber, source) {\n        var selector = this.selector;\n        var subject = this.subjectFactory();\n        var subscription = selector(subject).subscribe(subscriber);\n        subscription.add(source._subscribe(subject));\n        return subscription;\n    };\n    return MulticastOperator;\n}());\n//# sourceMappingURL=multicast.js.map"
  },
  {
    "__docId__": 496,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "multicast",
    "memberof": "es6/operator/multicast.js",
    "longname": "es6/operator/multicast.js~multicast",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/multicast.js",
    "importStyle": "{multicast}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "subjectOrSubjectFactory",
        "types": [
          "*"
        ]
      },
      {
        "name": "selector",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 497,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MulticastOperator",
    "memberof": "es6/operator/multicast.js",
    "longname": "es6/operator/multicast.js~MulticastOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/multicast.js",
    "importStyle": "{MulticastOperator}",
    "description": null,
    "lineNumber": 21,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 498,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/observeOn.js",
    "memberof": null,
    "longname": "es6/operator/observeOn.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\n/**\n * @see {@link Notification}\n *\n * @param scheduler\n * @param delay\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method observeOn\n * @owner Observable\n */\nexport function observeOn(scheduler, delay) {\n    if (delay === void 0) { delay = 0; }\n    return this.lift(new ObserveOnOperator(scheduler, delay));\n}\nexport var ObserveOnOperator = (function () {\n    function ObserveOnOperator(scheduler, delay) {\n        if (delay === void 0) { delay = 0; }\n        this.scheduler = scheduler;\n        this.delay = delay;\n    }\n    ObserveOnOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n    };\n    return ObserveOnOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var ObserveOnSubscriber = (function (_super) {\n    __extends(ObserveOnSubscriber, _super);\n    function ObserveOnSubscriber(destination, scheduler, delay) {\n        if (delay === void 0) { delay = 0; }\n        _super.call(this, destination);\n        this.scheduler = scheduler;\n        this.delay = delay;\n    }\n    ObserveOnSubscriber.dispatch = function (arg) {\n        var notification = arg.notification, destination = arg.destination;\n        notification.observe(destination);\n    };\n    ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n        this.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n    };\n    ObserveOnSubscriber.prototype._next = function (value) {\n        this.scheduleMessage(Notification.createNext(value));\n    };\n    ObserveOnSubscriber.prototype._error = function (err) {\n        this.scheduleMessage(Notification.createError(err));\n    };\n    ObserveOnSubscriber.prototype._complete = function () {\n        this.scheduleMessage(Notification.createComplete());\n    };\n    return ObserveOnSubscriber;\n}(Subscriber));\nexport var ObserveOnMessage = (function () {\n    function ObserveOnMessage(notification, destination) {\n        this.notification = notification;\n        this.destination = destination;\n    }\n    return ObserveOnMessage;\n}());\n//# sourceMappingURL=observeOn.js.map"
  },
  {
    "__docId__": 499,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "observeOn",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/observeOn.js~observeOn",
    "access": null,
    "export": true,
    "description": "",
    "see": [
      "{@link Notification}"
    ],
    "lineNumber": 12,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "observeOn"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "scheduler",
        "description": ""
      },
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "delay",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<R>",
        "WebSocketSubject<T>",
        "Observable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 500,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ObserveOnOperator",
    "memberof": "es6/operator/observeOn.js",
    "longname": "es6/operator/observeOn.js~ObserveOnOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/observeOn.js",
    "importStyle": "{ObserveOnOperator}",
    "description": null,
    "lineNumber": 16,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 501,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ObserveOnSubscriber",
    "memberof": "es6/operator/observeOn.js",
    "longname": "es6/operator/observeOn.js~ObserveOnSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/observeOn.js",
    "importStyle": "{ObserveOnSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 32,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 502,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ObserveOnMessage",
    "memberof": "es6/operator/observeOn.js",
    "longname": "es6/operator/observeOn.js~ObserveOnMessage",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/observeOn.js",
    "importStyle": "{ObserveOnMessage}",
    "description": null,
    "lineNumber": 58,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 503,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/onErrorResumeNext.js",
    "memberof": null,
    "longname": "es6/operator/onErrorResumeNext.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { FromObservable } from '../observable/FromObservable';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/* tslint:disable:max-line-length */\nexport function onErrorResumeNext() {\n    var nextSources = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        nextSources[_i - 0] = arguments[_i];\n    }\n    if (nextSources.length === 1 && isArray(nextSources[0])) {\n        nextSources = nextSources[0];\n    }\n    return this.lift(new OnErrorResumeNextOperator(nextSources));\n}\n/* tslint:enable:max-line-length */\nexport function onErrorResumeNextStatic() {\n    var nextSources = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        nextSources[_i - 0] = arguments[_i];\n    }\n    var source = null;\n    if (nextSources.length === 1 && isArray(nextSources[0])) {\n        nextSources = nextSources[0];\n    }\n    source = nextSources.shift();\n    return new FromObservable(source, null).lift(new OnErrorResumeNextOperator(nextSources));\n}\nvar OnErrorResumeNextOperator = (function () {\n    function OnErrorResumeNextOperator(nextSources) {\n        this.nextSources = nextSources;\n    }\n    OnErrorResumeNextOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources));\n    };\n    return OnErrorResumeNextOperator;\n}());\nvar OnErrorResumeNextSubscriber = (function (_super) {\n    __extends(OnErrorResumeNextSubscriber, _super);\n    function OnErrorResumeNextSubscriber(destination, nextSources) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.nextSources = nextSources;\n    }\n    OnErrorResumeNextSubscriber.prototype.notifyError = function (error, innerSub) {\n        this.subscribeToNextSource();\n    };\n    OnErrorResumeNextSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.subscribeToNextSource();\n    };\n    OnErrorResumeNextSubscriber.prototype._error = function (err) {\n        this.subscribeToNextSource();\n    };\n    OnErrorResumeNextSubscriber.prototype._complete = function () {\n        this.subscribeToNextSource();\n    };\n    OnErrorResumeNextSubscriber.prototype.subscribeToNextSource = function () {\n        var next = this.nextSources.shift();\n        if (next) {\n            this.add(subscribeToResult(this, next));\n        }\n        else {\n            this.destination.complete();\n        }\n    };\n    return OnErrorResumeNextSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=onErrorResumeNext.js.map"
  },
  {
    "__docId__": 504,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "onErrorResumeNext",
    "memberof": "es6/operator/onErrorResumeNext.js",
    "longname": "es6/operator/onErrorResumeNext.js~onErrorResumeNext",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/onErrorResumeNext.js",
    "importStyle": "{onErrorResumeNext}",
    "description": null,
    "lineNumber": 6,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 505,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "onErrorResumeNextStatic",
    "memberof": "es6/operator/onErrorResumeNext.js",
    "longname": "es6/operator/onErrorResumeNext.js~onErrorResumeNextStatic",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/onErrorResumeNext.js",
    "importStyle": "{onErrorResumeNextStatic}",
    "description": null,
    "lineNumber": 17,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 506,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "OnErrorResumeNextOperator",
    "memberof": "es6/operator/onErrorResumeNext.js",
    "longname": "es6/operator/onErrorResumeNext.js~OnErrorResumeNextOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/onErrorResumeNext.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 29,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 507,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "OnErrorResumeNextSubscriber",
    "memberof": "es6/operator/onErrorResumeNext.js",
    "longname": "es6/operator/onErrorResumeNext.js~OnErrorResumeNextSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/onErrorResumeNext.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 38,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 508,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/pairwise.js",
    "memberof": null,
    "longname": "es6/operator/pairwise.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Groups pairs of consecutive emissions together and emits them as an array of\n * two values.\n *\n * <span class=\"informal\">Puts the current value and previous value together as\n * an array, and emits that.</span>\n *\n * <img src=\"./img/pairwise.png\" width=\"100%\">\n *\n * The Nth emission from the source Observable will cause the output Observable\n * to emit an array [(N-1)th, Nth] of the previous and the current value, as a\n * pair. For this reason, `pairwise` emits on the second and subsequent\n * emissions from the source Observable, but not on the first emission, because\n * there is no previous value in that case.\n *\n * @example <caption>On every click (starting from the second), emit the relative distance to the previous click</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var pairs = clicks.pairwise();\n * var distance = pairs.map(pair => {\n *   var x0 = pair[0].clientX;\n *   var y0 = pair[0].clientY;\n *   var x1 = pair[1].clientX;\n *   var y1 = pair[1].clientY;\n *   return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2));\n * });\n * distance.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n *\n * @return {Observable<Array<T>>} An Observable of pairs (as arrays) of\n * consecutive values from the source Observable.\n * @method pairwise\n * @owner Observable\n */\nexport function pairwise() {\n    return this.lift(new PairwiseOperator());\n}\nvar PairwiseOperator = (function () {\n    function PairwiseOperator() {\n    }\n    PairwiseOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new PairwiseSubscriber(subscriber));\n    };\n    return PairwiseOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar PairwiseSubscriber = (function (_super) {\n    __extends(PairwiseSubscriber, _super);\n    function PairwiseSubscriber(destination) {\n        _super.call(this, destination);\n        this.hasPrev = false;\n    }\n    PairwiseSubscriber.prototype._next = function (value) {\n        if (this.hasPrev) {\n            this.destination.next([this.prev, value]);\n        }\n        else {\n            this.hasPrev = true;\n        }\n        this.prev = value;\n    };\n    return PairwiseSubscriber;\n}(Subscriber));\n//# sourceMappingURL=pairwise.js.map"
  },
  {
    "__docId__": 509,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "pairwise",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/pairwise.js~pairwise",
    "access": null,
    "export": true,
    "description": "Groups pairs of consecutive emissions together and emits them as an array of\ntwo values.\n\n<span class=\"informal\">Puts the current value and previous value together as\nan array, and emits that.</span>\n\n<img src=\"./img/pairwise.png\" width=\"100%\">\n\nThe Nth emission from the source Observable will cause the output Observable\nto emit an array [(N-1)th, Nth] of the previous and the current value, as a\npair. For this reason, `pairwise` emits on the second and subsequent\nemissions from the source Observable, but not on the first emission, because\nthere is no previous value in that case.",
    "examples": [
      "<caption>On every click (starting from the second), emit the relative distance to the previous click</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar pairs = clicks.pairwise();\nvar distance = pairs.map(pair => {\n  var x0 = pair[0].clientX;\n  var y0 = pair[0].clientY;\n  var x1 = pair[1].clientX;\n  var y1 = pair[1].clientY;\n  return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2));\n});\ndistance.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link buffer}",
      "{@link bufferCount}"
    ],
    "lineNumber": 37,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "pairwise"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "Observable<Array<T>>"
      ],
      "spread": false,
      "description": "An Observable of pairs (as arrays) of\nconsecutive values from the source Observable."
    },
    "generator": false
  },
  {
    "__docId__": 510,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "PairwiseOperator",
    "memberof": "es6/operator/pairwise.js",
    "longname": "es6/operator/pairwise.js~PairwiseOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/pairwise.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 40,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 511,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "PairwiseSubscriber",
    "memberof": "es6/operator/pairwise.js",
    "longname": "es6/operator/pairwise.js~PairwiseSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/pairwise.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 53,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 512,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/partition.js",
    "memberof": null,
    "longname": "es6/operator/partition.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { not } from '../util/not';\nimport { filter } from './filter';\n/**\n * Splits the source Observable into two, one with values that satisfy a\n * predicate, and another with values that don't satisfy the predicate.\n *\n * <span class=\"informal\">It's like {@link filter}, but returns two Observables:\n * one like the output of {@link filter}, and the other with values that did not\n * pass the condition.</span>\n *\n * <img src=\"./img/partition.png\" width=\"100%\">\n *\n * `partition` outputs an array with two Observables that partition the values\n * from the source Observable through the given `predicate` function. The first\n * Observable in that array emits source values for which the predicate argument\n * returns true. The second Observable emits source values for which the\n * predicate returns false. The first behaves like {@link filter} and the second\n * behaves like {@link filter} with the predicate negated.\n *\n * @example <caption>Partition click events into those on DIV elements and those elsewhere</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var parts = clicks.partition(ev => ev.target.tagName === 'DIV');\n * var clicksOnDivs = parts[0];\n * var clicksElsewhere = parts[1];\n * clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));\n * clicksElsewhere.subscribe(x => console.log('Other clicked: ', x));\n *\n * @see {@link filter}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted on the first Observable in the returned array, if\n * `false` the value is emitted on the second Observable in the array. The\n * `index` parameter is the number `i` for the i-th source emission that has\n * happened since the subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {[Observable<T>, Observable<T>]} An array with two Observables: one\n * with values that passed the predicate, and another with values that did not\n * pass the predicate.\n * @method partition\n * @owner Observable\n */\nexport function partition(predicate, thisArg) {\n    return [\n        filter.call(this, predicate),\n        filter.call(this, not(predicate, thisArg))\n    ];\n}\n//# sourceMappingURL=partition.js.map"
  },
  {
    "__docId__": 513,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "partition",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/partition.js~partition",
    "access": null,
    "export": true,
    "description": "Splits the source Observable into two, one with values that satisfy a\npredicate, and another with values that don't satisfy the predicate.\n\n<span class=\"informal\">It's like {@link filter}, but returns two Observables:\none like the output of {@link filter}, and the other with values that did not\npass the condition.</span>\n\n<img src=\"./img/partition.png\" width=\"100%\">\n\n`partition` outputs an array with two Observables that partition the values\nfrom the source Observable through the given `predicate` function. The first\nObservable in that array emits source values for which the predicate argument\nreturns true. The second Observable emits source values for which the\npredicate returns false. The first behaves like {@link filter} and the second\nbehaves like {@link filter} with the predicate negated.",
    "examples": [
      "<caption>Partition click events into those on DIV elements and those elsewhere</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar parts = clicks.partition(ev => ev.target.tagName === 'DIV');\nvar clicksOnDivs = parts[0];\nvar clicksElsewhere = parts[1];\nclicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));\nclicksElsewhere.subscribe(x => console.log('Other clicked: ', x));"
    ],
    "see": [
      "{@link filter}"
    ],
    "lineNumber": 44,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "partition"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(value: T, index: number): boolean"
        ],
        "spread": false,
        "optional": false,
        "name": "predicate",
        "description": "A function that\nevaluates each value emitted by the source Observable. If it returns `true`,\nthe value is emitted on the first Observable in the returned array, if\n`false` the value is emitted on the second Observable in the array. The\n`index` parameter is the number `i` for the i-th source emission that has\nhappened since the subscription, starting from the number `0`."
      },
      {
        "nullable": null,
        "types": [
          "any"
        ],
        "spread": false,
        "optional": true,
        "name": "thisArg",
        "description": "An optional argument to determine the value of `this`\nin the `predicate` function."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "[Observable<T>, Observable<T>]"
      ],
      "spread": false,
      "description": "An array with two Observables: one\nwith values that passed the predicate, and another with values that did not\npass the predicate."
    },
    "generator": false
  },
  {
    "__docId__": 514,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/pluck.js",
    "memberof": null,
    "longname": "es6/operator/pluck.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { map } from './map';\n/**\n * Maps each source value (an object) to its specified nested property.\n *\n * <span class=\"informal\">Like {@link map}, but meant only for picking one of\n * the nested properties of every emitted object.</span>\n *\n * <img src=\"./img/pluck.png\" width=\"100%\">\n *\n * Given a list of strings describing a path to an object property, retrieves\n * the value of a specified nested property from all values in the source\n * Observable. If a property can't be resolved, it will return `undefined` for\n * that value.\n *\n * @example <caption>Map every every click to the tagName of the clicked target element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var tagNames = clicks.pluck('target', 'tagName');\n * tagNames.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {...string} properties The nested properties to pluck from each source\n * value (an object).\n * @return {Observable} Returns a new Observable of property values from the\n * source values.\n * @method pluck\n * @owner Observable\n */\nexport function pluck() {\n    var properties = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        properties[_i - 0] = arguments[_i];\n    }\n    var length = properties.length;\n    if (length === 0) {\n        throw new Error('list of properties cannot be empty.');\n    }\n    return map.call(this, plucker(properties, length));\n}\nfunction plucker(props, length) {\n    var mapper = function (x) {\n        var currentProp = x;\n        for (var i = 0; i < length; i++) {\n            var p = currentProp[props[i]];\n            if (typeof p !== 'undefined') {\n                currentProp = p;\n            }\n            else {\n                return undefined;\n            }\n        }\n        return currentProp;\n    };\n    return mapper;\n}\n//# sourceMappingURL=pluck.js.map"
  },
  {
    "__docId__": 515,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "pluck",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/pluck.js~pluck",
    "access": null,
    "export": true,
    "description": "Maps each source value (an object) to its specified nested property.\n\n<span class=\"informal\">Like {@link map}, but meant only for picking one of\nthe nested properties of every emitted object.</span>\n\n<img src=\"./img/pluck.png\" width=\"100%\">\n\nGiven a list of strings describing a path to an object property, retrieves\nthe value of a specified nested property from all values in the source\nObservable. If a property can't be resolved, it will return `undefined` for\nthat value.",
    "examples": [
      "<caption>Map every every click to the tagName of the clicked target element</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar tagNames = clicks.pluck('target', 'tagName');\ntagNames.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link map}"
    ],
    "lineNumber": 29,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "pluck"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "...string"
        ],
        "spread": true,
        "optional": false,
        "name": "properties",
        "description": "The nested properties to pluck from each source\nvalue (an object)."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "Returns a new Observable of property values from the\nsource values."
    },
    "generator": false
  },
  {
    "__docId__": 516,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "plucker",
    "memberof": "es6/operator/pluck.js",
    "longname": "es6/operator/pluck.js~plucker",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/pluck.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 40,
    "undocument": true,
    "params": [
      {
        "name": "props",
        "types": [
          "*"
        ]
      },
      {
        "name": "length",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 517,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/publish.js",
    "memberof": null,
    "longname": "es6/operator/publish.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from '../Subject';\nimport { multicast } from './multicast';\n/* tslint:disable:max-line-length */\nexport function publish(selector) {\n    return selector ? multicast.call(this, function () { return new Subject(); }, selector) :\n        multicast.call(this, new Subject());\n}\n//# sourceMappingURL=publish.js.map"
  },
  {
    "__docId__": 518,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "publish",
    "memberof": "es6/operator/publish.js",
    "longname": "es6/operator/publish.js~publish",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/publish.js",
    "importStyle": "{publish}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [
      {
        "name": "selector",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 519,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/publishBehavior.js",
    "memberof": null,
    "longname": "es6/operator/publishBehavior.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { BehaviorSubject } from '../BehaviorSubject';\nimport { multicast } from './multicast';\n/**\n * @param value\n * @return {ConnectableObservable<T>}\n * @method publishBehavior\n * @owner Observable\n */\nexport function publishBehavior(value) {\n    return multicast.call(this, new BehaviorSubject(value));\n}\n//# sourceMappingURL=publishBehavior.js.map"
  },
  {
    "__docId__": 520,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "publishBehavior",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/publishBehavior.js~publishBehavior",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "publishBehavior"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "value",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "ConnectableObservable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 521,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/publishLast.js",
    "memberof": null,
    "longname": "es6/operator/publishLast.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AsyncSubject } from '../AsyncSubject';\nimport { multicast } from './multicast';\n/**\n * @return {ConnectableObservable<T>}\n * @method publishLast\n * @owner Observable\n */\nexport function publishLast() {\n    return multicast.call(this, new AsyncSubject());\n}\n//# sourceMappingURL=publishLast.js.map"
  },
  {
    "__docId__": 522,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "publishLast",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/publishLast.js~publishLast",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "publishLast"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "ConnectableObservable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 523,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/publishReplay.js",
    "memberof": null,
    "longname": "es6/operator/publishReplay.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\n/**\n * @param bufferSize\n * @param windowTime\n * @param scheduler\n * @return {ConnectableObservable<T>}\n * @method publishReplay\n * @owner Observable\n */\nexport function publishReplay(bufferSize, windowTime, scheduler) {\n    if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\n    if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\n    return multicast.call(this, new ReplaySubject(bufferSize, windowTime, scheduler));\n}\n//# sourceMappingURL=publishReplay.js.map"
  },
  {
    "__docId__": 524,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "publishReplay",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/publishReplay.js~publishReplay",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 11,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "publishReplay"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "bufferSize",
        "description": ""
      },
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "windowTime",
        "description": ""
      },
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "scheduler",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "ConnectableObservable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 525,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/race.js",
    "memberof": null,
    "longname": "es6/operator/race.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { isArray } from '../util/isArray';\nimport { ArrayObservable } from '../observable/ArrayObservable';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/* tslint:disable:max-line-length */\nexport function race() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    // if the only argument is an array, it was most likely called with\n    // `pair([obs1, obs2, ...])`\n    if (observables.length === 1 && isArray(observables[0])) {\n        observables = observables[0];\n    }\n    return this.lift.call(raceStatic.apply(void 0, [this].concat(observables)));\n}\nexport function raceStatic() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    // if the only argument is an array, it was most likely called with\n    // `pair([obs1, obs2, ...])`\n    if (observables.length === 1) {\n        if (isArray(observables[0])) {\n            observables = observables[0];\n        }\n        else {\n            return observables[0];\n        }\n    }\n    return new ArrayObservable(observables).lift(new RaceOperator());\n}\nexport var RaceOperator = (function () {\n    function RaceOperator() {\n    }\n    RaceOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RaceSubscriber(subscriber));\n    };\n    return RaceOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var RaceSubscriber = (function (_super) {\n    __extends(RaceSubscriber, _super);\n    function RaceSubscriber(destination) {\n        _super.call(this, destination);\n        this.hasFirst = false;\n        this.observables = [];\n        this.subscriptions = [];\n    }\n    RaceSubscriber.prototype._next = function (observable) {\n        this.observables.push(observable);\n    };\n    RaceSubscriber.prototype._complete = function () {\n        var observables = this.observables;\n        var len = observables.length;\n        if (len === 0) {\n            this.destination.complete();\n        }\n        else {\n            for (var i = 0; i < len; i++) {\n                var observable = observables[i];\n                var subscription = subscribeToResult(this, observable, observable, i);\n                if (this.subscriptions) {\n                    this.subscriptions.push(subscription);\n                    this.add(subscription);\n                }\n            }\n            this.observables = null;\n        }\n    };\n    RaceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        if (!this.hasFirst) {\n            this.hasFirst = true;\n            for (var i = 0; i < this.subscriptions.length; i++) {\n                if (i !== outerIndex) {\n                    var subscription = this.subscriptions[i];\n                    subscription.unsubscribe();\n                    this.remove(subscription);\n                }\n            }\n            this.subscriptions = null;\n        }\n        this.destination.next(innerValue);\n    };\n    return RaceSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=race.js.map"
  },
  {
    "__docId__": 526,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "race",
    "memberof": "es6/operator/race.js",
    "longname": "es6/operator/race.js~race",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/race.js",
    "importStyle": "{race}",
    "description": null,
    "lineNumber": 6,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 527,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "raceStatic",
    "memberof": "es6/operator/race.js",
    "longname": "es6/operator/race.js~raceStatic",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/race.js",
    "importStyle": "{raceStatic}",
    "description": null,
    "lineNumber": 18,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 528,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RaceOperator",
    "memberof": "es6/operator/race.js",
    "longname": "es6/operator/race.js~RaceOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/race.js",
    "importStyle": "{RaceOperator}",
    "description": null,
    "lineNumber": 35,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 529,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RaceSubscriber",
    "memberof": "es6/operator/race.js",
    "longname": "es6/operator/race.js~RaceSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/race.js",
    "importStyle": "{RaceSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 48,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 530,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/reduce.js",
    "memberof": null,
    "longname": "es6/operator/reduce.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/* tslint:disable:max-line-length */\nexport function reduce(accumulator, seed) {\n    var hasSeed = false;\n    // providing a seed of `undefined` *should* be valid and trigger\n    // hasSeed! so don't use `seed !== undefined` checks!\n    // For this reason, we have to check it here at the original call site\n    // otherwise inside Operator/Subscriber we won't know if `undefined`\n    // means they didn't provide anything or if they literally provided `undefined`\n    if (arguments.length >= 2) {\n        hasSeed = true;\n    }\n    return this.lift(new ReduceOperator(accumulator, seed, hasSeed));\n}\nexport var ReduceOperator = (function () {\n    function ReduceOperator(accumulator, seed, hasSeed) {\n        if (hasSeed === void 0) { hasSeed = false; }\n        this.accumulator = accumulator;\n        this.seed = seed;\n        this.hasSeed = hasSeed;\n    }\n    ReduceOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ReduceSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n    };\n    return ReduceOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var ReduceSubscriber = (function (_super) {\n    __extends(ReduceSubscriber, _super);\n    function ReduceSubscriber(destination, accumulator, seed, hasSeed) {\n        _super.call(this, destination);\n        this.accumulator = accumulator;\n        this.hasSeed = hasSeed;\n        this.hasValue = false;\n        this.acc = seed;\n    }\n    ReduceSubscriber.prototype._next = function (value) {\n        if (this.hasValue || (this.hasValue = this.hasSeed)) {\n            this._tryReduce(value);\n        }\n        else {\n            this.acc = value;\n            this.hasValue = true;\n        }\n    };\n    ReduceSubscriber.prototype._tryReduce = function (value) {\n        var result;\n        try {\n            result = this.accumulator(this.acc, value);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.acc = result;\n    };\n    ReduceSubscriber.prototype._complete = function () {\n        if (this.hasValue || this.hasSeed) {\n            this.destination.next(this.acc);\n        }\n        this.destination.complete();\n    };\n    return ReduceSubscriber;\n}(Subscriber));\n//# sourceMappingURL=reduce.js.map"
  },
  {
    "__docId__": 531,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "reduce",
    "memberof": "es6/operator/reduce.js",
    "longname": "es6/operator/reduce.js~reduce",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/reduce.js",
    "importStyle": "{reduce}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "accumulator",
        "types": [
          "*"
        ]
      },
      {
        "name": "seed",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 532,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ReduceOperator",
    "memberof": "es6/operator/reduce.js",
    "longname": "es6/operator/reduce.js~ReduceOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/reduce.js",
    "importStyle": "{ReduceOperator}",
    "description": null,
    "lineNumber": 15,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 533,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ReduceSubscriber",
    "memberof": "es6/operator/reduce.js",
    "longname": "es6/operator/reduce.js~ReduceSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/reduce.js",
    "importStyle": "{ReduceSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 32,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 534,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/repeat.js",
    "memberof": null,
    "longname": "es6/operator/repeat.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { EmptyObservable } from '../observable/EmptyObservable';\n/**\n * Returns an Observable that repeats the stream of items emitted by the source Observable at most count times,\n * on a particular Scheduler.\n *\n * <img src=\"./img/repeat.png\" width=\"100%\">\n *\n * @param {Scheduler} [scheduler] the Scheduler to emit the items on.\n * @param {number} [count] the number of times the source Observable items are repeated, a count of 0 will yield\n * an empty Observable.\n * @return {Observable} an Observable that repeats the stream of items emitted by the source Observable at most\n * count times.\n * @method repeat\n * @owner Observable\n */\nexport function repeat(count) {\n    if (count === void 0) { count = -1; }\n    if (count === 0) {\n        return new EmptyObservable();\n    }\n    else if (count < 0) {\n        return this.lift(new RepeatOperator(-1, this));\n    }\n    else {\n        return this.lift(new RepeatOperator(count - 1, this));\n    }\n}\nvar RepeatOperator = (function () {\n    function RepeatOperator(count, source) {\n        this.count = count;\n        this.source = source;\n    }\n    RepeatOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n    };\n    return RepeatOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RepeatSubscriber = (function (_super) {\n    __extends(RepeatSubscriber, _super);\n    function RepeatSubscriber(destination, count, source) {\n        _super.call(this, destination);\n        this.count = count;\n        this.source = source;\n    }\n    RepeatSubscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            var _a = this, source = _a.source, count = _a.count;\n            if (count === 0) {\n                return _super.prototype.complete.call(this);\n            }\n            else if (count > -1) {\n                this.count = count - 1;\n            }\n            this.unsubscribe();\n            this.isStopped = false;\n            this.closed = false;\n            source.subscribe(this);\n        }\n    };\n    return RepeatSubscriber;\n}(Subscriber));\n//# sourceMappingURL=repeat.js.map"
  },
  {
    "__docId__": 535,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "repeat",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/repeat.js~repeat",
    "access": null,
    "export": true,
    "description": "Returns an Observable that repeats the stream of items emitted by the source Observable at most count times,\non a particular Scheduler.\n\n<img src=\"./img/repeat.png\" width=\"100%\">",
    "lineNumber": 17,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "repeat"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "name": "scheduler",
        "description": "the Scheduler to emit the items on."
      },
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": true,
        "name": "count",
        "description": "the number of times the source Observable items are repeated, a count of 0 will yield\nan empty Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an Observable that repeats the stream of items emitted by the source Observable at most\ncount times."
    },
    "generator": false
  },
  {
    "__docId__": 536,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RepeatOperator",
    "memberof": "es6/operator/repeat.js",
    "longname": "es6/operator/repeat.js~RepeatOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/repeat.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 29,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 537,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RepeatSubscriber",
    "memberof": "es6/operator/repeat.js",
    "longname": "es6/operator/repeat.js~RepeatSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/repeat.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 44,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 538,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/repeatWhen.js",
    "memberof": null,
    "longname": "es6/operator/repeatWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from '../Subject';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Returns an Observable that emits the same values as the source observable with the exception of a `complete`.\n * A `complete` will cause the emission of the Throwable that cause the complete to the Observable returned from\n * notificationHandler. If that Observable calls onComplete or `complete` then retry will call `complete` or `error`\n * on the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular\n * Scheduler.\n *\n * <img src=\"./img/repeatWhen.png\" width=\"100%\">\n *\n * @param {notificationHandler} receives an Observable of notifications with which a user can `complete` or `error`,\n * aborting the retry.\n * @param {scheduler} the Scheduler on which to subscribe to the source Observable.\n * @return {Observable} the source Observable modified with retry logic.\n * @method repeatWhen\n * @owner Observable\n */\nexport function repeatWhen(notifier) {\n    return this.lift(new RepeatWhenOperator(notifier, this));\n}\nvar RepeatWhenOperator = (function () {\n    function RepeatWhenOperator(notifier, source) {\n        this.notifier = notifier;\n        this.source = source;\n    }\n    RepeatWhenOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, this.source));\n    };\n    return RepeatWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RepeatWhenSubscriber = (function (_super) {\n    __extends(RepeatWhenSubscriber, _super);\n    function RepeatWhenSubscriber(destination, notifier, source) {\n        _super.call(this, destination);\n        this.notifier = notifier;\n        this.source = source;\n    }\n    RepeatWhenSubscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            var notifications = this.notifications;\n            var retries = this.retries;\n            var retriesSubscription = this.retriesSubscription;\n            if (!retries) {\n                notifications = new Subject();\n                retries = tryCatch(this.notifier)(notifications);\n                if (retries === errorObject) {\n                    return _super.prototype.complete.call(this);\n                }\n                retriesSubscription = subscribeToResult(this, retries);\n            }\n            else {\n                this.notifications = null;\n                this.retriesSubscription = null;\n            }\n            this.unsubscribe();\n            this.closed = false;\n            this.notifications = notifications;\n            this.retries = retries;\n            this.retriesSubscription = retriesSubscription;\n            notifications.next();\n        }\n    };\n    RepeatWhenSubscriber.prototype._unsubscribe = function () {\n        var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;\n        if (notifications) {\n            notifications.unsubscribe();\n            this.notifications = null;\n        }\n        if (retriesSubscription) {\n            retriesSubscription.unsubscribe();\n            this.retriesSubscription = null;\n        }\n        this.retries = null;\n    };\n    RepeatWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, notifications = _a.notifications, retries = _a.retries, retriesSubscription = _a.retriesSubscription;\n        this.notifications = null;\n        this.retries = null;\n        this.retriesSubscription = null;\n        this.unsubscribe();\n        this.isStopped = false;\n        this.closed = false;\n        this.notifications = notifications;\n        this.retries = retries;\n        this.retriesSubscription = retriesSubscription;\n        this.source.subscribe(this);\n    };\n    return RepeatWhenSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=repeatWhen.js.map"
  },
  {
    "__docId__": 539,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "repeatWhen",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/repeatWhen.js~repeatWhen",
    "access": null,
    "export": true,
    "description": "Returns an Observable that emits the same values as the source observable with the exception of a `complete`.\nA `complete` will cause the emission of the Throwable that cause the complete to the Observable returned from\nnotificationHandler. If that Observable calls onComplete or `complete` then retry will call `complete` or `error`\non the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular\nScheduler.\n\n<img src=\"./img/repeatWhen.png\" width=\"100%\">",
    "lineNumber": 22,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "repeatWhen"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "notificationHandler"
        ],
        "spread": false,
        "optional": false,
        "name": "receives",
        "description": "an Observable of notifications with which a user can `complete` or `error`,\naborting the retry."
      },
      {
        "nullable": null,
        "types": [
          "scheduler"
        ],
        "spread": false,
        "optional": false,
        "name": "the",
        "description": "Scheduler on which to subscribe to the source Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "the source Observable modified with retry logic."
    },
    "generator": false
  },
  {
    "__docId__": 540,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RepeatWhenOperator",
    "memberof": "es6/operator/repeatWhen.js",
    "longname": "es6/operator/repeatWhen.js~RepeatWhenOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/repeatWhen.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 25,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 541,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RepeatWhenSubscriber",
    "memberof": "es6/operator/repeatWhen.js",
    "longname": "es6/operator/repeatWhen.js~RepeatWhenSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/repeatWhen.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 40,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 542,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/retry.js",
    "memberof": null,
    "longname": "es6/operator/retry.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Returns an Observable that mirrors the source Observable, resubscribing to it if it calls `error` and the\n * predicate returns true for that specific exception and retry count.\n * If the source Observable calls `error`, this method will resubscribe to the source Observable for a maximum of\n * count resubscriptions (given as a number parameter) rather than propagating the `error` call.\n *\n * <img src=\"./img/retry.png\" width=\"100%\">\n *\n * Any and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted\n * during failed subscriptions. For example, if an Observable fails at first but emits [1, 2] then succeeds the second\n * time and emits: [1, 2, 3, 4, 5] then the complete stream of emissions and notifications\n * would be: [1, 2, 1, 2, 3, 4, 5, `complete`].\n * @param {number} number of retry attempts before failing.\n * @return {Observable} the source Observable modified with the retry logic.\n * @method retry\n * @owner Observable\n */\nexport function retry(count) {\n    if (count === void 0) { count = -1; }\n    return this.lift(new RetryOperator(count, this));\n}\nvar RetryOperator = (function () {\n    function RetryOperator(count, source) {\n        this.count = count;\n        this.source = source;\n    }\n    RetryOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RetrySubscriber(subscriber, this.count, this.source));\n    };\n    return RetryOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RetrySubscriber = (function (_super) {\n    __extends(RetrySubscriber, _super);\n    function RetrySubscriber(destination, count, source) {\n        _super.call(this, destination);\n        this.count = count;\n        this.source = source;\n    }\n    RetrySubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var _a = this, source = _a.source, count = _a.count;\n            if (count === 0) {\n                return _super.prototype.error.call(this, err);\n            }\n            else if (count > -1) {\n                this.count = count - 1;\n            }\n            this.unsubscribe();\n            this.isStopped = false;\n            this.closed = false;\n            source.subscribe(this);\n        }\n    };\n    return RetrySubscriber;\n}(Subscriber));\n//# sourceMappingURL=retry.js.map"
  },
  {
    "__docId__": 543,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "retry",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/retry.js~retry",
    "access": null,
    "export": true,
    "description": "Returns an Observable that mirrors the source Observable, resubscribing to it if it calls `error` and the\npredicate returns true for that specific exception and retry count.\nIf the source Observable calls `error`, this method will resubscribe to the source Observable for a maximum of\ncount resubscriptions (given as a number parameter) rather than propagating the `error` call.\n\n<img src=\"./img/retry.png\" width=\"100%\">\n\nAny and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted\nduring failed subscriptions. For example, if an Observable fails at first but emits [1, 2] then succeeds the second\ntime and emits: [1, 2, 3, 4, 5] then the complete stream of emissions and notifications\nwould be: [1, 2, 1, 2, 3, 4, 5, `complete`].",
    "lineNumber": 19,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "retry"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "number",
        "description": "of retry attempts before failing."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "the source Observable modified with the retry logic."
    },
    "generator": false
  },
  {
    "__docId__": 544,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RetryOperator",
    "memberof": "es6/operator/retry.js",
    "longname": "es6/operator/retry.js~RetryOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/retry.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 23,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 545,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RetrySubscriber",
    "memberof": "es6/operator/retry.js",
    "longname": "es6/operator/retry.js~RetrySubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/retry.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 38,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 546,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/retryWhen.js",
    "memberof": null,
    "longname": "es6/operator/retryWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from '../Subject';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Returns an Observable that emits the same values as the source observable with the exception of an `error`.\n * An `error` will cause the emission of the Throwable that cause the error to the Observable returned from\n * notificationHandler. If that Observable calls onComplete or `error` then retry will call `complete` or `error`\n * on the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular\n * Scheduler.\n *\n * <img src=\"./img/retryWhen.png\" width=\"100%\">\n *\n * @param {notificationHandler} receives an Observable of notifications with which a user can `complete` or `error`,\n * aborting the retry.\n * @param {scheduler} the Scheduler on which to subscribe to the source Observable.\n * @return {Observable} the source Observable modified with retry logic.\n * @method retryWhen\n * @owner Observable\n */\nexport function retryWhen(notifier) {\n    return this.lift(new RetryWhenOperator(notifier, this));\n}\nvar RetryWhenOperator = (function () {\n    function RetryWhenOperator(notifier, source) {\n        this.notifier = notifier;\n        this.source = source;\n    }\n    RetryWhenOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n    };\n    return RetryWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RetryWhenSubscriber = (function (_super) {\n    __extends(RetryWhenSubscriber, _super);\n    function RetryWhenSubscriber(destination, notifier, source) {\n        _super.call(this, destination);\n        this.notifier = notifier;\n        this.source = source;\n    }\n    RetryWhenSubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var errors = this.errors;\n            var retries = this.retries;\n            var retriesSubscription = this.retriesSubscription;\n            if (!retries) {\n                errors = new Subject();\n                retries = tryCatch(this.notifier)(errors);\n                if (retries === errorObject) {\n                    return _super.prototype.error.call(this, errorObject.e);\n                }\n                retriesSubscription = subscribeToResult(this, retries);\n            }\n            else {\n                this.errors = null;\n                this.retriesSubscription = null;\n            }\n            this.unsubscribe();\n            this.closed = false;\n            this.errors = errors;\n            this.retries = retries;\n            this.retriesSubscription = retriesSubscription;\n            errors.next(err);\n        }\n    };\n    RetryWhenSubscriber.prototype._unsubscribe = function () {\n        var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;\n        if (errors) {\n            errors.unsubscribe();\n            this.errors = null;\n        }\n        if (retriesSubscription) {\n            retriesSubscription.unsubscribe();\n            this.retriesSubscription = null;\n        }\n        this.retries = null;\n    };\n    RetryWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, errors = _a.errors, retries = _a.retries, retriesSubscription = _a.retriesSubscription;\n        this.errors = null;\n        this.retries = null;\n        this.retriesSubscription = null;\n        this.unsubscribe();\n        this.isStopped = false;\n        this.closed = false;\n        this.errors = errors;\n        this.retries = retries;\n        this.retriesSubscription = retriesSubscription;\n        this.source.subscribe(this);\n    };\n    return RetryWhenSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=retryWhen.js.map"
  },
  {
    "__docId__": 547,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "retryWhen",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/retryWhen.js~retryWhen",
    "access": null,
    "export": true,
    "description": "Returns an Observable that emits the same values as the source observable with the exception of an `error`.\nAn `error` will cause the emission of the Throwable that cause the error to the Observable returned from\nnotificationHandler. If that Observable calls onComplete or `error` then retry will call `complete` or `error`\non the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular\nScheduler.\n\n<img src=\"./img/retryWhen.png\" width=\"100%\">",
    "lineNumber": 22,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "retryWhen"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "notificationHandler"
        ],
        "spread": false,
        "optional": false,
        "name": "receives",
        "description": "an Observable of notifications with which a user can `complete` or `error`,\naborting the retry."
      },
      {
        "nullable": null,
        "types": [
          "scheduler"
        ],
        "spread": false,
        "optional": false,
        "name": "the",
        "description": "Scheduler on which to subscribe to the source Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "the source Observable modified with retry logic."
    },
    "generator": false
  },
  {
    "__docId__": 548,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RetryWhenOperator",
    "memberof": "es6/operator/retryWhen.js",
    "longname": "es6/operator/retryWhen.js~RetryWhenOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/retryWhen.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 25,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 549,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RetryWhenSubscriber",
    "memberof": "es6/operator/retryWhen.js",
    "longname": "es6/operator/retryWhen.js~RetryWhenSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/retryWhen.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 40,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 550,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/sample.js",
    "memberof": null,
    "longname": "es6/operator/sample.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Emits the most recently emitted value from the source Observable whenever\n * another Observable, the `notifier`, emits.\n *\n * <span class=\"informal\">It's like {@link sampleTime}, but samples whenever\n * the `notifier` Observable emits something.</span>\n *\n * <img src=\"./img/sample.png\" width=\"100%\">\n *\n * Whenever the `notifier` Observable emits a value or completes, `sample`\n * looks at the source Observable and emits whichever value it has most recently\n * emitted since the previous sampling, unless the source has not emitted\n * anything since the previous sampling. The `notifier` is subscribed to as soon\n * as the output Observable is subscribed.\n *\n * @example <caption>On every click, sample the most recent \"seconds\" timer</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = seconds.sample(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {Observable<any>} notifier The Observable to use for sampling the\n * source Observable.\n * @return {Observable<T>} An Observable that emits the results of sampling the\n * values emitted by the source Observable whenever the notifier Observable\n * emits value or completes.\n * @method sample\n * @owner Observable\n */\nexport function sample(notifier) {\n    return this.lift(new SampleOperator(notifier));\n}\nvar SampleOperator = (function () {\n    function SampleOperator(notifier) {\n        this.notifier = notifier;\n    }\n    SampleOperator.prototype.call = function (subscriber, source) {\n        var sampleSubscriber = new SampleSubscriber(subscriber);\n        var subscription = source._subscribe(sampleSubscriber);\n        subscription.add(subscribeToResult(sampleSubscriber, this.notifier));\n        return subscription;\n    };\n    return SampleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SampleSubscriber = (function (_super) {\n    __extends(SampleSubscriber, _super);\n    function SampleSubscriber() {\n        _super.apply(this, arguments);\n        this.hasValue = false;\n    }\n    SampleSubscriber.prototype._next = function (value) {\n        this.value = value;\n        this.hasValue = true;\n    };\n    SampleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.emitValue();\n    };\n    SampleSubscriber.prototype.notifyComplete = function () {\n        this.emitValue();\n    };\n    SampleSubscriber.prototype.emitValue = function () {\n        if (this.hasValue) {\n            this.hasValue = false;\n            this.destination.next(this.value);\n        }\n    };\n    return SampleSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=sample.js.map"
  },
  {
    "__docId__": 551,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "sample",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/sample.js~sample",
    "access": null,
    "export": true,
    "description": "Emits the most recently emitted value from the source Observable whenever\nanother Observable, the `notifier`, emits.\n\n<span class=\"informal\">It's like {@link sampleTime}, but samples whenever\nthe `notifier` Observable emits something.</span>\n\n<img src=\"./img/sample.png\" width=\"100%\">\n\nWhenever the `notifier` Observable emits a value or completes, `sample`\nlooks at the source Observable and emits whichever value it has most recently\nemitted since the previous sampling, unless the source has not emitted\nanything since the previous sampling. The `notifier` is subscribed to as soon\nas the output Observable is subscribed.",
    "examples": [
      "<caption>On every click, sample the most recent \"seconds\" timer</caption>\nvar seconds = Rx.Observable.interval(1000);\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = seconds.sample(clicks);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link audit}",
      "{@link debounce}",
      "{@link sampleTime}",
      "{@link throttle}"
    ],
    "lineNumber": 37,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "sample"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Observable<any>"
        ],
        "spread": false,
        "optional": false,
        "name": "notifier",
        "description": "The Observable to use for sampling the\nsource Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that emits the results of sampling the\nvalues emitted by the source Observable whenever the notifier Observable\nemits value or completes."
    },
    "generator": false
  },
  {
    "__docId__": 552,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SampleOperator",
    "memberof": "es6/operator/sample.js",
    "longname": "es6/operator/sample.js~SampleOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/sample.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 40,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 553,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SampleSubscriber",
    "memberof": "es6/operator/sample.js",
    "longname": "es6/operator/sample.js~SampleSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/sample.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 57,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 554,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/sampleTime.js",
    "memberof": null,
    "longname": "es6/operator/sampleTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\n/**\n * Emits the most recently emitted value from the source Observable within\n * periodic time intervals.\n *\n * <span class=\"informal\">Samples the source Observable at periodic time\n * intervals, emitting what it samples.</span>\n *\n * <img src=\"./img/sampleTime.png\" width=\"100%\">\n *\n * `sampleTime` periodically looks at the source Observable and emits whichever\n * value it has most recently emitted since the previous sampling, unless the\n * source has not emitted anything since the previous sampling. The sampling\n * happens periodically in time every `period` milliseconds (or the time unit\n * defined by the optional `scheduler` argument). The sampling starts as soon as\n * the output Observable is subscribed.\n *\n * @example <caption>Every second, emit the most recent click at most once</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.sampleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {number} period The sampling period expressed in milliseconds or the\n * time unit determined internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\n * managing the timers that handle the sampling.\n * @return {Observable<T>} An Observable that emits the results of sampling the\n * values emitted by the source Observable at the specified time interval.\n * @method sampleTime\n * @owner Observable\n */\nexport function sampleTime(period, scheduler) {\n    if (scheduler === void 0) { scheduler = async; }\n    return this.lift(new SampleTimeOperator(period, scheduler));\n}\nvar SampleTimeOperator = (function () {\n    function SampleTimeOperator(period, scheduler) {\n        this.period = period;\n        this.scheduler = scheduler;\n    }\n    SampleTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n    };\n    return SampleTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SampleTimeSubscriber = (function (_super) {\n    __extends(SampleTimeSubscriber, _super);\n    function SampleTimeSubscriber(destination, period, scheduler) {\n        _super.call(this, destination);\n        this.period = period;\n        this.scheduler = scheduler;\n        this.hasValue = false;\n        this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period: period }));\n    }\n    SampleTimeSubscriber.prototype._next = function (value) {\n        this.lastValue = value;\n        this.hasValue = true;\n    };\n    SampleTimeSubscriber.prototype.notifyNext = function () {\n        if (this.hasValue) {\n            this.hasValue = false;\n            this.destination.next(this.lastValue);\n        }\n    };\n    return SampleTimeSubscriber;\n}(Subscriber));\nfunction dispatchNotification(state) {\n    var subscriber = state.subscriber, period = state.period;\n    subscriber.notifyNext();\n    this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map"
  },
  {
    "__docId__": 555,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "sampleTime",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/sampleTime.js~sampleTime",
    "access": null,
    "export": true,
    "description": "Emits the most recently emitted value from the source Observable within\nperiodic time intervals.\n\n<span class=\"informal\">Samples the source Observable at periodic time\nintervals, emitting what it samples.</span>\n\n<img src=\"./img/sampleTime.png\" width=\"100%\">\n\n`sampleTime` periodically looks at the source Observable and emits whichever\nvalue it has most recently emitted since the previous sampling, unless the\nsource has not emitted anything since the previous sampling. The sampling\nhappens periodically in time every `period` milliseconds (or the time unit\ndefined by the optional `scheduler` argument). The sampling starts as soon as\nthe output Observable is subscribed.",
    "examples": [
      "<caption>Every second, emit the most recent click at most once</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.sampleTime(1000);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link auditTime}",
      "{@link debounceTime}",
      "{@link delay}",
      "{@link sample}",
      "{@link throttleTime}"
    ],
    "lineNumber": 39,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "sampleTime"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "period",
        "description": "The sampling period expressed in milliseconds or the\ntime unit determined internally by the optional `scheduler`."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "async",
        "defaultRaw": "async",
        "name": "scheduler",
        "description": "The {@link Scheduler} to use for\nmanaging the timers that handle the sampling."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that emits the results of sampling the\nvalues emitted by the source Observable at the specified time interval."
    },
    "generator": false
  },
  {
    "__docId__": 556,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SampleTimeOperator",
    "memberof": "es6/operator/sampleTime.js",
    "longname": "es6/operator/sampleTime.js~SampleTimeOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/sampleTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 43,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 557,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SampleTimeSubscriber",
    "memberof": "es6/operator/sampleTime.js",
    "longname": "es6/operator/sampleTime.js~SampleTimeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/sampleTime.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 58,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 558,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchNotification",
    "memberof": "es6/operator/sampleTime.js",
    "longname": "es6/operator/sampleTime.js~dispatchNotification",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/sampleTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 79,
    "undocument": true,
    "params": [
      {
        "name": "state",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 559,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/scan.js",
    "memberof": null,
    "longname": "es6/operator/scan.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/* tslint:disable:max-line-length */\nexport function scan(accumulator, seed) {\n    var hasSeed = false;\n    // providing a seed of `undefined` *should* be valid and trigger\n    // hasSeed! so don't use `seed !== undefined` checks!\n    // For this reason, we have to check it here at the original call site\n    // otherwise inside Operator/Subscriber we won't know if `undefined`\n    // means they didn't provide anything or if they literally provided `undefined`\n    if (arguments.length >= 2) {\n        hasSeed = true;\n    }\n    return this.lift(new ScanOperator(accumulator, seed, hasSeed));\n}\nvar ScanOperator = (function () {\n    function ScanOperator(accumulator, seed, hasSeed) {\n        if (hasSeed === void 0) { hasSeed = false; }\n        this.accumulator = accumulator;\n        this.seed = seed;\n        this.hasSeed = hasSeed;\n    }\n    ScanOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n    };\n    return ScanOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ScanSubscriber = (function (_super) {\n    __extends(ScanSubscriber, _super);\n    function ScanSubscriber(destination, accumulator, _seed, hasSeed) {\n        _super.call(this, destination);\n        this.accumulator = accumulator;\n        this._seed = _seed;\n        this.hasSeed = hasSeed;\n        this.index = 0;\n    }\n    Object.defineProperty(ScanSubscriber.prototype, \"seed\", {\n        get: function () {\n            return this._seed;\n        },\n        set: function (value) {\n            this.hasSeed = true;\n            this._seed = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ScanSubscriber.prototype._next = function (value) {\n        if (!this.hasSeed) {\n            this.seed = value;\n            this.destination.next(value);\n        }\n        else {\n            return this._tryNext(value);\n        }\n    };\n    ScanSubscriber.prototype._tryNext = function (value) {\n        var index = this.index++;\n        var result;\n        try {\n            result = this.accumulator(this.seed, value, index);\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n        this.seed = result;\n        this.destination.next(result);\n    };\n    return ScanSubscriber;\n}(Subscriber));\n//# sourceMappingURL=scan.js.map"
  },
  {
    "__docId__": 560,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "scan",
    "memberof": "es6/operator/scan.js",
    "longname": "es6/operator/scan.js~scan",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/scan.js",
    "importStyle": "{scan}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "accumulator",
        "types": [
          "*"
        ]
      },
      {
        "name": "seed",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 561,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ScanOperator",
    "memberof": "es6/operator/scan.js",
    "longname": "es6/operator/scan.js~ScanOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/scan.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 15,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 562,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ScanSubscriber",
    "memberof": "es6/operator/scan.js",
    "longname": "es6/operator/scan.js~ScanSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/scan.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 32,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 563,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/sequenceEqual.js",
    "memberof": null,
    "longname": "es6/operator/sequenceEqual.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\n/**\n * Compares all values of two observables in sequence using an optional comparor function\n * and returns an observable of a single boolean value representing whether or not the two sequences\n * are equal.\n *\n * <span class=\"informal\">Checks to see of all values emitted by both observables are equal, in order.</span>\n *\n * <img src=\"./img/sequenceEqual.png\" width=\"100%\">\n *\n * `sequenceEqual` subscribes to two observables and buffers incoming values from each observable. Whenever either\n * observable emits a value, the value is buffered and the buffers are shifted and compared from the bottom\n * up; If any value pair doesn't match, the returned observable will emit `false` and complete. If one of the\n * observables completes, the operator will wait for the other observable to complete; If the other\n * observable emits before completing, the returned observable will emit `false` and complete. If one observable never\n * completes or emits after the other complets, the returned observable will never complete.\n *\n * @example <caption>figure out if the Konami code matches</caption>\n * var code = Observable.from([\n *  \"ArrowUp\",\n *  \"ArrowUp\",\n *  \"ArrowDown\",\n *  \"ArrowDown\",\n *  \"ArrowLeft\",\n *  \"ArrowRight\",\n *  \"ArrowLeft\",\n *  \"ArrowRight\",\n *  \"KeyB\",\n *  \"KeyA\",\n *  \"Enter\" // no start key, clearly.\n * ]);\n *\n * var keys = Rx.Observable.fromEvent(document, 'keyup')\n *  .map(e => e.code);\n * var matches = keys.bufferCount(11, 1)\n *  .mergeMap(\n *    last11 =>\n *      Rx.Observable.from(last11)\n *        .sequenceEqual(code)\n *   );\n * matches.subscribe(matched => console.log('Successful cheat at Contra? ', matched));\n *\n * @see {@link combineLatest}\n * @see {@link zip}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} compareTo the observable sequence to compare the source sequence to.\n * @param {function} [comparor] An optional function to compare each value pair\n * @return {Observable} An Observable of a single boolean value representing whether or not\n * the values emitted by both observables were equal in sequence\n * @method sequenceEqual\n * @owner Observable\n */\nexport function sequenceEqual(compareTo, comparor) {\n    return this.lift(new SequenceEqualOperator(compareTo, comparor));\n}\nexport var SequenceEqualOperator = (function () {\n    function SequenceEqualOperator(compareTo, comparor) {\n        this.compareTo = compareTo;\n        this.comparor = comparor;\n    }\n    SequenceEqualOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparor));\n    };\n    return SequenceEqualOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var SequenceEqualSubscriber = (function (_super) {\n    __extends(SequenceEqualSubscriber, _super);\n    function SequenceEqualSubscriber(destination, compareTo, comparor) {\n        _super.call(this, destination);\n        this.compareTo = compareTo;\n        this.comparor = comparor;\n        this._a = [];\n        this._b = [];\n        this._oneComplete = false;\n        this.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, this)));\n    }\n    SequenceEqualSubscriber.prototype._next = function (value) {\n        if (this._oneComplete && this._b.length === 0) {\n            this.emit(false);\n        }\n        else {\n            this._a.push(value);\n            this.checkValues();\n        }\n    };\n    SequenceEqualSubscriber.prototype._complete = function () {\n        if (this._oneComplete) {\n            this.emit(this._a.length === 0 && this._b.length === 0);\n        }\n        else {\n            this._oneComplete = true;\n        }\n    };\n    SequenceEqualSubscriber.prototype.checkValues = function () {\n        var _c = this, _a = _c._a, _b = _c._b, comparor = _c.comparor;\n        while (_a.length > 0 && _b.length > 0) {\n            var a = _a.shift();\n            var b = _b.shift();\n            var areEqual = false;\n            if (comparor) {\n                areEqual = tryCatch(comparor)(a, b);\n                if (areEqual === errorObject) {\n                    this.destination.error(errorObject.e);\n                }\n            }\n            else {\n                areEqual = a === b;\n            }\n            if (!areEqual) {\n                this.emit(false);\n            }\n        }\n    };\n    SequenceEqualSubscriber.prototype.emit = function (value) {\n        var destination = this.destination;\n        destination.next(value);\n        destination.complete();\n    };\n    SequenceEqualSubscriber.prototype.nextB = function (value) {\n        if (this._oneComplete && this._a.length === 0) {\n            this.emit(false);\n        }\n        else {\n            this._b.push(value);\n            this.checkValues();\n        }\n    };\n    return SequenceEqualSubscriber;\n}(Subscriber));\nvar SequenceEqualCompareToSubscriber = (function (_super) {\n    __extends(SequenceEqualCompareToSubscriber, _super);\n    function SequenceEqualCompareToSubscriber(destination, parent) {\n        _super.call(this, destination);\n        this.parent = parent;\n    }\n    SequenceEqualCompareToSubscriber.prototype._next = function (value) {\n        this.parent.nextB(value);\n    };\n    SequenceEqualCompareToSubscriber.prototype._error = function (err) {\n        this.parent.error(err);\n    };\n    SequenceEqualCompareToSubscriber.prototype._complete = function () {\n        this.parent._complete();\n    };\n    return SequenceEqualCompareToSubscriber;\n}(Subscriber));\n//# sourceMappingURL=sequenceEqual.js.map"
  },
  {
    "__docId__": 564,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "sequenceEqual",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/sequenceEqual.js~sequenceEqual",
    "access": null,
    "export": true,
    "description": "Compares all values of two observables in sequence using an optional comparor function\nand returns an observable of a single boolean value representing whether or not the two sequences\nare equal.\n\n<span class=\"informal\">Checks to see of all values emitted by both observables are equal, in order.</span>\n\n<img src=\"./img/sequenceEqual.png\" width=\"100%\">\n\n`sequenceEqual` subscribes to two observables and buffers incoming values from each observable. Whenever either\nobservable emits a value, the value is buffered and the buffers are shifted and compared from the bottom\nup; If any value pair doesn't match, the returned observable will emit `false` and complete. If one of the\nobservables completes, the operator will wait for the other observable to complete; If the other\nobservable emits before completing, the returned observable will emit `false` and complete. If one observable never\ncompletes or emits after the other complets, the returned observable will never complete.",
    "examples": [
      "<caption>figure out if the Konami code matches</caption>\nvar code = Observable.from([\n \"ArrowUp\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"KeyB\",\n \"KeyA\",\n \"Enter\" // no start key, clearly.\n]);\n\nvar keys = Rx.Observable.fromEvent(document, 'keyup')\n .map(e => e.code);\nvar matches = keys.bufferCount(11, 1)\n .mergeMap(\n   last11 =>\n     Rx.Observable.from(last11)\n       .sequenceEqual(code)\n  );\nmatches.subscribe(matched => console.log('Successful cheat at Contra? ', matched));"
    ],
    "see": [
      "{@link combineLatest}",
      "{@link zip}",
      "{@link withLatestFrom}"
    ],
    "lineNumber": 56,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "sequenceEqual"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "compareTo",
        "description": "the observable sequence to compare the source sequence to."
      },
      {
        "nullable": null,
        "types": [
          "function"
        ],
        "spread": false,
        "optional": true,
        "name": "comparor",
        "description": "An optional function to compare each value pair"
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "An Observable of a single boolean value representing whether or not\nthe values emitted by both observables were equal in sequence"
    },
    "generator": false
  },
  {
    "__docId__": 565,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SequenceEqualOperator",
    "memberof": "es6/operator/sequenceEqual.js",
    "longname": "es6/operator/sequenceEqual.js~SequenceEqualOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/sequenceEqual.js",
    "importStyle": "{SequenceEqualOperator}",
    "description": null,
    "lineNumber": 59,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 566,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SequenceEqualSubscriber",
    "memberof": "es6/operator/sequenceEqual.js",
    "longname": "es6/operator/sequenceEqual.js~SequenceEqualSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/sequenceEqual.js",
    "importStyle": "{SequenceEqualSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 74,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 567,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SequenceEqualCompareToSubscriber",
    "memberof": "es6/operator/sequenceEqual.js",
    "longname": "es6/operator/sequenceEqual.js~SequenceEqualCompareToSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/sequenceEqual.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 138,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 568,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/share.js",
    "memberof": null,
    "longname": "es6/operator/share.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { multicast } from './multicast';\nimport { Subject } from '../Subject';\nfunction shareSubjectFactory() {\n    return new Subject();\n}\n/**\n * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one\n * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will\n * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.\n * This is an alias for .publish().refCount().\n *\n * <img src=\"./img/share.png\" width=\"100%\">\n *\n * @return {Observable<T>} an Observable that upon connection causes the source Observable to emit items to its Observers\n * @method share\n * @owner Observable\n */\nexport function share() {\n    return multicast.call(this, shareSubjectFactory).refCount();\n}\n;\n//# sourceMappingURL=share.js.map"
  },
  {
    "__docId__": 569,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "shareSubjectFactory",
    "memberof": "es6/operator/share.js",
    "longname": "es6/operator/share.js~shareSubjectFactory",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/share.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 570,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "share",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/share.js~share",
    "access": null,
    "export": true,
    "description": "Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one\nSubscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will\nunsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.\nThis is an alias for .publish().refCount().\n\n<img src=\"./img/share.png\" width=\"100%\">",
    "lineNumber": 18,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "share"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "an Observable that upon connection causes the source Observable to emit items to its Observers"
    },
    "generator": false
  },
  {
    "__docId__": 571,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/single.js",
    "memberof": null,
    "longname": "es6/operator/single.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { EmptyError } from '../util/EmptyError';\n/**\n * Returns an Observable that emits the single item emitted by the source Observable that matches a specified\n * predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no\n * such items, notify of an IllegalArgumentException or NoSuchElementException respectively.\n *\n * <img src=\"./img/single.png\" width=\"100%\">\n *\n * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`\n * callback if the Observable completes before any `next` notification was sent.\n * @param {Function} a predicate function to evaluate items emitted by the source Observable.\n * @return {Observable<T>} an Observable that emits the single item emitted by the source Observable that matches\n * the predicate.\n .\n * @method single\n * @owner Observable\n */\nexport function single(predicate) {\n    return this.lift(new SingleOperator(predicate, this));\n}\nvar SingleOperator = (function () {\n    function SingleOperator(predicate, source) {\n        this.predicate = predicate;\n        this.source = source;\n    }\n    SingleOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));\n    };\n    return SingleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SingleSubscriber = (function (_super) {\n    __extends(SingleSubscriber, _super);\n    function SingleSubscriber(destination, predicate, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.source = source;\n        this.seenValue = false;\n        this.index = 0;\n    }\n    SingleSubscriber.prototype.applySingleValue = function (value) {\n        if (this.seenValue) {\n            this.destination.error('Sequence contains more than one element');\n        }\n        else {\n            this.seenValue = true;\n            this.singleValue = value;\n        }\n    };\n    SingleSubscriber.prototype._next = function (value) {\n        var predicate = this.predicate;\n        this.index++;\n        if (predicate) {\n            this.tryNext(value);\n        }\n        else {\n            this.applySingleValue(value);\n        }\n    };\n    SingleSubscriber.prototype.tryNext = function (value) {\n        try {\n            var result = this.predicate(value, this.index, this.source);\n            if (result) {\n                this.applySingleValue(value);\n            }\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    SingleSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        if (this.index > 0) {\n            destination.next(this.seenValue ? this.singleValue : undefined);\n            destination.complete();\n        }\n        else {\n            destination.error(new EmptyError);\n        }\n    };\n    return SingleSubscriber;\n}(Subscriber));\n//# sourceMappingURL=single.js.map"
  },
  {
    "__docId__": 572,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "single",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/single.js~single",
    "access": null,
    "export": true,
    "description": "Returns an Observable that emits the single item emitted by the source Observable that matches a specified\npredicate, if that Observable emits one such item. If the source Observable emits more than one such item or no\nsuch items, notify of an IllegalArgumentException or NoSuchElementException respectively.\n\n<img src=\"./img/single.png\" width=\"100%\">",
    "lineNumber": 19,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "single"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Function"
        ],
        "spread": false,
        "optional": false,
        "name": "a",
        "description": "predicate function to evaluate items emitted by the source Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "an Observable that emits the single item emitted by the source Observable that matches\nthe predicate.\n."
    },
    "throws": [
      {
        "types": [
          "EmptyError"
        ],
        "description": "Delivers an EmptyError to the Observer's `error`\ncallback if the Observable completes before any `next` notification was sent."
      }
    ],
    "generator": false
  },
  {
    "__docId__": 573,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SingleOperator",
    "memberof": "es6/operator/single.js",
    "longname": "es6/operator/single.js~SingleOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/single.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 22,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 574,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SingleSubscriber",
    "memberof": "es6/operator/single.js",
    "longname": "es6/operator/single.js~SingleSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/single.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 37,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 575,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/skip.js",
    "memberof": null,
    "longname": "es6/operator/skip.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Returns an Observable that skips `n` items emitted by an Observable.\n *\n * <img src=\"./img/skip.png\" width=\"100%\">\n *\n * @param {Number} the `n` of times, items emitted by source Observable should be skipped.\n * @return {Observable} an Observable that skips values emitted by the source Observable.\n *\n * @method skip\n * @owner Observable\n */\nexport function skip(total) {\n    return this.lift(new SkipOperator(total));\n}\nvar SkipOperator = (function () {\n    function SkipOperator(total) {\n        this.total = total;\n    }\n    SkipOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SkipSubscriber(subscriber, this.total));\n    };\n    return SkipOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipSubscriber = (function (_super) {\n    __extends(SkipSubscriber, _super);\n    function SkipSubscriber(destination, total) {\n        _super.call(this, destination);\n        this.total = total;\n        this.count = 0;\n    }\n    SkipSubscriber.prototype._next = function (x) {\n        if (++this.count > this.total) {\n            this.destination.next(x);\n        }\n    };\n    return SkipSubscriber;\n}(Subscriber));\n//# sourceMappingURL=skip.js.map"
  },
  {
    "__docId__": 576,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "skip",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/skip.js~skip",
    "access": null,
    "export": true,
    "description": "Returns an Observable that skips `n` items emitted by an Observable.\n\n<img src=\"./img/skip.png\" width=\"100%\">",
    "lineNumber": 13,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "skip"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Number"
        ],
        "spread": false,
        "optional": false,
        "name": "the",
        "description": "`n` of times, items emitted by source Observable should be skipped."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable"
      ],
      "spread": false,
      "description": "an Observable that skips values emitted by the source Observable."
    },
    "generator": false
  },
  {
    "__docId__": 577,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SkipOperator",
    "memberof": "es6/operator/skip.js",
    "longname": "es6/operator/skip.js~SkipOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/skip.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 16,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 578,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SkipSubscriber",
    "memberof": "es6/operator/skip.js",
    "longname": "es6/operator/skip.js~SkipSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/skip.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 30,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 579,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/skipUntil.js",
    "memberof": null,
    "longname": "es6/operator/skipUntil.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Returns an Observable that skips items emitted by the source Observable until a second Observable emits an item.\n *\n * <img src=\"./img/skipUntil.png\" width=\"100%\">\n *\n * @param {Observable} the second Observable that has to emit an item before the source Observable's elements begin to\n * be mirrored by the resulting Observable.\n * @return {Observable<T>} an Observable that skips items from the source Observable until the second Observable emits\n * an item, then emits the remaining items.\n * @method skipUntil\n * @owner Observable\n */\nexport function skipUntil(notifier) {\n    return this.lift(new SkipUntilOperator(notifier));\n}\nvar SkipUntilOperator = (function () {\n    function SkipUntilOperator(notifier) {\n        this.notifier = notifier;\n    }\n    SkipUntilOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SkipUntilSubscriber(subscriber, this.notifier));\n    };\n    return SkipUntilOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipUntilSubscriber = (function (_super) {\n    __extends(SkipUntilSubscriber, _super);\n    function SkipUntilSubscriber(destination, notifier) {\n        _super.call(this, destination);\n        this.hasValue = false;\n        this.isInnerStopped = false;\n        this.add(subscribeToResult(this, notifier));\n    }\n    SkipUntilSubscriber.prototype._next = function (value) {\n        if (this.hasValue) {\n            _super.prototype._next.call(this, value);\n        }\n    };\n    SkipUntilSubscriber.prototype._complete = function () {\n        if (this.isInnerStopped) {\n            _super.prototype._complete.call(this);\n        }\n        else {\n            this.unsubscribe();\n        }\n    };\n    SkipUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.hasValue = true;\n    };\n    SkipUntilSubscriber.prototype.notifyComplete = function () {\n        this.isInnerStopped = true;\n        if (this.isStopped) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    return SkipUntilSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=skipUntil.js.map"
  },
  {
    "__docId__": 580,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "skipUntil",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/skipUntil.js~skipUntil",
    "access": null,
    "export": true,
    "description": "Returns an Observable that skips items emitted by the source Observable until a second Observable emits an item.\n\n<img src=\"./img/skipUntil.png\" width=\"100%\">",
    "lineNumber": 15,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "skipUntil"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "the",
        "description": "second Observable that has to emit an item before the source Observable's elements begin to\nbe mirrored by the resulting Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "an Observable that skips items from the source Observable until the second Observable emits\nan item, then emits the remaining items."
    },
    "generator": false
  },
  {
    "__docId__": 581,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SkipUntilOperator",
    "memberof": "es6/operator/skipUntil.js",
    "longname": "es6/operator/skipUntil.js~SkipUntilOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/skipUntil.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 18,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 582,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SkipUntilSubscriber",
    "memberof": "es6/operator/skipUntil.js",
    "longname": "es6/operator/skipUntil.js~SkipUntilSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/skipUntil.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 32,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 583,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/skipWhile.js",
    "memberof": null,
    "longname": "es6/operator/skipWhile.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds\n * true, but emits all further source items as soon as the condition becomes false.\n *\n * <img src=\"./img/skipWhile.png\" width=\"100%\">\n *\n * @param {Function} predicate - a function to test each item emitted from the source Observable.\n * @return {Observable<T>} an Observable that begins emitting items emitted by the source Observable when the\n * specified predicate becomes false.\n * @method skipWhile\n * @owner Observable\n */\nexport function skipWhile(predicate) {\n    return this.lift(new SkipWhileOperator(predicate));\n}\nvar SkipWhileOperator = (function () {\n    function SkipWhileOperator(predicate) {\n        this.predicate = predicate;\n    }\n    SkipWhileOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SkipWhileSubscriber(subscriber, this.predicate));\n    };\n    return SkipWhileOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipWhileSubscriber = (function (_super) {\n    __extends(SkipWhileSubscriber, _super);\n    function SkipWhileSubscriber(destination, predicate) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.skipping = true;\n        this.index = 0;\n    }\n    SkipWhileSubscriber.prototype._next = function (value) {\n        var destination = this.destination;\n        if (this.skipping) {\n            this.tryCallPredicate(value);\n        }\n        if (!this.skipping) {\n            destination.next(value);\n        }\n    };\n    SkipWhileSubscriber.prototype.tryCallPredicate = function (value) {\n        try {\n            var result = this.predicate(value, this.index++);\n            this.skipping = Boolean(result);\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    return SkipWhileSubscriber;\n}(Subscriber));\n//# sourceMappingURL=skipWhile.js.map"
  },
  {
    "__docId__": 584,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "skipWhile",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/skipWhile.js~skipWhile",
    "access": null,
    "export": true,
    "description": "Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds\ntrue, but emits all further source items as soon as the condition becomes false.\n\n<img src=\"./img/skipWhile.png\" width=\"100%\">",
    "lineNumber": 14,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "skipWhile"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Function"
        ],
        "spread": false,
        "optional": false,
        "name": "predicate",
        "description": "a function to test each item emitted from the source Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "an Observable that begins emitting items emitted by the source Observable when the\nspecified predicate becomes false."
    },
    "generator": false
  },
  {
    "__docId__": 585,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SkipWhileOperator",
    "memberof": "es6/operator/skipWhile.js",
    "longname": "es6/operator/skipWhile.js~SkipWhileOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/skipWhile.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 17,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 586,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SkipWhileSubscriber",
    "memberof": "es6/operator/skipWhile.js",
    "longname": "es6/operator/skipWhile.js~SkipWhileSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/skipWhile.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 31,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 587,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/startWith.js",
    "memberof": null,
    "longname": "es6/operator/startWith.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ArrayObservable } from '../observable/ArrayObservable';\nimport { ScalarObservable } from '../observable/ScalarObservable';\nimport { EmptyObservable } from '../observable/EmptyObservable';\nimport { concatStatic } from './concat';\nimport { isScheduler } from '../util/isScheduler';\n/* tslint:disable:max-line-length */\nexport function startWith() {\n    var array = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        array[_i - 0] = arguments[_i];\n    }\n    var scheduler = array[array.length - 1];\n    if (isScheduler(scheduler)) {\n        array.pop();\n    }\n    else {\n        scheduler = null;\n    }\n    var len = array.length;\n    if (len === 1) {\n        return concatStatic(new ScalarObservable(array[0], scheduler), this);\n    }\n    else if (len > 1) {\n        return concatStatic(new ArrayObservable(array, scheduler), this);\n    }\n    else {\n        return concatStatic(new EmptyObservable(scheduler), this);\n    }\n}\n//# sourceMappingURL=startWith.js.map"
  },
  {
    "__docId__": 588,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "startWith",
    "memberof": "es6/operator/startWith.js",
    "longname": "es6/operator/startWith.js~startWith",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/startWith.js",
    "importStyle": "{startWith}",
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 589,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/subscribeOn.js",
    "memberof": null,
    "longname": "es6/operator/subscribeOn.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { SubscribeOnObservable } from '../observable/SubscribeOnObservable';\n/**\n * Asynchronously subscribes Observers to this Observable on the specified Scheduler.\n *\n * <img src=\"./img/subscribeOn.png\" width=\"100%\">\n *\n * @param {Scheduler} the Scheduler to perform subscription actions on.\n * @return {Observable<T>} the source Observable modified so that its subscriptions happen on the specified Scheduler\n .\n * @method subscribeOn\n * @owner Observable\n */\nexport function subscribeOn(scheduler, delay) {\n    if (delay === void 0) { delay = 0; }\n    return new SubscribeOnObservable(this, delay, scheduler);\n}\n//# sourceMappingURL=subscribeOn.js.map"
  },
  {
    "__docId__": 590,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "subscribeOn",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/subscribeOn.js~subscribeOn",
    "access": null,
    "export": true,
    "description": "Asynchronously subscribes Observers to this Observable on the specified Scheduler.\n\n<img src=\"./img/subscribeOn.png\" width=\"100%\">",
    "lineNumber": 13,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "subscribeOn"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": false,
        "name": "the",
        "description": "Scheduler to perform subscription actions on."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "the source Observable modified so that its subscriptions happen on the specified Scheduler\n."
    },
    "generator": false
  },
  {
    "__docId__": 591,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/switch.js",
    "memberof": null,
    "longname": "es6/operator/switch.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Converts a higher-order Observable into a first-order Observable by\n * subscribing to only the most recently emitted of those inner Observables.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables by dropping the\n * previous inner Observable once a new one appears.</span>\n *\n * <img src=\"./img/switch.png\" width=\"100%\">\n *\n * `switch` subscribes to an Observable that emits Observables, also known as a\n * higher-order Observable. Each time it observes one of these emitted inner\n * Observables, the output Observable subscribes to the inner Observable and\n * begins emitting the items emitted by that. So far, it behaves\n * like {@link mergeAll}. However, when a new inner Observable is emitted,\n * `switch` unsubscribes from the earlier-emitted inner Observable and\n * subscribes to the new inner Observable and begins emitting items from it. It\n * continues to behave like this for subsequent inner Observables.\n *\n * @example <caption>Rerun an interval Observable on every click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * // Each click event is mapped to an Observable that ticks every second\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\n * var switched = higherOrder.switch();\n * // The outcome is that `switched` is essentially a timer that restarts\n * // on every click. The interval Observables from older clicks do not merge\n * // with the current interval Observable.\n * switched.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link exhaust}\n * @see {@link mergeAll}\n * @see {@link switchMap}\n * @see {@link switchMapTo}\n * @see {@link zipAll}\n *\n * @return {Observable<T>} An Observable that emits the items emitted by the\n * Observable most recently emitted by the source Observable.\n * @method switch\n * @name switch\n * @owner Observable\n */\nexport function _switch() {\n    return this.lift(new SwitchOperator());\n}\nvar SwitchOperator = (function () {\n    function SwitchOperator() {\n    }\n    SwitchOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchSubscriber(subscriber));\n    };\n    return SwitchOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchSubscriber = (function (_super) {\n    __extends(SwitchSubscriber, _super);\n    function SwitchSubscriber(destination) {\n        _super.call(this, destination);\n        this.active = 0;\n        this.hasCompleted = false;\n    }\n    SwitchSubscriber.prototype._next = function (value) {\n        this.unsubscribeInner();\n        this.active++;\n        this.add(this.innerSubscription = subscribeToResult(this, value));\n    };\n    SwitchSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    SwitchSubscriber.prototype.unsubscribeInner = function () {\n        this.active = this.active > 0 ? this.active - 1 : 0;\n        var innerSubscription = this.innerSubscription;\n        if (innerSubscription) {\n            innerSubscription.unsubscribe();\n            this.remove(innerSubscription);\n        }\n    };\n    SwitchSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.destination.next(innerValue);\n    };\n    SwitchSubscriber.prototype.notifyError = function (err) {\n        this.destination.error(err);\n    };\n    SwitchSubscriber.prototype.notifyComplete = function () {\n        this.unsubscribeInner();\n        if (this.hasCompleted && this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    return SwitchSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=switch.js.map"
  },
  {
    "__docId__": 592,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "switch",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/switch.js~_switch",
    "access": null,
    "export": true,
    "description": "Converts a higher-order Observable into a first-order Observable by\nsubscribing to only the most recently emitted of those inner Observables.\n\n<span class=\"informal\">Flattens an Observable-of-Observables by dropping the\nprevious inner Observable once a new one appears.</span>\n\n<img src=\"./img/switch.png\" width=\"100%\">\n\n`switch` subscribes to an Observable that emits Observables, also known as a\nhigher-order Observable. Each time it observes one of these emitted inner\nObservables, the output Observable subscribes to the inner Observable and\nbegins emitting the items emitted by that. So far, it behaves\nlike {@link mergeAll}. However, when a new inner Observable is emitted,\n`switch` unsubscribes from the earlier-emitted inner Observable and\nsubscribes to the new inner Observable and begins emitting items from it. It\ncontinues to behave like this for subsequent inner Observables.",
    "examples": [
      "<caption>Rerun an interval Observable on every click event</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\n// Each click event is mapped to an Observable that ticks every second\nvar higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\nvar switched = higherOrder.switch();\n// The outcome is that `switched` is essentially a timer that restarts\n// on every click. The interval Observables from older clicks do not merge\n// with the current interval Observable.\nswitched.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link combineAll}",
      "{@link concatAll}",
      "{@link exhaust}",
      "{@link mergeAll}",
      "{@link switchMap}",
      "{@link switchMapTo}",
      "{@link zipAll}"
    ],
    "lineNumber": 45,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "switch"
      },
      {
        "tagName": "@name",
        "tagValue": "switch"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that emits the items emitted by the\nObservable most recently emitted by the source Observable."
    },
    "generator": false
  },
  {
    "__docId__": 593,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchOperator",
    "memberof": "es6/operator/switch.js",
    "longname": "es6/operator/switch.js~SwitchOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/switch.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 48,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 594,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchSubscriber",
    "memberof": "es6/operator/switch.js",
    "longname": "es6/operator/switch.js~SwitchSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/switch.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 61,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 595,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/switchMap.js",
    "memberof": null,
    "longname": "es6/operator/switchMap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/* tslint:disable:max-line-length */\nexport function switchMap(project, resultSelector) {\n    return this.lift(new SwitchMapOperator(project, resultSelector));\n}\nvar SwitchMapOperator = (function () {\n    function SwitchMapOperator(project, resultSelector) {\n        this.project = project;\n        this.resultSelector = resultSelector;\n    }\n    SwitchMapOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchMapSubscriber(subscriber, this.project, this.resultSelector));\n    };\n    return SwitchMapOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchMapSubscriber = (function (_super) {\n    __extends(SwitchMapSubscriber, _super);\n    function SwitchMapSubscriber(destination, project, resultSelector) {\n        _super.call(this, destination);\n        this.project = project;\n        this.resultSelector = resultSelector;\n        this.index = 0;\n    }\n    SwitchMapSubscriber.prototype._next = function (value) {\n        var result;\n        var index = this.index++;\n        try {\n            result = this.project(value, index);\n        }\n        catch (error) {\n            this.destination.error(error);\n            return;\n        }\n        this._innerSub(result, value, index);\n    };\n    SwitchMapSubscriber.prototype._innerSub = function (result, value, index) {\n        var innerSubscription = this.innerSubscription;\n        if (innerSubscription) {\n            innerSubscription.unsubscribe();\n        }\n        this.add(this.innerSubscription = subscribeToResult(this, result, value, index));\n    };\n    SwitchMapSubscriber.prototype._complete = function () {\n        var innerSubscription = this.innerSubscription;\n        if (!innerSubscription || innerSubscription.closed) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    SwitchMapSubscriber.prototype._unsubscribe = function () {\n        this.innerSubscription = null;\n    };\n    SwitchMapSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.remove(innerSub);\n        this.innerSubscription = null;\n        if (this.isStopped) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    SwitchMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        if (this.resultSelector) {\n            this._tryNotifyNext(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            this.destination.next(innerValue);\n        }\n    };\n    SwitchMapSubscriber.prototype._tryNotifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var result;\n        try {\n            result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return SwitchMapSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=switchMap.js.map"
  },
  {
    "__docId__": 596,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "switchMap",
    "memberof": "es6/operator/switchMap.js",
    "longname": "es6/operator/switchMap.js~switchMap",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/switchMap.js",
    "importStyle": "{switchMap}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [
      {
        "name": "project",
        "types": [
          "*"
        ]
      },
      {
        "name": "resultSelector",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 597,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchMapOperator",
    "memberof": "es6/operator/switchMap.js",
    "longname": "es6/operator/switchMap.js~SwitchMapOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/switchMap.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 598,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchMapSubscriber",
    "memberof": "es6/operator/switchMap.js",
    "longname": "es6/operator/switchMap.js~SwitchMapSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/switchMap.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 22,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 599,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/switchMapTo.js",
    "memberof": null,
    "longname": "es6/operator/switchMapTo.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/* tslint:disable:max-line-length */\nexport function switchMapTo(innerObservable, resultSelector) {\n    return this.lift(new SwitchMapToOperator(innerObservable, resultSelector));\n}\nvar SwitchMapToOperator = (function () {\n    function SwitchMapToOperator(observable, resultSelector) {\n        this.observable = observable;\n        this.resultSelector = resultSelector;\n    }\n    SwitchMapToOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchMapToSubscriber(subscriber, this.observable, this.resultSelector));\n    };\n    return SwitchMapToOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchMapToSubscriber = (function (_super) {\n    __extends(SwitchMapToSubscriber, _super);\n    function SwitchMapToSubscriber(destination, inner, resultSelector) {\n        _super.call(this, destination);\n        this.inner = inner;\n        this.resultSelector = resultSelector;\n        this.index = 0;\n    }\n    SwitchMapToSubscriber.prototype._next = function (value) {\n        var innerSubscription = this.innerSubscription;\n        if (innerSubscription) {\n            innerSubscription.unsubscribe();\n        }\n        this.add(this.innerSubscription = subscribeToResult(this, this.inner, value, this.index++));\n    };\n    SwitchMapToSubscriber.prototype._complete = function () {\n        var innerSubscription = this.innerSubscription;\n        if (!innerSubscription || innerSubscription.closed) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    SwitchMapToSubscriber.prototype._unsubscribe = function () {\n        this.innerSubscription = null;\n    };\n    SwitchMapToSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.remove(innerSub);\n        this.innerSubscription = null;\n        if (this.isStopped) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    SwitchMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        if (resultSelector) {\n            this.tryResultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            destination.next(innerValue);\n        }\n    };\n    SwitchMapToSubscriber.prototype.tryResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        var result;\n        try {\n            result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        catch (err) {\n            destination.error(err);\n            return;\n        }\n        destination.next(result);\n    };\n    return SwitchMapToSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=switchMapTo.js.map"
  },
  {
    "__docId__": 600,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "switchMapTo",
    "memberof": "es6/operator/switchMapTo.js",
    "longname": "es6/operator/switchMapTo.js~switchMapTo",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/switchMapTo.js",
    "importStyle": "{switchMapTo}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [
      {
        "name": "innerObservable",
        "types": [
          "*"
        ]
      },
      {
        "name": "resultSelector",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 601,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchMapToOperator",
    "memberof": "es6/operator/switchMapTo.js",
    "longname": "es6/operator/switchMapTo.js~SwitchMapToOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/switchMapTo.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 602,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SwitchMapToSubscriber",
    "memberof": "es6/operator/switchMapTo.js",
    "longname": "es6/operator/switchMapTo.js~SwitchMapToSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/switchMapTo.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 22,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 603,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/take.js",
    "memberof": null,
    "longname": "es6/operator/take.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { EmptyObservable } from '../observable/EmptyObservable';\n/**\n * Emits only the first `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Takes the first `count` values from the source, then\n * completes.</span>\n *\n * <img src=\"./img/take.png\" width=\"100%\">\n *\n * `take` returns an Observable that emits only the first `count` values emitted\n * by the source Observable. If the source emits fewer than `count` values then\n * all of its values are emitted. After that, it completes, regardless if the\n * source completes.\n *\n * @example <caption>Take the first 5 seconds of an infinite 1-second interval Observable</caption>\n * var interval = Rx.Observable.interval(1000);\n * var five = interval.take(5);\n * five.subscribe(x => console.log(x));\n *\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of `next` values to emit.\n * @return {Observable<T>} An Observable that emits only the first `count`\n * values emitted by the source Observable, or all of the values from the source\n * if the source emits fewer than `count` values.\n * @method take\n * @owner Observable\n */\nexport function take(count) {\n    if (count === 0) {\n        return new EmptyObservable();\n    }\n    else {\n        return this.lift(new TakeOperator(count));\n    }\n}\nvar TakeOperator = (function () {\n    function TakeOperator(total) {\n        this.total = total;\n        if (this.total < 0) {\n            throw new ArgumentOutOfRangeError;\n        }\n    }\n    TakeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TakeSubscriber(subscriber, this.total));\n    };\n    return TakeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeSubscriber = (function (_super) {\n    __extends(TakeSubscriber, _super);\n    function TakeSubscriber(destination, total) {\n        _super.call(this, destination);\n        this.total = total;\n        this.count = 0;\n    }\n    TakeSubscriber.prototype._next = function (value) {\n        var total = this.total;\n        var count = ++this.count;\n        if (count <= total) {\n            this.destination.next(value);\n            if (count === total) {\n                this.destination.complete();\n                this.unsubscribe();\n            }\n        }\n    };\n    return TakeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=take.js.map"
  },
  {
    "__docId__": 604,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "take",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/take.js~take",
    "access": null,
    "export": true,
    "description": "Emits only the first `count` values emitted by the source Observable.\n\n<span class=\"informal\">Takes the first `count` values from the source, then\ncompletes.</span>\n\n<img src=\"./img/take.png\" width=\"100%\">\n\n`take` returns an Observable that emits only the first `count` values emitted\nby the source Observable. If the source emits fewer than `count` values then\nall of its values are emitted. After that, it completes, regardless if the\nsource completes.",
    "examples": [
      "<caption>Take the first 5 seconds of an infinite 1-second interval Observable</caption>\nvar interval = Rx.Observable.interval(1000);\nvar five = interval.take(5);\nfive.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link takeLast}",
      "{@link takeUntil}",
      "{@link takeWhile}",
      "{@link skip}"
    ],
    "lineNumber": 37,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "take"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "count",
        "description": "The maximum number of `next` values to emit."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that emits only the first `count`\nvalues emitted by the source Observable, or all of the values from the source\nif the source emits fewer than `count` values."
    },
    "throws": [
      {
        "types": [
          "ArgumentOutOfRangeError"
        ],
        "description": "When using `take(i)`, it delivers an\nArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`."
      }
    ],
    "generator": false
  },
  {
    "__docId__": 605,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TakeOperator",
    "memberof": "es6/operator/take.js",
    "longname": "es6/operator/take.js~TakeOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/take.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 45,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 606,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TakeSubscriber",
    "memberof": "es6/operator/take.js",
    "longname": "es6/operator/take.js~TakeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/take.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 62,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 607,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/takeLast.js",
    "memberof": null,
    "longname": "es6/operator/takeLast.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { EmptyObservable } from '../observable/EmptyObservable';\n/**\n * Emits only the last `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Remembers the latest `count` values, then emits those\n * only when the source completes.</span>\n *\n * <img src=\"./img/takeLast.png\" width=\"100%\">\n *\n * `takeLast` returns an Observable that emits at most the last `count` values\n * emitted by the source Observable. If the source emits fewer than `count`\n * values then all of its values are emitted. This operator must wait until the\n * `complete` notification emission from the source in order to emit the `next`\n * values on the output Observable, because otherwise it is impossible to know\n * whether or not more values will be emitted on the source. For this reason,\n * all values are emitted synchronously, followed by the complete notification.\n *\n * @example <caption>Take the last 3 values of an Observable with many values</caption>\n * var many = Rx.Observable.range(1, 100);\n * var lastThree = many.takeLast(3);\n * lastThree.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of values to emit from the end of\n * the sequence of values emitted by the source Observable.\n * @return {Observable<T>} An Observable that emits at most the last count\n * values emitted by the source Observable.\n * @method takeLast\n * @owner Observable\n */\nexport function takeLast(count) {\n    if (count === 0) {\n        return new EmptyObservable();\n    }\n    else {\n        return this.lift(new TakeLastOperator(count));\n    }\n}\nvar TakeLastOperator = (function () {\n    function TakeLastOperator(total) {\n        this.total = total;\n        if (this.total < 0) {\n            throw new ArgumentOutOfRangeError;\n        }\n    }\n    TakeLastOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TakeLastSubscriber(subscriber, this.total));\n    };\n    return TakeLastOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeLastSubscriber = (function (_super) {\n    __extends(TakeLastSubscriber, _super);\n    function TakeLastSubscriber(destination, total) {\n        _super.call(this, destination);\n        this.total = total;\n        this.ring = new Array();\n        this.count = 0;\n    }\n    TakeLastSubscriber.prototype._next = function (value) {\n        var ring = this.ring;\n        var total = this.total;\n        var count = this.count++;\n        if (ring.length < total) {\n            ring.push(value);\n        }\n        else {\n            var index = count % total;\n            ring[index] = value;\n        }\n    };\n    TakeLastSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        var count = this.count;\n        if (count > 0) {\n            var total = this.count >= this.total ? this.total : this.count;\n            var ring = this.ring;\n            for (var i = 0; i < total; i++) {\n                var idx = (count++) % total;\n                destination.next(ring[idx]);\n            }\n        }\n        destination.complete();\n    };\n    return TakeLastSubscriber;\n}(Subscriber));\n//# sourceMappingURL=takeLast.js.map"
  },
  {
    "__docId__": 608,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "takeLast",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/takeLast.js~takeLast",
    "access": null,
    "export": true,
    "description": "Emits only the last `count` values emitted by the source Observable.\n\n<span class=\"informal\">Remembers the latest `count` values, then emits those\nonly when the source completes.</span>\n\n<img src=\"./img/takeLast.png\" width=\"100%\">\n\n`takeLast` returns an Observable that emits at most the last `count` values\nemitted by the source Observable. If the source emits fewer than `count`\nvalues then all of its values are emitted. This operator must wait until the\n`complete` notification emission from the source in order to emit the `next`\nvalues on the output Observable, because otherwise it is impossible to know\nwhether or not more values will be emitted on the source. For this reason,\nall values are emitted synchronously, followed by the complete notification.",
    "examples": [
      "<caption>Take the last 3 values of an Observable with many values</caption>\nvar many = Rx.Observable.range(1, 100);\nvar lastThree = many.takeLast(3);\nlastThree.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link take}",
      "{@link takeUntil}",
      "{@link takeWhile}",
      "{@link skip}"
    ],
    "lineNumber": 40,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "takeLast"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "count",
        "description": "The maximum number of values to emit from the end of\nthe sequence of values emitted by the source Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that emits at most the last count\nvalues emitted by the source Observable."
    },
    "throws": [
      {
        "types": [
          "ArgumentOutOfRangeError"
        ],
        "description": "When using `takeLast(i)`, it delivers an\nArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`."
      }
    ],
    "generator": false
  },
  {
    "__docId__": 609,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TakeLastOperator",
    "memberof": "es6/operator/takeLast.js",
    "longname": "es6/operator/takeLast.js~TakeLastOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/takeLast.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 48,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 610,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TakeLastSubscriber",
    "memberof": "es6/operator/takeLast.js",
    "longname": "es6/operator/takeLast.js~TakeLastSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/takeLast.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 65,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 611,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/takeUntil.js",
    "memberof": null,
    "longname": "es6/operator/takeUntil.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Emits the values emitted by the source Observable until a `notifier`\n * Observable emits a value.\n *\n * <span class=\"informal\">Lets values pass until a second Observable,\n * `notifier`, emits something. Then, it completes.</span>\n *\n * <img src=\"./img/takeUntil.png\" width=\"100%\">\n *\n * `takeUntil` subscribes and begins mirroring the source Observable. It also\n * monitors a second Observable, `notifier` that you provide. If the `notifier`\n * emits a value or a complete notification, the output Observable stops\n * mirroring the source Observable and completes.\n *\n * @example <caption>Tick every second until the first click happens</caption>\n * var interval = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = interval.takeUntil(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @param {Observable} notifier The Observable whose first emitted value will\n * cause the output Observable of `takeUntil` to stop emitting values from the\n * source Observable.\n * @return {Observable<T>} An Observable that emits the values from the source\n * Observable until such time as `notifier` emits its first value.\n * @method takeUntil\n * @owner Observable\n */\nexport function takeUntil(notifier) {\n    return this.lift(new TakeUntilOperator(notifier));\n}\nvar TakeUntilOperator = (function () {\n    function TakeUntilOperator(notifier) {\n        this.notifier = notifier;\n    }\n    TakeUntilOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TakeUntilSubscriber(subscriber, this.notifier));\n    };\n    return TakeUntilOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeUntilSubscriber = (function (_super) {\n    __extends(TakeUntilSubscriber, _super);\n    function TakeUntilSubscriber(destination, notifier) {\n        _super.call(this, destination);\n        this.notifier = notifier;\n        this.add(subscribeToResult(this, notifier));\n    }\n    TakeUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.complete();\n    };\n    TakeUntilSubscriber.prototype.notifyComplete = function () {\n        // noop\n    };\n    return TakeUntilSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map"
  },
  {
    "__docId__": 612,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "takeUntil",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/takeUntil.js~takeUntil",
    "access": null,
    "export": true,
    "description": "Emits the values emitted by the source Observable until a `notifier`\nObservable emits a value.\n\n<span class=\"informal\">Lets values pass until a second Observable,\n`notifier`, emits something. Then, it completes.</span>\n\n<img src=\"./img/takeUntil.png\" width=\"100%\">\n\n`takeUntil` subscribes and begins mirroring the source Observable. It also\nmonitors a second Observable, `notifier` that you provide. If the `notifier`\nemits a value or a complete notification, the output Observable stops\nmirroring the source Observable and completes.",
    "examples": [
      "<caption>Tick every second until the first click happens</caption>\nvar interval = Rx.Observable.interval(1000);\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = interval.takeUntil(clicks);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link take}",
      "{@link takeLast}",
      "{@link takeWhile}",
      "{@link skip}"
    ],
    "lineNumber": 36,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "takeUntil"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "notifier",
        "description": "The Observable whose first emitted value will\ncause the output Observable of `takeUntil` to stop emitting values from the\nsource Observable."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that emits the values from the source\nObservable until such time as `notifier` emits its first value."
    },
    "generator": false
  },
  {
    "__docId__": 613,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TakeUntilOperator",
    "memberof": "es6/operator/takeUntil.js",
    "longname": "es6/operator/takeUntil.js~TakeUntilOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/takeUntil.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 39,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 614,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TakeUntilSubscriber",
    "memberof": "es6/operator/takeUntil.js",
    "longname": "es6/operator/takeUntil.js~TakeUntilSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/takeUntil.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 53,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 615,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/takeWhile.js",
    "memberof": null,
    "longname": "es6/operator/takeWhile.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * Emits values emitted by the source Observable so long as each value satisfies\n * the given `predicate`, and then completes as soon as this `predicate` is not\n * satisfied.\n *\n * <span class=\"informal\">Takes values from the source only while they pass the\n * condition given. When the first value does not satisfy, it completes.</span>\n *\n * <img src=\"./img/takeWhile.png\" width=\"100%\">\n *\n * `takeWhile` subscribes and begins mirroring the source Observable. Each value\n * emitted on the source is given to the `predicate` function which returns a\n * boolean, representing a condition to be satisfied by the source values. The\n * output Observable emits the source values until such time as the `predicate`\n * returns false, at which point `takeWhile` stops mirroring the source\n * Observable and completes the output Observable.\n *\n * @example <caption>Emit click events only while the clientX property is greater than 200</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.takeWhile(ev => ev.clientX > 200);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates a value emitted by the source Observable and returns a boolean.\n * Also takes the (zero-based) index as the second argument.\n * @return {Observable<T>} An Observable that emits the values from the source\n * Observable so long as each value satisfies the condition defined by the\n * `predicate`, then completes.\n * @method takeWhile\n * @owner Observable\n */\nexport function takeWhile(predicate) {\n    return this.lift(new TakeWhileOperator(predicate));\n}\nvar TakeWhileOperator = (function () {\n    function TakeWhileOperator(predicate) {\n        this.predicate = predicate;\n    }\n    TakeWhileOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TakeWhileSubscriber(subscriber, this.predicate));\n    };\n    return TakeWhileOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeWhileSubscriber = (function (_super) {\n    __extends(TakeWhileSubscriber, _super);\n    function TakeWhileSubscriber(destination, predicate) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.index = 0;\n    }\n    TakeWhileSubscriber.prototype._next = function (value) {\n        var destination = this.destination;\n        var result;\n        try {\n            result = this.predicate(value, this.index++);\n        }\n        catch (err) {\n            destination.error(err);\n            return;\n        }\n        this.nextOrComplete(value, result);\n    };\n    TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n        var destination = this.destination;\n        if (Boolean(predicateResult)) {\n            destination.next(value);\n        }\n        else {\n            destination.complete();\n        }\n    };\n    return TakeWhileSubscriber;\n}(Subscriber));\n//# sourceMappingURL=takeWhile.js.map"
  },
  {
    "__docId__": 616,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "takeWhile",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/takeWhile.js~takeWhile",
    "access": null,
    "export": true,
    "description": "Emits values emitted by the source Observable so long as each value satisfies\nthe given `predicate`, and then completes as soon as this `predicate` is not\nsatisfied.\n\n<span class=\"informal\">Takes values from the source only while they pass the\ncondition given. When the first value does not satisfy, it completes.</span>\n\n<img src=\"./img/takeWhile.png\" width=\"100%\">\n\n`takeWhile` subscribes and begins mirroring the source Observable. Each value\nemitted on the source is given to the `predicate` function which returns a\nboolean, representing a condition to be satisfied by the source values. The\noutput Observable emits the source values until such time as the `predicate`\nreturns false, at which point `takeWhile` stops mirroring the source\nObservable and completes the output Observable.",
    "examples": [
      "<caption>Emit click events only while the clientX property is greater than 200</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.takeWhile(ev => ev.clientX > 200);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link take}",
      "{@link takeLast}",
      "{@link takeUntil}",
      "{@link skip}"
    ],
    "lineNumber": 38,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "takeWhile"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(value: T, index: number): boolean"
        ],
        "spread": false,
        "optional": false,
        "name": "predicate",
        "description": "A function that\nevaluates a value emitted by the source Observable and returns a boolean.\nAlso takes the (zero-based) index as the second argument."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that emits the values from the source\nObservable so long as each value satisfies the condition defined by the\n`predicate`, then completes."
    },
    "generator": false
  },
  {
    "__docId__": 617,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TakeWhileOperator",
    "memberof": "es6/operator/takeWhile.js",
    "longname": "es6/operator/takeWhile.js~TakeWhileOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/takeWhile.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 41,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 618,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TakeWhileSubscriber",
    "memberof": "es6/operator/takeWhile.js",
    "longname": "es6/operator/takeWhile.js~TakeWhileSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/takeWhile.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 55,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 619,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/throttle.js",
    "memberof": null,
    "longname": "es6/operator/throttle.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for a duration determined by another Observable, then repeats this\n * process.\n *\n * <span class=\"informal\">It's like {@link throttleTime}, but the silencing\n * duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/throttle.png\" width=\"100%\">\n *\n * `throttle` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled by calling the `durationSelector` function with the source value,\n * which returns the \"duration\" Observable. When the duration Observable emits a\n * value or completes, the timer is disabled, and this process repeats for the\n * next source value.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttle\n * @owner Observable\n */\nexport function throttle(durationSelector) {\n    return this.lift(new ThrottleOperator(durationSelector));\n}\nvar ThrottleOperator = (function () {\n    function ThrottleOperator(durationSelector) {\n        this.durationSelector = durationSelector;\n    }\n    ThrottleOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ThrottleSubscriber(subscriber, this.durationSelector));\n    };\n    return ThrottleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ThrottleSubscriber = (function (_super) {\n    __extends(ThrottleSubscriber, _super);\n    function ThrottleSubscriber(destination, durationSelector) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.durationSelector = durationSelector;\n    }\n    ThrottleSubscriber.prototype._next = function (value) {\n        if (!this.throttled) {\n            this.tryDurationSelector(value);\n        }\n    };\n    ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\n        var duration = null;\n        try {\n            duration = this.durationSelector(value);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.emitAndThrottle(value, duration);\n    };\n    ThrottleSubscriber.prototype.emitAndThrottle = function (value, duration) {\n        this.add(this.throttled = subscribeToResult(this, duration));\n        this.destination.next(value);\n    };\n    ThrottleSubscriber.prototype._unsubscribe = function () {\n        var throttled = this.throttled;\n        if (throttled) {\n            this.remove(throttled);\n            this.throttled = null;\n            throttled.unsubscribe();\n        }\n    };\n    ThrottleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this._unsubscribe();\n    };\n    ThrottleSubscriber.prototype.notifyComplete = function () {\n        this._unsubscribe();\n    };\n    return ThrottleSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=throttle.js.map"
  },
  {
    "__docId__": 620,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "throttle",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/throttle.js~throttle",
    "access": null,
    "export": true,
    "description": "Emits a value from the source Observable, then ignores subsequent source\nvalues for a duration determined by another Observable, then repeats this\nprocess.\n\n<span class=\"informal\">It's like {@link throttleTime}, but the silencing\nduration is determined by a second Observable.</span>\n\n<img src=\"./img/throttle.png\" width=\"100%\">\n\n`throttle` emits the source Observable values on the output Observable\nwhen its internal timer is disabled, and ignores source values when the timer\nis enabled. Initially, the timer is disabled. As soon as the first source\nvalue arrives, it is forwarded to the output Observable, and then the timer\nis enabled by calling the `durationSelector` function with the source value,\nwhich returns the \"duration\" Observable. When the duration Observable emits a\nvalue or completes, the timer is disabled, and this process repeats for the\nnext source value.",
    "examples": [
      "<caption>Emit clicks at a rate of at most one click per second</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.throttle(ev => Rx.Observable.interval(1000));\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link audit}",
      "{@link debounce}",
      "{@link delayWhen}",
      "{@link sample}",
      "{@link throttleTime}"
    ],
    "lineNumber": 41,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "throttle"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(value: T): Observable",
          "Promise"
        ],
        "spread": false,
        "optional": false,
        "name": "durationSelector",
        "description": "A function\nthat receives a value from the source Observable, for computing the silencing\nduration for each source value, returned as an Observable or a Promise."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that performs the throttle operation to\nlimit the rate of emissions from the source."
    },
    "generator": false
  },
  {
    "__docId__": 621,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ThrottleOperator",
    "memberof": "es6/operator/throttle.js",
    "longname": "es6/operator/throttle.js~ThrottleOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/throttle.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 44,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 622,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ThrottleSubscriber",
    "memberof": "es6/operator/throttle.js",
    "longname": "es6/operator/throttle.js~ThrottleSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/throttle.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 58,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 623,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/throttleTime.js",
    "memberof": null,
    "longname": "es6/operator/throttleTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for `duration` milliseconds, then repeats this process.\n *\n * <span class=\"informal\">Lets a value pass, then ignores source values for the\n * next `duration` milliseconds.</span>\n *\n * <img src=\"./img/throttleTime.png\" width=\"100%\">\n *\n * `throttleTime` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled. After `duration` milliseconds (or the time unit determined\n * internally by the optional `scheduler`) has passed, the timer is disabled,\n * and this process repeats for the next source value. Optionally takes a\n * {@link Scheduler} for managing timers.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {number} duration Time to wait before emitting another value after\n * emitting the last value, measured in milliseconds or the time unit determined\n * internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\n * managing the timers that handle the sampling.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttleTime\n * @owner Observable\n */\nexport function throttleTime(duration, scheduler) {\n    if (scheduler === void 0) { scheduler = async; }\n    return this.lift(new ThrottleTimeOperator(duration, scheduler));\n}\nvar ThrottleTimeOperator = (function () {\n    function ThrottleTimeOperator(duration, scheduler) {\n        this.duration = duration;\n        this.scheduler = scheduler;\n    }\n    ThrottleTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler));\n    };\n    return ThrottleTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ThrottleTimeSubscriber = (function (_super) {\n    __extends(ThrottleTimeSubscriber, _super);\n    function ThrottleTimeSubscriber(destination, duration, scheduler) {\n        _super.call(this, destination);\n        this.duration = duration;\n        this.scheduler = scheduler;\n    }\n    ThrottleTimeSubscriber.prototype._next = function (value) {\n        if (!this.throttled) {\n            this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n            this.destination.next(value);\n        }\n    };\n    ThrottleTimeSubscriber.prototype.clearThrottle = function () {\n        var throttled = this.throttled;\n        if (throttled) {\n            throttled.unsubscribe();\n            this.remove(throttled);\n            this.throttled = null;\n        }\n    };\n    return ThrottleTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(arg) {\n    var subscriber = arg.subscriber;\n    subscriber.clearThrottle();\n}\n//# sourceMappingURL=throttleTime.js.map"
  },
  {
    "__docId__": 624,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "throttleTime",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/throttleTime.js~throttleTime",
    "access": null,
    "export": true,
    "description": "Emits a value from the source Observable, then ignores subsequent source\nvalues for `duration` milliseconds, then repeats this process.\n\n<span class=\"informal\">Lets a value pass, then ignores source values for the\nnext `duration` milliseconds.</span>\n\n<img src=\"./img/throttleTime.png\" width=\"100%\">\n\n`throttleTime` emits the source Observable values on the output Observable\nwhen its internal timer is disabled, and ignores source values when the timer\nis enabled. Initially, the timer is disabled. As soon as the first source\nvalue arrives, it is forwarded to the output Observable, and then the timer\nis enabled. After `duration` milliseconds (or the time unit determined\ninternally by the optional `scheduler`) has passed, the timer is disabled,\nand this process repeats for the next source value. Optionally takes a\n{@link Scheduler} for managing timers.",
    "examples": [
      "<caption>Emit clicks at a rate of at most one click per second</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.throttleTime(1000);\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link auditTime}",
      "{@link debounceTime}",
      "{@link delay}",
      "{@link sampleTime}",
      "{@link throttle}"
    ],
    "lineNumber": 42,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "throttleTime"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "duration",
        "description": "Time to wait before emitting another value after\nemitting the last value, measured in milliseconds or the time unit determined\ninternally by the optional `scheduler`."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "async",
        "defaultRaw": "async",
        "name": "scheduler",
        "description": "The {@link Scheduler} to use for\nmanaging the timers that handle the sampling."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<T>"
      ],
      "spread": false,
      "description": "An Observable that performs the throttle operation to\nlimit the rate of emissions from the source."
    },
    "generator": false
  },
  {
    "__docId__": 625,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ThrottleTimeOperator",
    "memberof": "es6/operator/throttleTime.js",
    "longname": "es6/operator/throttleTime.js~ThrottleTimeOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/throttleTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 46,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 626,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ThrottleTimeSubscriber",
    "memberof": "es6/operator/throttleTime.js",
    "longname": "es6/operator/throttleTime.js~ThrottleTimeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/throttleTime.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 61,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 627,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchNext",
    "memberof": "es6/operator/throttleTime.js",
    "longname": "es6/operator/throttleTime.js~dispatchNext",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/throttleTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 84,
    "undocument": true,
    "params": [
      {
        "name": "arg",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 628,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/timeInterval.js",
    "memberof": null,
    "longname": "es6/operator/timeInterval.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\n/**\n * @param scheduler\n * @return {Observable<TimeInterval<any>>|WebSocketSubject<T>|Observable<T>}\n * @method timeInterval\n * @owner Observable\n */\nexport function timeInterval(scheduler) {\n    if (scheduler === void 0) { scheduler = async; }\n    return this.lift(new TimeIntervalOperator(scheduler));\n}\nexport var TimeInterval = (function () {\n    function TimeInterval(value, interval) {\n        this.value = value;\n        this.interval = interval;\n    }\n    return TimeInterval;\n}());\n;\nvar TimeIntervalOperator = (function () {\n    function TimeIntervalOperator(scheduler) {\n        this.scheduler = scheduler;\n    }\n    TimeIntervalOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new TimeIntervalSubscriber(observer, this.scheduler));\n    };\n    return TimeIntervalOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeIntervalSubscriber = (function (_super) {\n    __extends(TimeIntervalSubscriber, _super);\n    function TimeIntervalSubscriber(destination, scheduler) {\n        _super.call(this, destination);\n        this.scheduler = scheduler;\n        this.lastTime = 0;\n        this.lastTime = scheduler.now();\n    }\n    TimeIntervalSubscriber.prototype._next = function (value) {\n        var now = this.scheduler.now();\n        var span = now - this.lastTime;\n        this.lastTime = now;\n        this.destination.next(new TimeInterval(value, span));\n    };\n    return TimeIntervalSubscriber;\n}(Subscriber));\n//# sourceMappingURL=timeInterval.js.map"
  },
  {
    "__docId__": 629,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "timeInterval",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/timeInterval.js~timeInterval",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "timeInterval"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "scheduler",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<TimeInterval<any>>",
        "WebSocketSubject<T>",
        "Observable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 630,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimeInterval",
    "memberof": "es6/operator/timeInterval.js",
    "longname": "es6/operator/timeInterval.js~TimeInterval",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/timeInterval.js",
    "importStyle": "{TimeInterval}",
    "description": null,
    "lineNumber": 13,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 631,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimeIntervalOperator",
    "memberof": "es6/operator/timeInterval.js",
    "longname": "es6/operator/timeInterval.js~TimeIntervalOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/timeInterval.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 21,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 632,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimeIntervalSubscriber",
    "memberof": "es6/operator/timeInterval.js",
    "longname": "es6/operator/timeInterval.js~TimeIntervalSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/timeInterval.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 35,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 633,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/timeout.js",
    "memberof": null,
    "longname": "es6/operator/timeout.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { TimeoutError } from '../util/TimeoutError';\n/**\n * @param due\n * @param errorToSend\n * @param scheduler\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method timeout\n * @owner Observable\n */\nexport function timeout(due, errorToSend, scheduler) {\n    if (errorToSend === void 0) { errorToSend = null; }\n    if (scheduler === void 0) { scheduler = async; }\n    var absoluteTimeout = isDate(due);\n    var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n    return this.lift(new TimeoutOperator(waitFor, absoluteTimeout, errorToSend, scheduler));\n}\nvar TimeoutOperator = (function () {\n    function TimeoutOperator(waitFor, absoluteTimeout, errorToSend, scheduler) {\n        this.waitFor = waitFor;\n        this.absoluteTimeout = absoluteTimeout;\n        this.errorToSend = errorToSend;\n        this.scheduler = scheduler;\n    }\n    TimeoutOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TimeoutSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.errorToSend, this.scheduler));\n    };\n    return TimeoutOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeoutSubscriber = (function (_super) {\n    __extends(TimeoutSubscriber, _super);\n    function TimeoutSubscriber(destination, absoluteTimeout, waitFor, errorToSend, scheduler) {\n        _super.call(this, destination);\n        this.absoluteTimeout = absoluteTimeout;\n        this.waitFor = waitFor;\n        this.errorToSend = errorToSend;\n        this.scheduler = scheduler;\n        this.index = 0;\n        this._previousIndex = 0;\n        this._hasCompleted = false;\n        this.scheduleTimeout();\n    }\n    Object.defineProperty(TimeoutSubscriber.prototype, \"previousIndex\", {\n        get: function () {\n            return this._previousIndex;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(TimeoutSubscriber.prototype, \"hasCompleted\", {\n        get: function () {\n            return this._hasCompleted;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    TimeoutSubscriber.dispatchTimeout = function (state) {\n        var source = state.subscriber;\n        var currentIndex = state.index;\n        if (!source.hasCompleted && source.previousIndex === currentIndex) {\n            source.notifyTimeout();\n        }\n    };\n    TimeoutSubscriber.prototype.scheduleTimeout = function () {\n        var currentIndex = this.index;\n        this.scheduler.schedule(TimeoutSubscriber.dispatchTimeout, this.waitFor, { subscriber: this, index: currentIndex });\n        this.index++;\n        this._previousIndex = currentIndex;\n    };\n    TimeoutSubscriber.prototype._next = function (value) {\n        this.destination.next(value);\n        if (!this.absoluteTimeout) {\n            this.scheduleTimeout();\n        }\n    };\n    TimeoutSubscriber.prototype._error = function (err) {\n        this.destination.error(err);\n        this._hasCompleted = true;\n    };\n    TimeoutSubscriber.prototype._complete = function () {\n        this.destination.complete();\n        this._hasCompleted = true;\n    };\n    TimeoutSubscriber.prototype.notifyTimeout = function () {\n        this.error(this.errorToSend || new TimeoutError());\n    };\n    return TimeoutSubscriber;\n}(Subscriber));\n//# sourceMappingURL=timeout.js.map"
  },
  {
    "__docId__": 634,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "timeout",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/timeout.js~timeout",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 13,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "timeout"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "due",
        "description": ""
      },
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "errorToSend",
        "description": ""
      },
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "scheduler",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<R>",
        "WebSocketSubject<T>",
        "Observable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 635,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimeoutOperator",
    "memberof": "es6/operator/timeout.js",
    "longname": "es6/operator/timeout.js~TimeoutOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/timeout.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 20,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 636,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimeoutSubscriber",
    "memberof": "es6/operator/timeout.js",
    "longname": "es6/operator/timeout.js~TimeoutSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/timeout.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 37,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 637,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/timeoutWith.js",
    "memberof": null,
    "longname": "es6/operator/timeoutWith.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/* tslint:disable:max-line-length */\nexport function timeoutWith(due, withObservable, scheduler) {\n    if (scheduler === void 0) { scheduler = async; }\n    var absoluteTimeout = isDate(due);\n    var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n    return this.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));\n}\nvar TimeoutWithOperator = (function () {\n    function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {\n        this.waitFor = waitFor;\n        this.absoluteTimeout = absoluteTimeout;\n        this.withObservable = withObservable;\n        this.scheduler = scheduler;\n    }\n    TimeoutWithOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));\n    };\n    return TimeoutWithOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeoutWithSubscriber = (function (_super) {\n    __extends(TimeoutWithSubscriber, _super);\n    function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {\n        _super.call(this);\n        this.destination = destination;\n        this.absoluteTimeout = absoluteTimeout;\n        this.waitFor = waitFor;\n        this.withObservable = withObservable;\n        this.scheduler = scheduler;\n        this.timeoutSubscription = undefined;\n        this.index = 0;\n        this._previousIndex = 0;\n        this._hasCompleted = false;\n        destination.add(this);\n        this.scheduleTimeout();\n    }\n    Object.defineProperty(TimeoutWithSubscriber.prototype, \"previousIndex\", {\n        get: function () {\n            return this._previousIndex;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(TimeoutWithSubscriber.prototype, \"hasCompleted\", {\n        get: function () {\n            return this._hasCompleted;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    TimeoutWithSubscriber.dispatchTimeout = function (state) {\n        var source = state.subscriber;\n        var currentIndex = state.index;\n        if (!source.hasCompleted && source.previousIndex === currentIndex) {\n            source.handleTimeout();\n        }\n    };\n    TimeoutWithSubscriber.prototype.scheduleTimeout = function () {\n        var currentIndex = this.index;\n        var timeoutState = { subscriber: this, index: currentIndex };\n        this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, timeoutState);\n        this.index++;\n        this._previousIndex = currentIndex;\n    };\n    TimeoutWithSubscriber.prototype._next = function (value) {\n        this.destination.next(value);\n        if (!this.absoluteTimeout) {\n            this.scheduleTimeout();\n        }\n    };\n    TimeoutWithSubscriber.prototype._error = function (err) {\n        this.destination.error(err);\n        this._hasCompleted = true;\n    };\n    TimeoutWithSubscriber.prototype._complete = function () {\n        this.destination.complete();\n        this._hasCompleted = true;\n    };\n    TimeoutWithSubscriber.prototype.handleTimeout = function () {\n        if (!this.closed) {\n            var withObservable = this.withObservable;\n            this.unsubscribe();\n            this.destination.add(this.timeoutSubscription = subscribeToResult(this, withObservable));\n        }\n    };\n    return TimeoutWithSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=timeoutWith.js.map"
  },
  {
    "__docId__": 638,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "timeoutWith",
    "memberof": "es6/operator/timeoutWith.js",
    "longname": "es6/operator/timeoutWith.js~timeoutWith",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/timeoutWith.js",
    "importStyle": "{timeoutWith}",
    "description": null,
    "lineNumber": 6,
    "undocument": true,
    "params": [
      {
        "name": "due",
        "types": [
          "*"
        ]
      },
      {
        "name": "withObservable",
        "types": [
          "*"
        ]
      },
      {
        "name": "scheduler",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 639,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimeoutWithOperator",
    "memberof": "es6/operator/timeoutWith.js",
    "longname": "es6/operator/timeoutWith.js~TimeoutWithOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/timeoutWith.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 12,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 640,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimeoutWithSubscriber",
    "memberof": "es6/operator/timeoutWith.js",
    "longname": "es6/operator/timeoutWith.js~TimeoutWithSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/timeoutWith.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 29,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 641,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/timestamp.js",
    "memberof": null,
    "longname": "es6/operator/timestamp.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\n/**\n * @param scheduler\n * @return {Observable<Timestamp<any>>|WebSocketSubject<T>|Observable<T>}\n * @method timestamp\n * @owner Observable\n */\nexport function timestamp(scheduler) {\n    if (scheduler === void 0) { scheduler = async; }\n    return this.lift(new TimestampOperator(scheduler));\n}\nexport var Timestamp = (function () {\n    function Timestamp(value, timestamp) {\n        this.value = value;\n        this.timestamp = timestamp;\n    }\n    return Timestamp;\n}());\n;\nvar TimestampOperator = (function () {\n    function TimestampOperator(scheduler) {\n        this.scheduler = scheduler;\n    }\n    TimestampOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new TimestampSubscriber(observer, this.scheduler));\n    };\n    return TimestampOperator;\n}());\nvar TimestampSubscriber = (function (_super) {\n    __extends(TimestampSubscriber, _super);\n    function TimestampSubscriber(destination, scheduler) {\n        _super.call(this, destination);\n        this.scheduler = scheduler;\n    }\n    TimestampSubscriber.prototype._next = function (value) {\n        var now = this.scheduler.now();\n        this.destination.next(new Timestamp(value, now));\n    };\n    return TimestampSubscriber;\n}(Subscriber));\n//# sourceMappingURL=timestamp.js.map"
  },
  {
    "__docId__": 642,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "timestamp",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/timestamp.js~timestamp",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "timestamp"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "scheduler",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<Timestamp<any>>",
        "WebSocketSubject<T>",
        "Observable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 643,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Timestamp",
    "memberof": "es6/operator/timestamp.js",
    "longname": "es6/operator/timestamp.js~Timestamp",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/timestamp.js",
    "importStyle": "{Timestamp}",
    "description": null,
    "lineNumber": 13,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 644,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimestampOperator",
    "memberof": "es6/operator/timestamp.js",
    "longname": "es6/operator/timestamp.js~TimestampOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/timestamp.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 21,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 645,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimestampSubscriber",
    "memberof": "es6/operator/timestamp.js",
    "longname": "es6/operator/timestamp.js~TimestampSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/timestamp.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 30,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 646,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/toArray.js",
    "memberof": null,
    "longname": "es6/operator/toArray.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\n/**\n * @return {Observable<any[]>|WebSocketSubject<T>|Observable<T>}\n * @method toArray\n * @owner Observable\n */\nexport function toArray() {\n    return this.lift(new ToArrayOperator());\n}\nvar ToArrayOperator = (function () {\n    function ToArrayOperator() {\n    }\n    ToArrayOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ToArraySubscriber(subscriber));\n    };\n    return ToArrayOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ToArraySubscriber = (function (_super) {\n    __extends(ToArraySubscriber, _super);\n    function ToArraySubscriber(destination) {\n        _super.call(this, destination);\n        this.array = [];\n    }\n    ToArraySubscriber.prototype._next = function (x) {\n        this.array.push(x);\n    };\n    ToArraySubscriber.prototype._complete = function () {\n        this.destination.next(this.array);\n        this.destination.complete();\n    };\n    return ToArraySubscriber;\n}(Subscriber));\n//# sourceMappingURL=toArray.js.map"
  },
  {
    "__docId__": 647,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "toArray",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/toArray.js~toArray",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "toArray"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [],
    "return": {
      "nullable": null,
      "types": [
        "Observable<any[]>",
        "WebSocketSubject<T>",
        "Observable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 648,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ToArrayOperator",
    "memberof": "es6/operator/toArray.js",
    "longname": "es6/operator/toArray.js~ToArrayOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/toArray.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 10,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 649,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ToArraySubscriber",
    "memberof": "es6/operator/toArray.js",
    "longname": "es6/operator/toArray.js~ToArraySubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/toArray.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 23,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 650,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/toPromise.js",
    "memberof": null,
    "longname": "es6/operator/toPromise.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from '../util/root';\n/* tslint:disable:max-line-length */\nexport function toPromise(PromiseCtor) {\n    var _this = this;\n    if (!PromiseCtor) {\n        if (root.Rx && root.Rx.config && root.Rx.config.Promise) {\n            PromiseCtor = root.Rx.config.Promise;\n        }\n        else if (root.Promise) {\n            PromiseCtor = root.Promise;\n        }\n    }\n    if (!PromiseCtor) {\n        throw new Error('no Promise impl found');\n    }\n    return new PromiseCtor(function (resolve, reject) {\n        var value;\n        _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n    });\n}\n//# sourceMappingURL=toPromise.js.map"
  },
  {
    "__docId__": 651,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "toPromise",
    "memberof": "es6/operator/toPromise.js",
    "longname": "es6/operator/toPromise.js~toPromise",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/toPromise.js",
    "importStyle": "{toPromise}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [
      {
        "name": "PromiseCtor",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 652,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/window.js",
    "memberof": null,
    "longname": "es6/operator/window.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from '../Subject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Branch out the source Observable values as a nested Observable whenever\n * `windowBoundaries` emits.\n *\n * <span class=\"informal\">It's like {@link buffer}, but emits a nested Observable\n * instead of an array.</span>\n *\n * <img src=\"./img/window.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits connected, non-overlapping\n * windows. It emits the current window and opens a new one whenever the\n * Observable `windowBoundaries` emits an item. Because each window is an\n * Observable, the output is a higher-order Observable.\n *\n * @example <caption>In every window of 1 second each, emit at most 2 click events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var result = clicks.window(interval)\n *   .map(win => win.take(2)) // each window has at most 2 emissions\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link buffer}\n *\n * @param {Observable<any>} windowBoundaries An Observable that completes the\n * previous window and starts a new window.\n * @return {Observable<Observable<T>>} An Observable of windows, which are\n * Observables emitting values of the source Observable.\n * @method window\n * @owner Observable\n */\nexport function window(windowBoundaries) {\n    return this.lift(new WindowOperator(windowBoundaries));\n}\nvar WindowOperator = (function () {\n    function WindowOperator(windowBoundaries) {\n        this.windowBoundaries = windowBoundaries;\n    }\n    WindowOperator.prototype.call = function (subscriber, source) {\n        var windowSubscriber = new WindowSubscriber(subscriber);\n        var sourceSubscription = source._subscribe(windowSubscriber);\n        if (!sourceSubscription.closed) {\n            windowSubscriber.add(subscribeToResult(windowSubscriber, this.windowBoundaries));\n        }\n        return sourceSubscription;\n    };\n    return WindowOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowSubscriber = (function (_super) {\n    __extends(WindowSubscriber, _super);\n    function WindowSubscriber(destination) {\n        _super.call(this, destination);\n        this.window = new Subject();\n        destination.next(this.window);\n    }\n    WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.openWindow();\n    };\n    WindowSubscriber.prototype.notifyError = function (error, innerSub) {\n        this._error(error);\n    };\n    WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n        this._complete();\n    };\n    WindowSubscriber.prototype._next = function (value) {\n        this.window.next(value);\n    };\n    WindowSubscriber.prototype._error = function (err) {\n        this.window.error(err);\n        this.destination.error(err);\n    };\n    WindowSubscriber.prototype._complete = function () {\n        this.window.complete();\n        this.destination.complete();\n    };\n    WindowSubscriber.prototype._unsubscribe = function () {\n        this.window = null;\n    };\n    WindowSubscriber.prototype.openWindow = function () {\n        var prevWindow = this.window;\n        if (prevWindow) {\n            prevWindow.complete();\n        }\n        var destination = this.destination;\n        var newWindow = this.window = new Subject();\n        destination.next(newWindow);\n    };\n    return WindowSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=window.js.map"
  },
  {
    "__docId__": 653,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "window",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/window.js~window",
    "access": null,
    "export": true,
    "description": "Branch out the source Observable values as a nested Observable whenever\n`windowBoundaries` emits.\n\n<span class=\"informal\">It's like {@link buffer}, but emits a nested Observable\ninstead of an array.</span>\n\n<img src=\"./img/window.png\" width=\"100%\">\n\nReturns an Observable that emits windows of items it collects from the source\nObservable. The output Observable emits connected, non-overlapping\nwindows. It emits the current window and opens a new one whenever the\nObservable `windowBoundaries` emits an item. Because each window is an\nObservable, the output is a higher-order Observable.",
    "examples": [
      "<caption>In every window of 1 second each, emit at most 2 click events</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar interval = Rx.Observable.interval(1000);\nvar result = clicks.window(interval)\n  .map(win => win.take(2)) // each window has at most 2 emissions\n  .mergeAll(); // flatten the Observable-of-Observables\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link windowCount}",
      "{@link windowTime}",
      "{@link windowToggle}",
      "{@link windowWhen}",
      "{@link buffer}"
    ],
    "lineNumber": 40,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "window"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Observable<any>"
        ],
        "spread": false,
        "optional": false,
        "name": "windowBoundaries",
        "description": "An Observable that completes the\nprevious window and starts a new window."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<Observable<T>>"
      ],
      "spread": false,
      "description": "An Observable of windows, which are\nObservables emitting values of the source Observable."
    },
    "generator": false
  },
  {
    "__docId__": 654,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowOperator",
    "memberof": "es6/operator/window.js",
    "longname": "es6/operator/window.js~WindowOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/window.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 43,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 655,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowSubscriber",
    "memberof": "es6/operator/window.js",
    "longname": "es6/operator/window.js~WindowSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/window.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 62,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 656,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/windowCount.js",
    "memberof": null,
    "longname": "es6/operator/windowCount.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { Subject } from '../Subject';\n/**\n * Branch out the source Observable values as a nested Observable with each\n * nested Observable emitting at most `windowSize` values.\n *\n * <span class=\"informal\">It's like {@link bufferCount}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowCount.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows every `startWindowEvery`\n * items, each containing no more than `windowSize` items. When the source\n * Observable completes or encounters an error, the output Observable emits\n * the current window and propagates the notification from the source\n * Observable. If `startWindowEvery` is not provided, then new windows are\n * started immediately at the start of the source and when each window completes\n * with size `windowSize`.\n *\n * @example <caption>Ignore every 3rd click event, starting from the first one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(3)\n *   .map(win => win.skip(1)) // skip first of every 3 clicks\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Ignore every 3rd click event, starting from the third one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(2, 3)\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link bufferCount}\n *\n * @param {number} windowSize The maximum number of values emitted by each\n * window.\n * @param {number} [startWindowEvery] Interval at which to start a new window.\n * For example if `startWindowEvery` is `2`, then a new window will be started\n * on every other value from the source. A new window is started at the\n * beginning of the source by default.\n * @return {Observable<Observable<T>>} An Observable of windows, which in turn\n * are Observable of values.\n * @method windowCount\n * @owner Observable\n */\nexport function windowCount(windowSize, startWindowEvery) {\n    if (startWindowEvery === void 0) { startWindowEvery = 0; }\n    return this.lift(new WindowCountOperator(windowSize, startWindowEvery));\n}\nvar WindowCountOperator = (function () {\n    function WindowCountOperator(windowSize, startWindowEvery) {\n        this.windowSize = windowSize;\n        this.startWindowEvery = startWindowEvery;\n    }\n    WindowCountOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));\n    };\n    return WindowCountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowCountSubscriber = (function (_super) {\n    __extends(WindowCountSubscriber, _super);\n    function WindowCountSubscriber(destination, windowSize, startWindowEvery) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.windowSize = windowSize;\n        this.startWindowEvery = startWindowEvery;\n        this.windows = [new Subject()];\n        this.count = 0;\n        destination.next(this.windows[0]);\n    }\n    WindowCountSubscriber.prototype._next = function (value) {\n        var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;\n        var destination = this.destination;\n        var windowSize = this.windowSize;\n        var windows = this.windows;\n        var len = windows.length;\n        for (var i = 0; i < len && !this.closed; i++) {\n            windows[i].next(value);\n        }\n        var c = this.count - windowSize + 1;\n        if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {\n            windows.shift().complete();\n        }\n        if (++this.count % startWindowEvery === 0 && !this.closed) {\n            var window_1 = new Subject();\n            windows.push(window_1);\n            destination.next(window_1);\n        }\n    };\n    WindowCountSubscriber.prototype._error = function (err) {\n        var windows = this.windows;\n        if (windows) {\n            while (windows.length > 0 && !this.closed) {\n                windows.shift().error(err);\n            }\n        }\n        this.destination.error(err);\n    };\n    WindowCountSubscriber.prototype._complete = function () {\n        var windows = this.windows;\n        if (windows) {\n            while (windows.length > 0 && !this.closed) {\n                windows.shift().complete();\n            }\n        }\n        this.destination.complete();\n    };\n    WindowCountSubscriber.prototype._unsubscribe = function () {\n        this.count = 0;\n        this.windows = null;\n    };\n    return WindowCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=windowCount.js.map"
  },
  {
    "__docId__": 657,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "windowCount",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/windowCount.js~windowCount",
    "access": null,
    "export": true,
    "description": "Branch out the source Observable values as a nested Observable with each\nnested Observable emitting at most `windowSize` values.\n\n<span class=\"informal\">It's like {@link bufferCount}, but emits a nested\nObservable instead of an array.</span>\n\n<img src=\"./img/windowCount.png\" width=\"100%\">\n\nReturns an Observable that emits windows of items it collects from the source\nObservable. The output Observable emits windows every `startWindowEvery`\nitems, each containing no more than `windowSize` items. When the source\nObservable completes or encounters an error, the output Observable emits\nthe current window and propagates the notification from the source\nObservable. If `startWindowEvery` is not provided, then new windows are\nstarted immediately at the start of the source and when each window completes\nwith size `windowSize`.",
    "examples": [
      "<caption>Ignore every 3rd click event, starting from the first one</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.windowCount(3)\n  .map(win => win.skip(1)) // skip first of every 3 clicks\n  .mergeAll(); // flatten the Observable-of-Observables\nresult.subscribe(x => console.log(x));",
      "<caption>Ignore every 3rd click event, starting from the third one</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.windowCount(2, 3)\n  .mergeAll(); // flatten the Observable-of-Observables\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link window}",
      "{@link windowTime}",
      "{@link windowToggle}",
      "{@link windowWhen}",
      "{@link bufferCount}"
    ],
    "lineNumber": 51,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "windowCount"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "windowSize",
        "description": "The maximum number of values emitted by each\nwindow."
      },
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": true,
        "name": "startWindowEvery",
        "description": "Interval at which to start a new window.\nFor example if `startWindowEvery` is `2`, then a new window will be started\non every other value from the source. A new window is started at the\nbeginning of the source by default."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<Observable<T>>"
      ],
      "spread": false,
      "description": "An Observable of windows, which in turn\nare Observable of values."
    },
    "generator": false
  },
  {
    "__docId__": 658,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowCountOperator",
    "memberof": "es6/operator/windowCount.js",
    "longname": "es6/operator/windowCount.js~WindowCountOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowCount.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 55,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 659,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowCountSubscriber",
    "memberof": "es6/operator/windowCount.js",
    "longname": "es6/operator/windowCount.js~WindowCountSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowCount.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 70,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 660,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/windowTime.js",
    "memberof": null,
    "longname": "es6/operator/windowTime.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from '../Subject';\nimport { async } from '../scheduler/async';\nimport { Subscriber } from '../Subscriber';\n/**\n * Branch out the source Observable values as a nested Observable periodically\n * in time.\n *\n * <span class=\"informal\">It's like {@link bufferTime}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowTime.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable starts a new window periodically, as\n * determined by the `windowCreationInterval` argument. It emits each window\n * after a fixed timespan, specified by the `windowTimeSpan` argument. When the\n * source Observable completes or encounters an error, the output Observable\n * emits the current window and propagates the notification from the source\n * Observable. If `windowCreationInterval` is not provided, the output\n * Observable starts a new window when the previous window of duration\n * `windowTimeSpan` completes.\n *\n * @example <caption>In every window of 1 second each, emit at most 2 click events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowTime(1000)\n *   .map(win => win.take(2)) // each window has at most 2 emissions\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Every 5 seconds start a window 1 second long, and emit at most 2 click events per window</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowTime(1000, 5000)\n *   .map(win => win.take(2)) // each window has at most 2 emissions\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowCount}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link bufferTime}\n *\n * @param {number} windowTimeSpan The amount of time to fill each window.\n * @param {number} [windowCreationInterval] The interval at which to start new\n * windows.\n * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the\n * intervals that determine window boundaries.\n * @return {Observable<Observable<T>>} An observable of windows, which in turn\n * are Observables.\n * @method windowTime\n * @owner Observable\n */\nexport function windowTime(windowTimeSpan, windowCreationInterval, scheduler) {\n    if (windowCreationInterval === void 0) { windowCreationInterval = null; }\n    if (scheduler === void 0) { scheduler = async; }\n    return this.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler));\n}\nvar WindowTimeOperator = (function () {\n    function WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler) {\n        this.windowTimeSpan = windowTimeSpan;\n        this.windowCreationInterval = windowCreationInterval;\n        this.scheduler = scheduler;\n    }\n    WindowTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.scheduler));\n    };\n    return WindowTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowTimeSubscriber = (function (_super) {\n    __extends(WindowTimeSubscriber, _super);\n    function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, scheduler) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.windowTimeSpan = windowTimeSpan;\n        this.windowCreationInterval = windowCreationInterval;\n        this.scheduler = scheduler;\n        this.windows = [];\n        if (windowCreationInterval !== null && windowCreationInterval >= 0) {\n            var window_1 = this.openWindow();\n            var closeState = { subscriber: this, window: window_1, context: null };\n            var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: this, scheduler: scheduler };\n            this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));\n            this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));\n        }\n        else {\n            var window_2 = this.openWindow();\n            var timeSpanOnlyState = { subscriber: this, window: window_2, windowTimeSpan: windowTimeSpan };\n            this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));\n        }\n    }\n    WindowTimeSubscriber.prototype._next = function (value) {\n        var windows = this.windows;\n        var len = windows.length;\n        for (var i = 0; i < len; i++) {\n            var window_3 = windows[i];\n            if (!window_3.closed) {\n                window_3.next(value);\n            }\n        }\n    };\n    WindowTimeSubscriber.prototype._error = function (err) {\n        var windows = this.windows;\n        while (windows.length > 0) {\n            windows.shift().error(err);\n        }\n        this.destination.error(err);\n    };\n    WindowTimeSubscriber.prototype._complete = function () {\n        var windows = this.windows;\n        while (windows.length > 0) {\n            var window_4 = windows.shift();\n            if (!window_4.closed) {\n                window_4.complete();\n            }\n        }\n        this.destination.complete();\n    };\n    WindowTimeSubscriber.prototype.openWindow = function () {\n        var window = new Subject();\n        this.windows.push(window);\n        var destination = this.destination;\n        destination.next(window);\n        return window;\n    };\n    WindowTimeSubscriber.prototype.closeWindow = function (window) {\n        window.complete();\n        var windows = this.windows;\n        windows.splice(windows.indexOf(window), 1);\n    };\n    return WindowTimeSubscriber;\n}(Subscriber));\nfunction dispatchWindowTimeSpanOnly(state) {\n    var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;\n    if (window) {\n        window.complete();\n    }\n    state.window = subscriber.openWindow();\n    this.schedule(state, windowTimeSpan);\n}\nfunction dispatchWindowCreation(state) {\n    var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;\n    var window = subscriber.openWindow();\n    var action = this;\n    var context = { action: action, subscription: null };\n    var timeSpanState = { subscriber: subscriber, window: window, context: context };\n    context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);\n    action.add(context.subscription);\n    action.schedule(state, windowCreationInterval);\n}\nfunction dispatchWindowClose(arg) {\n    var subscriber = arg.subscriber, window = arg.window, context = arg.context;\n    if (context && context.action && context.subscription) {\n        context.action.remove(context.subscription);\n    }\n    subscriber.closeWindow(window);\n}\n//# sourceMappingURL=windowTime.js.map"
  },
  {
    "__docId__": 661,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "windowTime",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/windowTime.js~windowTime",
    "access": null,
    "export": true,
    "description": "Branch out the source Observable values as a nested Observable periodically\nin time.\n\n<span class=\"informal\">It's like {@link bufferTime}, but emits a nested\nObservable instead of an array.</span>\n\n<img src=\"./img/windowTime.png\" width=\"100%\">\n\nReturns an Observable that emits windows of items it collects from the source\nObservable. The output Observable starts a new window periodically, as\ndetermined by the `windowCreationInterval` argument. It emits each window\nafter a fixed timespan, specified by the `windowTimeSpan` argument. When the\nsource Observable completes or encounters an error, the output Observable\nemits the current window and propagates the notification from the source\nObservable. If `windowCreationInterval` is not provided, the output\nObservable starts a new window when the previous window of duration\n`windowTimeSpan` completes.",
    "examples": [
      "<caption>In every window of 1 second each, emit at most 2 click events</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.windowTime(1000)\n  .map(win => win.take(2)) // each window has at most 2 emissions\n  .mergeAll(); // flatten the Observable-of-Observables\nresult.subscribe(x => console.log(x));",
      "<caption>Every 5 seconds start a window 1 second long, and emit at most 2 click events per window</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks.windowTime(1000, 5000)\n  .map(win => win.take(2)) // each window has at most 2 emissions\n  .mergeAll(); // flatten the Observable-of-Observables\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link window}",
      "{@link windowCount}",
      "{@link windowToggle}",
      "{@link windowWhen}",
      "{@link bufferTime}"
    ],
    "lineNumber": 53,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "windowTime"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": false,
        "name": "windowTimeSpan",
        "description": "The amount of time to fill each window."
      },
      {
        "nullable": null,
        "types": [
          "number"
        ],
        "spread": false,
        "optional": true,
        "name": "windowCreationInterval",
        "description": "The interval at which to start new\nwindows."
      },
      {
        "nullable": null,
        "types": [
          "Scheduler"
        ],
        "spread": false,
        "optional": true,
        "defaultValue": "async",
        "defaultRaw": "async",
        "name": "scheduler",
        "description": "The scheduler on which to schedule the\nintervals that determine window boundaries."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<Observable<T>>"
      ],
      "spread": false,
      "description": "An observable of windows, which in turn\nare Observables."
    },
    "generator": false
  },
  {
    "__docId__": 662,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowTimeOperator",
    "memberof": "es6/operator/windowTime.js",
    "longname": "es6/operator/windowTime.js~WindowTimeOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 58,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 663,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowTimeSubscriber",
    "memberof": "es6/operator/windowTime.js",
    "longname": "es6/operator/windowTime.js~WindowTimeSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowTime.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 74,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 664,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchWindowTimeSpanOnly",
    "memberof": "es6/operator/windowTime.js",
    "longname": "es6/operator/windowTime.js~dispatchWindowTimeSpanOnly",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 137,
    "undocument": true,
    "params": [
      {
        "name": "state",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 665,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchWindowCreation",
    "memberof": "es6/operator/windowTime.js",
    "longname": "es6/operator/windowTime.js~dispatchWindowCreation",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 145,
    "undocument": true,
    "params": [
      {
        "name": "state",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 666,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "dispatchWindowClose",
    "memberof": "es6/operator/windowTime.js",
    "longname": "es6/operator/windowTime.js~dispatchWindowClose",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowTime.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 155,
    "undocument": true,
    "params": [
      {
        "name": "arg",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 667,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/windowToggle.js",
    "memberof": null,
    "longname": "es6/operator/windowToggle.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from '../Subject';\nimport { Subscription } from '../Subscription';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Branch out the source Observable values as a nested Observable starting from\n * an emission from `openings` and ending when the output of `closingSelector`\n * emits.\n *\n * <span class=\"informal\">It's like {@link bufferToggle}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowToggle.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows that contain those items\n * emitted by the source Observable between the time when the `openings`\n * Observable emits an item and when the Observable returned by\n * `closingSelector` emits an item.\n *\n * @example <caption>Every other second, emit the click events from the next 500ms</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var openings = Rx.Observable.interval(1000);\n * var result = clicks.windowToggle(openings, i =>\n *   i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\n * ).mergeAll();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowWhen}\n * @see {@link bufferToggle}\n *\n * @param {Observable<O>} openings An observable of notifications to start new\n * windows.\n * @param {function(value: O): Observable} closingSelector A function that takes\n * the value emitted by the `openings` observable and returns an Observable,\n * which, when it emits (either `next` or `complete`), signals that the\n * associated window should complete.\n * @return {Observable<Observable<T>>} An observable of windows, which in turn\n * are Observables.\n * @method windowToggle\n * @owner Observable\n */\nexport function windowToggle(openings, closingSelector) {\n    return this.lift(new WindowToggleOperator(openings, closingSelector));\n}\nvar WindowToggleOperator = (function () {\n    function WindowToggleOperator(openings, closingSelector) {\n        this.openings = openings;\n        this.closingSelector = closingSelector;\n    }\n    WindowToggleOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector));\n    };\n    return WindowToggleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowToggleSubscriber = (function (_super) {\n    __extends(WindowToggleSubscriber, _super);\n    function WindowToggleSubscriber(destination, openings, closingSelector) {\n        _super.call(this, destination);\n        this.openings = openings;\n        this.closingSelector = closingSelector;\n        this.contexts = [];\n        this.add(this.openSubscription = subscribeToResult(this, openings, openings));\n    }\n    WindowToggleSubscriber.prototype._next = function (value) {\n        var contexts = this.contexts;\n        if (contexts) {\n            var len = contexts.length;\n            for (var i = 0; i < len; i++) {\n                contexts[i].window.next(value);\n            }\n        }\n    };\n    WindowToggleSubscriber.prototype._error = function (err) {\n        var contexts = this.contexts;\n        this.contexts = null;\n        if (contexts) {\n            var len = contexts.length;\n            var index = -1;\n            while (++index < len) {\n                var context_1 = contexts[index];\n                context_1.window.error(err);\n                context_1.subscription.unsubscribe();\n            }\n        }\n        _super.prototype._error.call(this, err);\n    };\n    WindowToggleSubscriber.prototype._complete = function () {\n        var contexts = this.contexts;\n        this.contexts = null;\n        if (contexts) {\n            var len = contexts.length;\n            var index = -1;\n            while (++index < len) {\n                var context_2 = contexts[index];\n                context_2.window.complete();\n                context_2.subscription.unsubscribe();\n            }\n        }\n        _super.prototype._complete.call(this);\n    };\n    WindowToggleSubscriber.prototype._unsubscribe = function () {\n        var contexts = this.contexts;\n        this.contexts = null;\n        if (contexts) {\n            var len = contexts.length;\n            var index = -1;\n            while (++index < len) {\n                var context_3 = contexts[index];\n                context_3.window.unsubscribe();\n                context_3.subscription.unsubscribe();\n            }\n        }\n    };\n    WindowToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        if (outerValue === this.openings) {\n            var closingSelector = this.closingSelector;\n            var closingNotifier = tryCatch(closingSelector)(innerValue);\n            if (closingNotifier === errorObject) {\n                return this.error(errorObject.e);\n            }\n            else {\n                var window_1 = new Subject();\n                var subscription = new Subscription();\n                var context_4 = { window: window_1, subscription: subscription };\n                this.contexts.push(context_4);\n                var innerSubscription = subscribeToResult(this, closingNotifier, context_4);\n                if (innerSubscription.closed) {\n                    this.closeWindow(this.contexts.length - 1);\n                }\n                else {\n                    innerSubscription.context = context_4;\n                    subscription.add(innerSubscription);\n                }\n                this.destination.next(window_1);\n            }\n        }\n        else {\n            this.closeWindow(this.contexts.indexOf(outerValue));\n        }\n    };\n    WindowToggleSubscriber.prototype.notifyError = function (err) {\n        this.error(err);\n    };\n    WindowToggleSubscriber.prototype.notifyComplete = function (inner) {\n        if (inner !== this.openSubscription) {\n            this.closeWindow(this.contexts.indexOf(inner.context));\n        }\n    };\n    WindowToggleSubscriber.prototype.closeWindow = function (index) {\n        if (index === -1) {\n            return;\n        }\n        var contexts = this.contexts;\n        var context = contexts[index];\n        var window = context.window, subscription = context.subscription;\n        contexts.splice(index, 1);\n        window.complete();\n        subscription.unsubscribe();\n    };\n    return WindowToggleSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=windowToggle.js.map"
  },
  {
    "__docId__": 668,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "windowToggle",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/windowToggle.js~windowToggle",
    "access": null,
    "export": true,
    "description": "Branch out the source Observable values as a nested Observable starting from\nan emission from `openings` and ending when the output of `closingSelector`\nemits.\n\n<span class=\"informal\">It's like {@link bufferToggle}, but emits a nested\nObservable instead of an array.</span>\n\n<img src=\"./img/windowToggle.png\" width=\"100%\">\n\nReturns an Observable that emits windows of items it collects from the source\nObservable. The output Observable emits windows that contain those items\nemitted by the source Observable between the time when the `openings`\nObservable emits an item and when the Observable returned by\n`closingSelector` emits an item.",
    "examples": [
      "<caption>Every other second, emit the click events from the next 500ms</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar openings = Rx.Observable.interval(1000);\nvar result = clicks.windowToggle(openings, i =>\n  i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\n).mergeAll();\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link window}",
      "{@link windowCount}",
      "{@link windowTime}",
      "{@link windowWhen}",
      "{@link bufferToggle}"
    ],
    "lineNumber": 48,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "windowToggle"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "Observable<O>"
        ],
        "spread": false,
        "optional": false,
        "name": "openings",
        "description": "An observable of notifications to start new\nwindows."
      },
      {
        "nullable": null,
        "types": [
          "function(value: O): Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "closingSelector",
        "description": "A function that takes\nthe value emitted by the `openings` observable and returns an Observable,\nwhich, when it emits (either `next` or `complete`), signals that the\nassociated window should complete."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<Observable<T>>"
      ],
      "spread": false,
      "description": "An observable of windows, which in turn\nare Observables."
    },
    "generator": false
  },
  {
    "__docId__": 669,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowToggleOperator",
    "memberof": "es6/operator/windowToggle.js",
    "longname": "es6/operator/windowToggle.js~WindowToggleOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowToggle.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 51,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 670,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowToggleSubscriber",
    "memberof": "es6/operator/windowToggle.js",
    "longname": "es6/operator/windowToggle.js~WindowToggleSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowToggle.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 66,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 671,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/windowWhen.js",
    "memberof": null,
    "longname": "es6/operator/windowWhen.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from '../Subject';\nimport { tryCatch } from '../util/tryCatch';\nimport { errorObject } from '../util/errorObject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/**\n * Branch out the source Observable values as a nested Observable using a\n * factory function of closing Observables to determine when to start a new\n * window.\n *\n * <span class=\"informal\">It's like {@link bufferWhen}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowWhen.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits connected, non-overlapping windows.\n * It emits the current window and opens a new one whenever the Observable\n * produced by the specified `closingSelector` function emits an item. The first\n * window is opened immediately when subscribing to the output Observable.\n *\n * @example <caption>Emit only the first two clicks events in every window of [1-5] random seconds</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks\n *   .windowWhen(() => Rx.Observable.interval(1000 + Math.random() * 4000))\n *   .map(win => win.take(2)) // each window has at most 2 emissions\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link bufferWhen}\n *\n * @param {function(): Observable} closingSelector A function that takes no\n * arguments and returns an Observable that signals (on either `next` or\n * `complete`) when to close the previous window and start a new one.\n * @return {Observable<Observable<T>>} An observable of windows, which in turn\n * are Observables.\n * @method windowWhen\n * @owner Observable\n */\nexport function windowWhen(closingSelector) {\n    return this.lift(new WindowOperator(closingSelector));\n}\nvar WindowOperator = (function () {\n    function WindowOperator(closingSelector) {\n        this.closingSelector = closingSelector;\n    }\n    WindowOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WindowSubscriber(subscriber, this.closingSelector));\n    };\n    return WindowOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowSubscriber = (function (_super) {\n    __extends(WindowSubscriber, _super);\n    function WindowSubscriber(destination, closingSelector) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.closingSelector = closingSelector;\n        this.openWindow();\n    }\n    WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.openWindow(innerSub);\n    };\n    WindowSubscriber.prototype.notifyError = function (error, innerSub) {\n        this._error(error);\n    };\n    WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.openWindow(innerSub);\n    };\n    WindowSubscriber.prototype._next = function (value) {\n        this.window.next(value);\n    };\n    WindowSubscriber.prototype._error = function (err) {\n        this.window.error(err);\n        this.destination.error(err);\n        this.unsubscribeClosingNotification();\n    };\n    WindowSubscriber.prototype._complete = function () {\n        this.window.complete();\n        this.destination.complete();\n        this.unsubscribeClosingNotification();\n    };\n    WindowSubscriber.prototype.unsubscribeClosingNotification = function () {\n        if (this.closingNotification) {\n            this.closingNotification.unsubscribe();\n        }\n    };\n    WindowSubscriber.prototype.openWindow = function (innerSub) {\n        if (innerSub === void 0) { innerSub = null; }\n        if (innerSub) {\n            this.remove(innerSub);\n            innerSub.unsubscribe();\n        }\n        var prevWindow = this.window;\n        if (prevWindow) {\n            prevWindow.complete();\n        }\n        var window = this.window = new Subject();\n        this.destination.next(window);\n        var closingNotifier = tryCatch(this.closingSelector)();\n        if (closingNotifier === errorObject) {\n            var err = errorObject.e;\n            this.destination.error(err);\n            this.window.error(err);\n        }\n        else {\n            this.add(this.closingNotification = subscribeToResult(this, closingNotifier));\n        }\n    };\n    return WindowSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=windowWhen.js.map"
  },
  {
    "__docId__": 672,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "windowWhen",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/windowWhen.js~windowWhen",
    "access": null,
    "export": true,
    "description": "Branch out the source Observable values as a nested Observable using a\nfactory function of closing Observables to determine when to start a new\nwindow.\n\n<span class=\"informal\">It's like {@link bufferWhen}, but emits a nested\nObservable instead of an array.</span>\n\n<img src=\"./img/windowWhen.png\" width=\"100%\">\n\nReturns an Observable that emits windows of items it collects from the source\nObservable. The output Observable emits connected, non-overlapping windows.\nIt emits the current window and opens a new one whenever the Observable\nproduced by the specified `closingSelector` function emits an item. The first\nwindow is opened immediately when subscribing to the output Observable.",
    "examples": [
      "<caption>Emit only the first two clicks events in every window of [1-5] random seconds</caption>\nvar clicks = Rx.Observable.fromEvent(document, 'click');\nvar result = clicks\n  .windowWhen(() => Rx.Observable.interval(1000 + Math.random() * 4000))\n  .map(win => win.take(2)) // each window has at most 2 emissions\n  .mergeAll(); // flatten the Observable-of-Observables\nresult.subscribe(x => console.log(x));"
    ],
    "see": [
      "{@link window}",
      "{@link windowCount}",
      "{@link windowTime}",
      "{@link windowToggle}",
      "{@link bufferWhen}"
    ],
    "lineNumber": 44,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "windowWhen"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "function(): Observable"
        ],
        "spread": false,
        "optional": false,
        "name": "closingSelector",
        "description": "A function that takes no\narguments and returns an Observable that signals (on either `next` or\n`complete`) when to close the previous window and start a new one."
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<Observable<T>>"
      ],
      "spread": false,
      "description": "An observable of windows, which in turn\nare Observables."
    },
    "generator": false
  },
  {
    "__docId__": 673,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowOperator",
    "memberof": "es6/operator/windowWhen.js",
    "longname": "es6/operator/windowWhen.js~WindowOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowWhen.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 47,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 674,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WindowSubscriber",
    "memberof": "es6/operator/windowWhen.js",
    "longname": "es6/operator/windowWhen.js~WindowSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/windowWhen.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 61,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 675,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/withLatestFrom.js",
    "memberof": null,
    "longname": "es6/operator/withLatestFrom.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\n/* tslint:disable:max-line-length */\nexport function withLatestFrom() {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i - 0] = arguments[_i];\n    }\n    var project;\n    if (typeof args[args.length - 1] === 'function') {\n        project = args.pop();\n    }\n    var observables = args;\n    return this.lift(new WithLatestFromOperator(observables, project));\n}\nvar WithLatestFromOperator = (function () {\n    function WithLatestFromOperator(observables, project) {\n        this.observables = observables;\n        this.project = project;\n    }\n    WithLatestFromOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n    };\n    return WithLatestFromOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WithLatestFromSubscriber = (function (_super) {\n    __extends(WithLatestFromSubscriber, _super);\n    function WithLatestFromSubscriber(destination, observables, project) {\n        _super.call(this, destination);\n        this.observables = observables;\n        this.project = project;\n        this.toRespond = [];\n        var len = observables.length;\n        this.values = new Array(len);\n        for (var i = 0; i < len; i++) {\n            this.toRespond.push(i);\n        }\n        for (var i = 0; i < len; i++) {\n            var observable = observables[i];\n            this.add(subscribeToResult(this, observable, observable, i));\n        }\n    }\n    WithLatestFromSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.values[outerIndex] = innerValue;\n        var toRespond = this.toRespond;\n        if (toRespond.length > 0) {\n            var found = toRespond.indexOf(outerIndex);\n            if (found !== -1) {\n                toRespond.splice(found, 1);\n            }\n        }\n    };\n    WithLatestFromSubscriber.prototype.notifyComplete = function () {\n        // noop\n    };\n    WithLatestFromSubscriber.prototype._next = function (value) {\n        if (this.toRespond.length === 0) {\n            var args = [value].concat(this.values);\n            if (this.project) {\n                this._tryProject(args);\n            }\n            else {\n                this.destination.next(args);\n            }\n        }\n    };\n    WithLatestFromSubscriber.prototype._tryProject = function (args) {\n        var result;\n        try {\n            result = this.project.apply(this, args);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return WithLatestFromSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map"
  },
  {
    "__docId__": 676,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "withLatestFrom",
    "memberof": "es6/operator/withLatestFrom.js",
    "longname": "es6/operator/withLatestFrom.js~withLatestFrom",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/withLatestFrom.js",
    "importStyle": "{withLatestFrom}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 677,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WithLatestFromOperator",
    "memberof": "es6/operator/withLatestFrom.js",
    "longname": "es6/operator/withLatestFrom.js~WithLatestFromOperator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/withLatestFrom.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 16,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 678,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "WithLatestFromSubscriber",
    "memberof": "es6/operator/withLatestFrom.js",
    "longname": "es6/operator/withLatestFrom.js~WithLatestFromSubscriber",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/withLatestFrom.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 31,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 679,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/zip.js",
    "memberof": null,
    "longname": "es6/operator/zip.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ArrayObservable } from '../observable/ArrayObservable';\nimport { isArray } from '../util/isArray';\nimport { Subscriber } from '../Subscriber';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { $$iterator } from '../symbol/iterator';\n/* tslint:disable:max-line-length */\nexport function zipProto() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    return this.lift.call(zipStatic.apply(void 0, [this].concat(observables)));\n}\n/* tslint:enable:max-line-length */\n/**\n * @param observables\n * @return {Observable<R>}\n * @static true\n * @name zip\n * @owner Observable\n */\nexport function zipStatic() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var project = observables[observables.length - 1];\n    if (typeof project === 'function') {\n        observables.pop();\n    }\n    return new ArrayObservable(observables).lift(new ZipOperator(project));\n}\nexport var ZipOperator = (function () {\n    function ZipOperator(project) {\n        this.project = project;\n    }\n    ZipOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ZipSubscriber(subscriber, this.project));\n    };\n    return ZipOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var ZipSubscriber = (function (_super) {\n    __extends(ZipSubscriber, _super);\n    function ZipSubscriber(destination, project, values) {\n        if (values === void 0) { values = Object.create(null); }\n        _super.call(this, destination);\n        this.iterators = [];\n        this.active = 0;\n        this.project = (typeof project === 'function') ? project : null;\n        this.values = values;\n    }\n    ZipSubscriber.prototype._next = function (value) {\n        var iterators = this.iterators;\n        if (isArray(value)) {\n            iterators.push(new StaticArrayIterator(value));\n        }\n        else if (typeof value[$$iterator] === 'function') {\n            iterators.push(new StaticIterator(value[$$iterator]()));\n        }\n        else {\n            iterators.push(new ZipBufferIterator(this.destination, this, value));\n        }\n    };\n    ZipSubscriber.prototype._complete = function () {\n        var iterators = this.iterators;\n        var len = iterators.length;\n        this.active = len;\n        for (var i = 0; i < len; i++) {\n            var iterator = iterators[i];\n            if (iterator.stillUnsubscribed) {\n                this.add(iterator.subscribe(iterator, i));\n            }\n            else {\n                this.active--; // not an observable\n            }\n        }\n    };\n    ZipSubscriber.prototype.notifyInactive = function () {\n        this.active--;\n        if (this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    ZipSubscriber.prototype.checkIterators = function () {\n        var iterators = this.iterators;\n        var len = iterators.length;\n        var destination = this.destination;\n        // abort if not all of them have values\n        for (var i = 0; i < len; i++) {\n            var iterator = iterators[i];\n            if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n                return;\n            }\n        }\n        var shouldComplete = false;\n        var args = [];\n        for (var i = 0; i < len; i++) {\n            var iterator = iterators[i];\n            var result = iterator.next();\n            // check to see if it's completed now that you've gotten\n            // the next value.\n            if (iterator.hasCompleted()) {\n                shouldComplete = true;\n            }\n            if (result.done) {\n                destination.complete();\n                return;\n            }\n            args.push(result.value);\n        }\n        if (this.project) {\n            this._tryProject(args);\n        }\n        else {\n            destination.next(args);\n        }\n        if (shouldComplete) {\n            destination.complete();\n        }\n    };\n    ZipSubscriber.prototype._tryProject = function (args) {\n        var result;\n        try {\n            result = this.project.apply(this, args);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return ZipSubscriber;\n}(Subscriber));\nvar StaticIterator = (function () {\n    function StaticIterator(iterator) {\n        this.iterator = iterator;\n        this.nextResult = iterator.next();\n    }\n    StaticIterator.prototype.hasValue = function () {\n        return true;\n    };\n    StaticIterator.prototype.next = function () {\n        var result = this.nextResult;\n        this.nextResult = this.iterator.next();\n        return result;\n    };\n    StaticIterator.prototype.hasCompleted = function () {\n        var nextResult = this.nextResult;\n        return nextResult && nextResult.done;\n    };\n    return StaticIterator;\n}());\nvar StaticArrayIterator = (function () {\n    function StaticArrayIterator(array) {\n        this.array = array;\n        this.index = 0;\n        this.length = 0;\n        this.length = array.length;\n    }\n    StaticArrayIterator.prototype[$$iterator] = function () {\n        return this;\n    };\n    StaticArrayIterator.prototype.next = function (value) {\n        var i = this.index++;\n        var array = this.array;\n        return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n    };\n    StaticArrayIterator.prototype.hasValue = function () {\n        return this.array.length > this.index;\n    };\n    StaticArrayIterator.prototype.hasCompleted = function () {\n        return this.array.length === this.index;\n    };\n    return StaticArrayIterator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ZipBufferIterator = (function (_super) {\n    __extends(ZipBufferIterator, _super);\n    function ZipBufferIterator(destination, parent, observable) {\n        _super.call(this, destination);\n        this.parent = parent;\n        this.observable = observable;\n        this.stillUnsubscribed = true;\n        this.buffer = [];\n        this.isComplete = false;\n    }\n    ZipBufferIterator.prototype[$$iterator] = function () {\n        return this;\n    };\n    // NOTE: there is actually a name collision here with Subscriber.next and Iterator.next\n    //    this is legit because `next()` will never be called by a subscription in this case.\n    ZipBufferIterator.prototype.next = function () {\n        var buffer = this.buffer;\n        if (buffer.length === 0 && this.isComplete) {\n            return { value: null, done: true };\n        }\n        else {\n            return { value: buffer.shift(), done: false };\n        }\n    };\n    ZipBufferIterator.prototype.hasValue = function () {\n        return this.buffer.length > 0;\n    };\n    ZipBufferIterator.prototype.hasCompleted = function () {\n        return this.buffer.length === 0 && this.isComplete;\n    };\n    ZipBufferIterator.prototype.notifyComplete = function () {\n        if (this.buffer.length > 0) {\n            this.isComplete = true;\n            this.parent.notifyInactive();\n        }\n        else {\n            this.destination.complete();\n        }\n    };\n    ZipBufferIterator.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.buffer.push(innerValue);\n        this.parent.checkIterators();\n    };\n    ZipBufferIterator.prototype.subscribe = function (value, index) {\n        return subscribeToResult(this, this.observable, this, index);\n    };\n    return ZipBufferIterator;\n}(OuterSubscriber));\n//# sourceMappingURL=zip.js.map"
  },
  {
    "__docId__": 680,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "zipProto",
    "memberof": "es6/operator/zip.js",
    "longname": "es6/operator/zip.js~zipProto",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/zip.js",
    "importStyle": "{zipProto}",
    "description": null,
    "lineNumber": 8,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 681,
    "kind": "method",
    "static": true,
    "variation": null,
    "name": "zip",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/zip.js~zipStatic",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 23,
    "unknown": [
      {
        "tagName": "@static",
        "tagValue": "true"
      },
      {
        "tagName": "@name",
        "tagValue": "zip"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "observables",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<R>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 682,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ZipOperator",
    "memberof": "es6/operator/zip.js",
    "longname": "es6/operator/zip.js~ZipOperator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/zip.js",
    "importStyle": "{ZipOperator}",
    "description": null,
    "lineNumber": 34,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 683,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ZipSubscriber",
    "memberof": "es6/operator/zip.js",
    "longname": "es6/operator/zip.js~ZipSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/operator/zip.js",
    "importStyle": "{ZipSubscriber}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 48,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 684,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "StaticIterator",
    "memberof": "es6/operator/zip.js",
    "longname": "es6/operator/zip.js~StaticIterator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/zip.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 140,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 685,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "StaticArrayIterator",
    "memberof": "es6/operator/zip.js",
    "longname": "es6/operator/zip.js~StaticArrayIterator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/zip.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 159,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 686,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ZipBufferIterator",
    "memberof": "es6/operator/zip.js",
    "longname": "es6/operator/zip.js~ZipBufferIterator",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/operator/zip.js",
    "importStyle": null,
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 187,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 687,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/operator/zipAll.js",
    "memberof": null,
    "longname": "es6/operator/zipAll.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { ZipOperator } from './zip';\n/**\n * @param project\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method zipAll\n * @owner Observable\n */\nexport function zipAll(project) {\n    return this.lift(new ZipOperator(project));\n}\n//# sourceMappingURL=zipAll.js.map"
  },
  {
    "__docId__": 688,
    "kind": "method",
    "static": false,
    "variation": null,
    "name": "zipAll",
    "memberof": "es6/Observable.js~Observable",
    "longname": "es6/operator/zipAll.js~zipAll",
    "access": null,
    "export": true,
    "description": "",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@method",
        "tagValue": "zipAll"
      },
      {
        "tagName": "@owner",
        "tagValue": "Observable"
      }
    ],
    "params": [
      {
        "nullable": null,
        "types": [
          "*"
        ],
        "spread": false,
        "optional": false,
        "name": "project",
        "description": ""
      }
    ],
    "return": {
      "nullable": null,
      "types": [
        "Observable<R>",
        "WebSocketSubject<T>",
        "Observable<T>"
      ],
      "spread": false,
      "description": ""
    },
    "generator": false
  },
  {
    "__docId__": 689,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/Action.js",
    "memberof": null,
    "longname": "es6/scheduler/Action.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscription } from '../Subscription';\n/**\n * A unit of work to be executed in a {@link Scheduler}. An action is typically\n * created from within a Scheduler and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action<T> extends Subscription {\n *   new (scheduler: Scheduler, work: (state?: T) => void);\n *   schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action<T>\n */\nexport var Action = (function (_super) {\n    __extends(Action, _super);\n    function Action(scheduler, work) {\n        _super.call(this);\n    }\n    /**\n     * Schedules this action on its parent Scheduler for execution. May be passed\n     * some context object, `state`. May happen at some point in the future,\n     * according to the `delay` parameter, if specified.\n     * @param {T} [state] Some contextual data that the `work` function uses when\n     * called by the Scheduler.\n     * @param {number} [delay] Time to wait before executing the work, where the\n     * time unit is implicit and defined by the Scheduler.\n     * @return {void}\n     */\n    Action.prototype.schedule = function (state, delay) {\n        if (delay === void 0) { delay = 0; }\n        return this;\n    };\n    return Action;\n}(Subscription));\n//# sourceMappingURL=Action.js.map"
  },
  {
    "__docId__": 690,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Action",
    "memberof": "es6/scheduler/Action.js",
    "longname": "es6/scheduler/Action.js~Action",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/Action.js",
    "importStyle": "{Action}",
    "description": "A unit of work to be executed in a {@link Scheduler}. An action is typically\ncreated from within a Scheduler and an RxJS user does not need to concern\nthemselves about creating and manipulating an Action.\n\n```ts\nclass Action<T> extends Subscription {\n  new (scheduler: Scheduler, work: (state?: T) => void);\n  schedule(state?: T, delay: number = 0): Subscription;\n}\n```",
    "lineNumber": 16,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "Action<T>"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 691,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/AnimationFrameAction.js",
    "memberof": null,
    "longname": "es6/scheduler/AnimationFrameAction.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrame } from '../util/AnimationFrame';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var AnimationFrameAction = (function (_super) {\n    __extends(AnimationFrameAction, _super);\n    function AnimationFrameAction(scheduler, work) {\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n    }\n    AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay is greater than 0, request as an async action.\n        if (delay !== null && delay > 0) {\n            return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n        }\n        // Push the action to the end of the scheduler queue.\n        scheduler.actions.push(this);\n        // If an animation frame has already been requested, don't request another\n        // one. If an animation frame hasn't been requested yet, request one. Return\n        // the current animation frame request id.\n        return scheduler.scheduled || (scheduler.scheduled = AnimationFrame.requestAnimationFrame(scheduler.flush.bind(scheduler, null)));\n    };\n    AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay exists and is greater than 0, or if the delay is null (the\n        // action wasn't rescheduled) but was originally scheduled as an async\n        // action, then recycle as an async action.\n        if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n            return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n        }\n        // If the scheduler queue is empty, cancel the requested animation frame and\n        // set the scheduled flag to undefined so the next AnimationFrameAction will\n        // request its own.\n        if (scheduler.actions.length === 0) {\n            AnimationFrame.cancelAnimationFrame(id);\n            scheduler.scheduled = undefined;\n        }\n        // Return undefined so the action knows to request a new async id if it's rescheduled.\n        return undefined;\n    };\n    return AnimationFrameAction;\n}(AsyncAction));\n//# sourceMappingURL=AnimationFrameAction.js.map"
  },
  {
    "__docId__": 692,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AnimationFrameAction",
    "memberof": "es6/scheduler/AnimationFrameAction.js",
    "longname": "es6/scheduler/AnimationFrameAction.js~AnimationFrameAction",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/AnimationFrameAction.js",
    "importStyle": "{AnimationFrameAction}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 8,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 693,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/AnimationFrameScheduler.js",
    "memberof": null,
    "longname": "es6/scheduler/AnimationFrameScheduler.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AsyncScheduler } from './AsyncScheduler';\nexport var AnimationFrameScheduler = (function (_super) {\n    __extends(AnimationFrameScheduler, _super);\n    function AnimationFrameScheduler() {\n        _super.apply(this, arguments);\n    }\n    AnimationFrameScheduler.prototype.flush = function (action) {\n        this.active = true;\n        this.scheduled = undefined;\n        var actions = this.actions;\n        var error;\n        var index = -1;\n        var count = actions.length;\n        action = action || actions.shift();\n        do {\n            if (error = action.execute(action.state, action.delay)) {\n                break;\n            }\n        } while (++index < count && (action = actions.shift()));\n        this.active = false;\n        if (error) {\n            while (++index < count && (action = actions.shift())) {\n                action.unsubscribe();\n            }\n            throw error;\n        }\n    };\n    return AnimationFrameScheduler;\n}(AsyncScheduler));\n//# sourceMappingURL=AnimationFrameScheduler.js.map"
  },
  {
    "__docId__": 694,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AnimationFrameScheduler",
    "memberof": "es6/scheduler/AnimationFrameScheduler.js",
    "longname": "es6/scheduler/AnimationFrameScheduler.js~AnimationFrameScheduler",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/AnimationFrameScheduler.js",
    "importStyle": "{AnimationFrameScheduler}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 695,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/AsapAction.js",
    "memberof": null,
    "longname": "es6/scheduler/AsapAction.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Immediate } from '../util/Immediate';\nimport { AsyncAction } from './AsyncAction';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var AsapAction = (function (_super) {\n    __extends(AsapAction, _super);\n    function AsapAction(scheduler, work) {\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n    }\n    AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay is greater than 0, request as an async action.\n        if (delay !== null && delay > 0) {\n            return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n        }\n        // Push the action to the end of the scheduler queue.\n        scheduler.actions.push(this);\n        // If a microtask has already been scheduled, don't schedule another\n        // one. If a microtask hasn't been scheduled yet, schedule one now. Return\n        // the current scheduled microtask id.\n        return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n    };\n    AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay exists and is greater than 0, or if the delay is null (the\n        // action wasn't rescheduled) but was originally scheduled as an async\n        // action, then recycle as an async action.\n        if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n            return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n        }\n        // If the scheduler queue is empty, cancel the requested microtask and\n        // set the scheduled flag to undefined so the next AsapAction will schedule\n        // its own.\n        if (scheduler.actions.length === 0) {\n            Immediate.clearImmediate(id);\n            scheduler.scheduled = undefined;\n        }\n        // Return undefined so the action knows to request a new async id if it's rescheduled.\n        return undefined;\n    };\n    return AsapAction;\n}(AsyncAction));\n//# sourceMappingURL=AsapAction.js.map"
  },
  {
    "__docId__": 696,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AsapAction",
    "memberof": "es6/scheduler/AsapAction.js",
    "longname": "es6/scheduler/AsapAction.js~AsapAction",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/AsapAction.js",
    "importStyle": "{AsapAction}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 8,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 697,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/AsapScheduler.js",
    "memberof": null,
    "longname": "es6/scheduler/AsapScheduler.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AsyncScheduler } from './AsyncScheduler';\nexport var AsapScheduler = (function (_super) {\n    __extends(AsapScheduler, _super);\n    function AsapScheduler() {\n        _super.apply(this, arguments);\n    }\n    AsapScheduler.prototype.flush = function (action) {\n        this.active = true;\n        this.scheduled = undefined;\n        var actions = this.actions;\n        var error;\n        var index = -1;\n        var count = actions.length;\n        action = action || actions.shift();\n        do {\n            if (error = action.execute(action.state, action.delay)) {\n                break;\n            }\n        } while (++index < count && (action = actions.shift()));\n        this.active = false;\n        if (error) {\n            while (++index < count && (action = actions.shift())) {\n                action.unsubscribe();\n            }\n            throw error;\n        }\n    };\n    return AsapScheduler;\n}(AsyncScheduler));\n//# sourceMappingURL=AsapScheduler.js.map"
  },
  {
    "__docId__": 698,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AsapScheduler",
    "memberof": "es6/scheduler/AsapScheduler.js",
    "longname": "es6/scheduler/AsapScheduler.js~AsapScheduler",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/AsapScheduler.js",
    "importStyle": "{AsapScheduler}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 699,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/AsyncAction.js",
    "memberof": null,
    "longname": "es6/scheduler/AsyncAction.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from '../util/root';\nimport { Action } from './Action';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var AsyncAction = (function (_super) {\n    __extends(AsyncAction, _super);\n    function AsyncAction(scheduler, work) {\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n        this.pending = false;\n    }\n    AsyncAction.prototype.schedule = function (state, delay) {\n        if (delay === void 0) { delay = 0; }\n        if (this.closed) {\n            return this;\n        }\n        // Always replace the current state with the new state.\n        this.state = state;\n        // Set the pending flag indicating that this action has been scheduled, or\n        // has recursively rescheduled itself.\n        this.pending = true;\n        var id = this.id;\n        var scheduler = this.scheduler;\n        //\n        // Important implementation note:\n        //\n        // Actions only execute once by default, unless rescheduled from within the\n        // scheduled callback. This allows us to implement single and repeat\n        // actions via the same code path, without adding API surface area, as well\n        // as mimic traditional recursion but across asynchronous boundaries.\n        //\n        // However, JS runtimes and timers distinguish between intervals achieved by\n        // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n        // serial `setTimeout` calls can be individually delayed, which delays\n        // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n        // guarantee the interval callback will be invoked more precisely to the\n        // interval period, regardless of load.\n        //\n        // Therefore, we use `setInterval` to schedule single and repeat actions.\n        // If the action reschedules itself with the same delay, the interval is not\n        // canceled. If the action doesn't reschedule, or reschedules with a\n        // different delay, the interval will be canceled after scheduled callback\n        // execution.\n        //\n        if (id != null) {\n            this.id = this.recycleAsyncId(scheduler, id, delay);\n        }\n        this.delay = delay;\n        // If this action has already an async Id, don't request a new one.\n        this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n        return this;\n    };\n    AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        return root.setInterval(scheduler.flush.bind(scheduler, this), delay);\n    };\n    AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If this action is rescheduled with the same delay time, don't clear the interval id.\n        if (delay !== null && this.delay === delay) {\n            return id;\n        }\n        // Otherwise, if the action's delay time is different from the current delay,\n        // clear the interval id\n        return root.clearInterval(id) && undefined || undefined;\n    };\n    /**\n     * Immediately executes this action and the `work` it contains.\n     * @return {any}\n     */\n    AsyncAction.prototype.execute = function (state, delay) {\n        if (this.closed) {\n            return new Error('executing a cancelled action');\n        }\n        this.pending = false;\n        var error = this._execute(state, delay);\n        if (error) {\n            return error;\n        }\n        else if (this.pending === false && this.id != null) {\n            // Dequeue if the action didn't reschedule itself. Don't call\n            // unsubscribe(), because the action could reschedule later.\n            // For example:\n            // ```\n            // scheduler.schedule(function doWork(counter) {\n            //   /* ... I'm a busy worker bee ... */\n            //   var originalAction = this;\n            //   /* wait 100ms before rescheduling the action */\n            //   setTimeout(function () {\n            //     originalAction.schedule(counter + 1);\n            //   }, 100);\n            // }, 1000);\n            // ```\n            this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n        }\n    };\n    AsyncAction.prototype._execute = function (state, delay) {\n        var errored = false;\n        var errorValue = undefined;\n        try {\n            this.work(state);\n        }\n        catch (e) {\n            errored = true;\n            errorValue = !!e && e || new Error(e);\n        }\n        if (errored) {\n            this.unsubscribe();\n            return errorValue;\n        }\n    };\n    AsyncAction.prototype._unsubscribe = function () {\n        var id = this.id;\n        var scheduler = this.scheduler;\n        var actions = scheduler.actions;\n        var index = actions.indexOf(this);\n        this.work = null;\n        this.delay = null;\n        this.state = null;\n        this.pending = false;\n        this.scheduler = null;\n        if (index !== -1) {\n            actions.splice(index, 1);\n        }\n        if (id != null) {\n            this.id = this.recycleAsyncId(scheduler, id, null);\n        }\n    };\n    return AsyncAction;\n}(Action));\n//# sourceMappingURL=AsyncAction.js.map"
  },
  {
    "__docId__": 700,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AsyncAction",
    "memberof": "es6/scheduler/AsyncAction.js",
    "longname": "es6/scheduler/AsyncAction.js~AsyncAction",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/AsyncAction.js",
    "importStyle": "{AsyncAction}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 8,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 701,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/AsyncScheduler.js",
    "memberof": null,
    "longname": "es6/scheduler/AsyncScheduler.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Scheduler } from '../Scheduler';\nexport var AsyncScheduler = (function (_super) {\n    __extends(AsyncScheduler, _super);\n    function AsyncScheduler() {\n        _super.apply(this, arguments);\n        this.actions = [];\n        /**\n         * A flag to indicate whether the Scheduler is currently executing a batch of\n         * queued actions.\n         * @type {boolean}\n         */\n        this.active = false;\n        /**\n         * An internal ID used to track the latest asynchronous task such as those\n         * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n         * others.\n         * @type {any}\n         */\n        this.scheduled = undefined;\n    }\n    AsyncScheduler.prototype.flush = function (action) {\n        var actions = this.actions;\n        if (this.active) {\n            actions.push(action);\n            return;\n        }\n        var error;\n        this.active = true;\n        do {\n            if (error = action.execute(action.state, action.delay)) {\n                break;\n            }\n        } while (action = actions.shift()); // exhaust the scheduler queue\n        this.active = false;\n        if (error) {\n            while (action = actions.shift()) {\n                action.unsubscribe();\n            }\n            throw error;\n        }\n    };\n    return AsyncScheduler;\n}(Scheduler));\n//# sourceMappingURL=AsyncScheduler.js.map"
  },
  {
    "__docId__": 702,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AsyncScheduler",
    "memberof": "es6/scheduler/AsyncScheduler.js",
    "longname": "es6/scheduler/AsyncScheduler.js~AsyncScheduler",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/AsyncScheduler.js",
    "importStyle": "{AsyncScheduler}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 703,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/QueueAction.js",
    "memberof": null,
    "longname": "es6/scheduler/QueueAction.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AsyncAction } from './AsyncAction';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var QueueAction = (function (_super) {\n    __extends(QueueAction, _super);\n    function QueueAction(scheduler, work) {\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n    }\n    QueueAction.prototype.schedule = function (state, delay) {\n        if (delay === void 0) { delay = 0; }\n        if (delay > 0) {\n            return _super.prototype.schedule.call(this, state, delay);\n        }\n        this.delay = delay;\n        this.state = state;\n        this.scheduler.flush(this);\n        return this;\n    };\n    QueueAction.prototype.execute = function (state, delay) {\n        return (delay > 0 || this.closed) ?\n            _super.prototype.execute.call(this, state, delay) :\n            this._execute(state, delay);\n    };\n    QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay exists and is greater than 0, or if the delay is null (the\n        // action wasn't rescheduled) but was originally scheduled as an async\n        // action, then recycle as an async action.\n        if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n            return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n        }\n        // Otherwise flush the scheduler starting with this action.\n        return scheduler.flush(this);\n    };\n    return QueueAction;\n}(AsyncAction));\n//# sourceMappingURL=QueueAction.js.map"
  },
  {
    "__docId__": 704,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "QueueAction",
    "memberof": "es6/scheduler/QueueAction.js",
    "longname": "es6/scheduler/QueueAction.js~QueueAction",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/QueueAction.js",
    "importStyle": "{QueueAction}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 7,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 705,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/QueueScheduler.js",
    "memberof": null,
    "longname": "es6/scheduler/QueueScheduler.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AsyncScheduler } from './AsyncScheduler';\nexport var QueueScheduler = (function (_super) {\n    __extends(QueueScheduler, _super);\n    function QueueScheduler() {\n        _super.apply(this, arguments);\n    }\n    return QueueScheduler;\n}(AsyncScheduler));\n//# sourceMappingURL=QueueScheduler.js.map"
  },
  {
    "__docId__": 706,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "QueueScheduler",
    "memberof": "es6/scheduler/QueueScheduler.js",
    "longname": "es6/scheduler/QueueScheduler.js~QueueScheduler",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/QueueScheduler.js",
    "importStyle": "{QueueScheduler}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 707,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/VirtualTimeScheduler.js",
    "memberof": null,
    "longname": "es6/scheduler/VirtualTimeScheduler.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var VirtualTimeScheduler = (function (_super) {\n    __extends(VirtualTimeScheduler, _super);\n    function VirtualTimeScheduler(SchedulerAction, maxFrames) {\n        var _this = this;\n        if (SchedulerAction === void 0) { SchedulerAction = VirtualAction; }\n        if (maxFrames === void 0) { maxFrames = Number.POSITIVE_INFINITY; }\n        _super.call(this, SchedulerAction, function () { return _this.frame; });\n        this.maxFrames = maxFrames;\n        this.frame = 0;\n        this.index = -1;\n    }\n    /**\n     * Prompt the Scheduler to execute all of its queued actions, therefore\n     * clearing its queue.\n     * @return {void}\n     */\n    VirtualTimeScheduler.prototype.flush = function () {\n        var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n        var error, action;\n        while ((action = actions.shift()) && (this.frame = action.delay) <= maxFrames) {\n            if (error = action.execute(action.state, action.delay)) {\n                break;\n            }\n        }\n        if (error) {\n            while (action = actions.shift()) {\n                action.unsubscribe();\n            }\n            throw error;\n        }\n    };\n    VirtualTimeScheduler.frameTimeFactor = 10;\n    return VirtualTimeScheduler;\n}(AsyncScheduler));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var VirtualAction = (function (_super) {\n    __extends(VirtualAction, _super);\n    function VirtualAction(scheduler, work, index) {\n        if (index === void 0) { index = scheduler.index += 1; }\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n        this.index = index;\n        this.index = scheduler.index = index;\n    }\n    VirtualAction.prototype.schedule = function (state, delay) {\n        if (delay === void 0) { delay = 0; }\n        return !this.id ?\n            _super.prototype.schedule.call(this, state, delay) : this.add(new VirtualAction(this.scheduler, this.work)).schedule(state, delay);\n    };\n    VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        this.delay = scheduler.frame + delay;\n        var actions = scheduler.actions;\n        actions.push(this);\n        actions.sort(VirtualAction.sortActions);\n        return true;\n    };\n    VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        return undefined;\n    };\n    VirtualAction.sortActions = function (a, b) {\n        if (a.delay === b.delay) {\n            if (a.index === b.index) {\n                return 0;\n            }\n            else if (a.index > b.index) {\n                return 1;\n            }\n            else {\n                return -1;\n            }\n        }\n        else if (a.delay > b.delay) {\n            return 1;\n        }\n        else {\n            return -1;\n        }\n    };\n    return VirtualAction;\n}(AsyncAction));\n//# sourceMappingURL=VirtualTimeScheduler.js.map"
  },
  {
    "__docId__": 708,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "VirtualTimeScheduler",
    "memberof": "es6/scheduler/VirtualTimeScheduler.js",
    "longname": "es6/scheduler/VirtualTimeScheduler.js~VirtualTimeScheduler",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/VirtualTimeScheduler.js",
    "importStyle": "{VirtualTimeScheduler}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 709,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "VirtualAction",
    "memberof": "es6/scheduler/VirtualTimeScheduler.js",
    "longname": "es6/scheduler/VirtualTimeScheduler.js~VirtualAction",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/VirtualTimeScheduler.js",
    "importStyle": "{VirtualAction}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 42,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 710,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/animationFrame.js",
    "memberof": null,
    "longname": "es6/scheduler/animationFrame.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport var animationFrame = new AnimationFrameScheduler(AnimationFrameAction);\n//# sourceMappingURL=animationFrame.js.map"
  },
  {
    "__docId__": 711,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "animationFrame",
    "memberof": "es6/scheduler/animationFrame.js",
    "longname": "es6/scheduler/animationFrame.js~animationFrame",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/animationFrame.js",
    "importStyle": "{animationFrame}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "type": {
      "types": [
        "es6/scheduler/AnimationFrameScheduler.js~AnimationFrameScheduler"
      ]
    }
  },
  {
    "__docId__": 712,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/asap.js",
    "memberof": null,
    "longname": "es6/scheduler/asap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport var asap = new AsapScheduler(AsapAction);\n//# sourceMappingURL=asap.js.map"
  },
  {
    "__docId__": 713,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "asap",
    "memberof": "es6/scheduler/asap.js",
    "longname": "es6/scheduler/asap.js~asap",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/asap.js",
    "importStyle": "{asap}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "type": {
      "types": [
        "es6/scheduler/AsapScheduler.js~AsapScheduler"
      ]
    }
  },
  {
    "__docId__": 714,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/async.js",
    "memberof": null,
    "longname": "es6/scheduler/async.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var async = new AsyncScheduler(AsyncAction);\n//# sourceMappingURL=async.js.map"
  },
  {
    "__docId__": 715,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "async",
    "memberof": "es6/scheduler/async.js",
    "longname": "es6/scheduler/async.js~async",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/async.js",
    "importStyle": "{async}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "type": {
      "types": [
        "es6/scheduler/AsyncScheduler.js~AsyncScheduler"
      ]
    }
  },
  {
    "__docId__": 716,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/scheduler/queue.js",
    "memberof": null,
    "longname": "es6/scheduler/queue.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport var queue = new QueueScheduler(QueueAction);\n//# sourceMappingURL=queue.js.map"
  },
  {
    "__docId__": 717,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "queue",
    "memberof": "es6/scheduler/queue.js",
    "longname": "es6/scheduler/queue.js~queue",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/scheduler/queue.js",
    "importStyle": "{queue}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "type": {
      "types": [
        "es6/scheduler/QueueScheduler.js~QueueScheduler"
      ]
    }
  },
  {
    "__docId__": 718,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/src/Rx.global.js",
    "memberof": null,
    "longname": "es6/src/Rx.global.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "(function(root, factory) {\n    root.Rx = factory();\n} (window || global || this, function() {\n    return require('../dist/cjs/Rx');\n}));"
  },
  {
    "__docId__": 719,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/symbol/iterator.js",
    "memberof": null,
    "longname": "es6/symbol/iterator.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from '../util/root';\nexport function symbolIteratorPonyfill(root) {\n    var Symbol = root.Symbol;\n    if (typeof Symbol === 'function') {\n        if (!Symbol.iterator) {\n            Symbol.iterator = Symbol('iterator polyfill');\n        }\n        return Symbol.iterator;\n    }\n    else {\n        // [for Mozilla Gecko 27-35:](https://mzl.la/2ewE1zC)\n        var Set_1 = root.Set;\n        if (Set_1 && typeof new Set_1()['@@iterator'] === 'function') {\n            return '@@iterator';\n        }\n        var Map_1 = root.Map;\n        // required for compatability with es6-shim\n        if (Map_1) {\n            var keys = Object.getOwnPropertyNames(Map_1.prototype);\n            for (var i = 0; i < keys.length; ++i) {\n                var key = keys[i];\n                // according to spec, Map.prototype[@@iterator] and Map.orototype.entries must be equal.\n                if (key !== 'entries' && key !== 'size' && Map_1.prototype[key] === Map_1.prototype['entries']) {\n                    return key;\n                }\n            }\n        }\n        return '@@iterator';\n    }\n}\nexport var $$iterator = symbolIteratorPonyfill(root);\n//# sourceMappingURL=iterator.js.map"
  },
  {
    "__docId__": 720,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "symbolIteratorPonyfill",
    "memberof": "es6/symbol/iterator.js",
    "longname": "es6/symbol/iterator.js~symbolIteratorPonyfill",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/symbol/iterator.js",
    "importStyle": "{symbolIteratorPonyfill}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "params": [
      {
        "name": "root",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "string"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 721,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "$$iterator",
    "memberof": "es6/symbol/iterator.js",
    "longname": "es6/symbol/iterator.js~$$iterator",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/symbol/iterator.js",
    "importStyle": "{$$iterator}",
    "description": null,
    "lineNumber": 31,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 722,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/symbol/observable.js",
    "memberof": null,
    "longname": "es6/symbol/observable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from '../util/root';\nexport function getSymbolObservable(context) {\n    var $$observable;\n    var Symbol = context.Symbol;\n    if (typeof Symbol === 'function') {\n        if (Symbol.observable) {\n            $$observable = Symbol.observable;\n        }\n        else {\n            $$observable = Symbol('observable');\n            Symbol.observable = $$observable;\n        }\n    }\n    else {\n        $$observable = '@@observable';\n    }\n    return $$observable;\n}\nexport var $$observable = getSymbolObservable(root);\n//# sourceMappingURL=observable.js.map"
  },
  {
    "__docId__": 723,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "getSymbolObservable",
    "memberof": "es6/symbol/observable.js",
    "longname": "es6/symbol/observable.js~getSymbolObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/symbol/observable.js",
    "importStyle": "{getSymbolObservable}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "params": [
      {
        "name": "context",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 724,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "$$observable",
    "memberof": "es6/symbol/observable.js",
    "longname": "es6/symbol/observable.js~$$observable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/symbol/observable.js",
    "importStyle": "{$$observable}",
    "description": null,
    "lineNumber": 19,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 725,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/symbol/rxSubscriber.js",
    "memberof": null,
    "longname": "es6/symbol/rxSubscriber.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from '../util/root';\nvar Symbol = root.Symbol;\nexport var $$rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ?\n    Symbol.for('rxSubscriber') : '@@rxSubscriber';\n//# sourceMappingURL=rxSubscriber.js.map"
  },
  {
    "__docId__": 726,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Symbol",
    "memberof": "es6/symbol/rxSubscriber.js",
    "longname": "es6/symbol/rxSubscriber.js~Symbol",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/symbol/rxSubscriber.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 727,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "$$rxSubscriber",
    "memberof": "es6/symbol/rxSubscriber.js",
    "longname": "es6/symbol/rxSubscriber.js~$$rxSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/symbol/rxSubscriber.js",
    "importStyle": "{$$rxSubscriber}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 728,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/testing/ColdObservable.js",
    "memberof": null,
    "longname": "es6/testing/ColdObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { SubscriptionLoggable } from './SubscriptionLoggable';\nimport { applyMixins } from '../util/applyMixins';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var ColdObservable = (function (_super) {\n    __extends(ColdObservable, _super);\n    function ColdObservable(messages, scheduler) {\n        _super.call(this, function (subscriber) {\n            var observable = this;\n            var index = observable.logSubscribedFrame();\n            subscriber.add(new Subscription(function () {\n                observable.logUnsubscribedFrame(index);\n            }));\n            observable.scheduleMessages(subscriber);\n            return subscriber;\n        });\n        this.messages = messages;\n        this.subscriptions = [];\n        this.scheduler = scheduler;\n    }\n    ColdObservable.prototype.scheduleMessages = function (subscriber) {\n        var messagesLength = this.messages.length;\n        for (var i = 0; i < messagesLength; i++) {\n            var message = this.messages[i];\n            subscriber.add(this.scheduler.schedule(function (_a) {\n                var message = _a.message, subscriber = _a.subscriber;\n                message.notification.observe(subscriber);\n            }, message.frame, { message: message, subscriber: subscriber }));\n        }\n    };\n    return ColdObservable;\n}(Observable));\napplyMixins(ColdObservable, [SubscriptionLoggable]);\n//# sourceMappingURL=ColdObservable.js.map"
  },
  {
    "__docId__": 729,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ColdObservable",
    "memberof": "es6/testing/ColdObservable.js",
    "longname": "es6/testing/ColdObservable.js~ColdObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/testing/ColdObservable.js",
    "importStyle": "{ColdObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 10,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 730,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/testing/HotObservable.js",
    "memberof": null,
    "longname": "es6/testing/HotObservable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subject } from '../Subject';\nimport { Subscription } from '../Subscription';\nimport { SubscriptionLoggable } from './SubscriptionLoggable';\nimport { applyMixins } from '../util/applyMixins';\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport var HotObservable = (function (_super) {\n    __extends(HotObservable, _super);\n    function HotObservable(messages, scheduler) {\n        _super.call(this);\n        this.messages = messages;\n        this.subscriptions = [];\n        this.scheduler = scheduler;\n    }\n    HotObservable.prototype._subscribe = function (subscriber) {\n        var subject = this;\n        var index = subject.logSubscribedFrame();\n        subscriber.add(new Subscription(function () {\n            subject.logUnsubscribedFrame(index);\n        }));\n        return _super.prototype._subscribe.call(this, subscriber);\n    };\n    HotObservable.prototype.setup = function () {\n        var subject = this;\n        var messagesLength = subject.messages.length;\n        /* tslint:disable:no-var-keyword */\n        for (var i = 0; i < messagesLength; i++) {\n            (function () {\n                var message = subject.messages[i];\n                /* tslint:enable */\n                subject.scheduler.schedule(function () { message.notification.observe(subject); }, message.frame);\n            })();\n        }\n    };\n    return HotObservable;\n}(Subject));\napplyMixins(HotObservable, [SubscriptionLoggable]);\n//# sourceMappingURL=HotObservable.js.map"
  },
  {
    "__docId__": 731,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "HotObservable",
    "memberof": "es6/testing/HotObservable.js",
    "longname": "es6/testing/HotObservable.js~HotObservable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/testing/HotObservable.js",
    "importStyle": "{HotObservable}",
    "description": "We need this JSDoc comment for affecting ESDoc.",
    "lineNumber": 10,
    "ignore": true,
    "unknown": [
      {
        "tagName": "@extends",
        "tagValue": "{Ignored}"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 732,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/testing/SubscriptionLog.js",
    "memberof": null,
    "longname": "es6/testing/SubscriptionLog.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export var SubscriptionLog = (function () {\n    function SubscriptionLog(subscribedFrame, unsubscribedFrame) {\n        if (unsubscribedFrame === void 0) { unsubscribedFrame = Number.POSITIVE_INFINITY; }\n        this.subscribedFrame = subscribedFrame;\n        this.unsubscribedFrame = unsubscribedFrame;\n    }\n    return SubscriptionLog;\n}());\n//# sourceMappingURL=SubscriptionLog.js.map"
  },
  {
    "__docId__": 733,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SubscriptionLog",
    "memberof": "es6/testing/SubscriptionLog.js",
    "longname": "es6/testing/SubscriptionLog.js~SubscriptionLog",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/testing/SubscriptionLog.js",
    "importStyle": "{SubscriptionLog}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 734,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/testing/SubscriptionLoggable.js",
    "memberof": null,
    "longname": "es6/testing/SubscriptionLoggable.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { SubscriptionLog } from './SubscriptionLog';\nexport var SubscriptionLoggable = (function () {\n    function SubscriptionLoggable() {\n        this.subscriptions = [];\n    }\n    SubscriptionLoggable.prototype.logSubscribedFrame = function () {\n        this.subscriptions.push(new SubscriptionLog(this.scheduler.now()));\n        return this.subscriptions.length - 1;\n    };\n    SubscriptionLoggable.prototype.logUnsubscribedFrame = function (index) {\n        var subscriptionLogs = this.subscriptions;\n        var oldSubscriptionLog = subscriptionLogs[index];\n        subscriptionLogs[index] = new SubscriptionLog(oldSubscriptionLog.subscribedFrame, this.scheduler.now());\n    };\n    return SubscriptionLoggable;\n}());\n//# sourceMappingURL=SubscriptionLoggable.js.map"
  },
  {
    "__docId__": 735,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "SubscriptionLoggable",
    "memberof": "es6/testing/SubscriptionLoggable.js",
    "longname": "es6/testing/SubscriptionLoggable.js~SubscriptionLoggable",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/testing/SubscriptionLoggable.js",
    "importStyle": "{SubscriptionLoggable}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 736,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/testing/TestMessage.js",
    "memberof": null,
    "longname": "es6/testing/TestMessage.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "//# sourceMappingURL=TestMessage.js.map"
  },
  {
    "__docId__": 737,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/testing/TestScheduler.js",
    "memberof": null,
    "longname": "es6/testing/TestScheduler.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Observable } from '../Observable';\nimport { Notification } from '../Notification';\nimport { ColdObservable } from './ColdObservable';\nimport { HotObservable } from './HotObservable';\nimport { SubscriptionLog } from './SubscriptionLog';\nimport { VirtualTimeScheduler, VirtualAction } from '../scheduler/VirtualTimeScheduler';\nvar defaultMaxFrame = 750;\nexport var TestScheduler = (function (_super) {\n    __extends(TestScheduler, _super);\n    function TestScheduler(assertDeepEqual) {\n        _super.call(this, VirtualAction, defaultMaxFrame);\n        this.assertDeepEqual = assertDeepEqual;\n        this.hotObservables = [];\n        this.coldObservables = [];\n        this.flushTests = [];\n    }\n    TestScheduler.prototype.createTime = function (marbles) {\n        var indexOf = marbles.indexOf('|');\n        if (indexOf === -1) {\n            throw new Error('marble diagram for time should have a completion marker \"|\"');\n        }\n        return indexOf * TestScheduler.frameTimeFactor;\n    };\n    TestScheduler.prototype.createColdObservable = function (marbles, values, error) {\n        if (marbles.indexOf('^') !== -1) {\n            throw new Error('cold observable cannot have subscription offset \"^\"');\n        }\n        if (marbles.indexOf('!') !== -1) {\n            throw new Error('cold observable cannot have unsubscription marker \"!\"');\n        }\n        var messages = TestScheduler.parseMarbles(marbles, values, error);\n        var cold = new ColdObservable(messages, this);\n        this.coldObservables.push(cold);\n        return cold;\n    };\n    TestScheduler.prototype.createHotObservable = function (marbles, values, error) {\n        if (marbles.indexOf('!') !== -1) {\n            throw new Error('hot observable cannot have unsubscription marker \"!\"');\n        }\n        var messages = TestScheduler.parseMarbles(marbles, values, error);\n        var subject = new HotObservable(messages, this);\n        this.hotObservables.push(subject);\n        return subject;\n    };\n    TestScheduler.prototype.materializeInnerObservable = function (observable, outerFrame) {\n        var _this = this;\n        var messages = [];\n        observable.subscribe(function (value) {\n            messages.push({ frame: _this.frame - outerFrame, notification: Notification.createNext(value) });\n        }, function (err) {\n            messages.push({ frame: _this.frame - outerFrame, notification: Notification.createError(err) });\n        }, function () {\n            messages.push({ frame: _this.frame - outerFrame, notification: Notification.createComplete() });\n        });\n        return messages;\n    };\n    TestScheduler.prototype.expectObservable = function (observable, unsubscriptionMarbles) {\n        var _this = this;\n        if (unsubscriptionMarbles === void 0) { unsubscriptionMarbles = null; }\n        var actual = [];\n        var flushTest = { actual: actual, ready: false };\n        var unsubscriptionFrame = TestScheduler\n            .parseMarblesAsSubscriptions(unsubscriptionMarbles).unsubscribedFrame;\n        var subscription;\n        this.schedule(function () {\n            subscription = observable.subscribe(function (x) {\n                var value = x;\n                // Support Observable-of-Observables\n                if (x instanceof Observable) {\n                    value = _this.materializeInnerObservable(value, _this.frame);\n                }\n                actual.push({ frame: _this.frame, notification: Notification.createNext(value) });\n            }, function (err) {\n                actual.push({ frame: _this.frame, notification: Notification.createError(err) });\n            }, function () {\n                actual.push({ frame: _this.frame, notification: Notification.createComplete() });\n            });\n        }, 0);\n        if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) {\n            this.schedule(function () { return subscription.unsubscribe(); }, unsubscriptionFrame);\n        }\n        this.flushTests.push(flushTest);\n        return {\n            toBe: function (marbles, values, errorValue) {\n                flushTest.ready = true;\n                flushTest.expected = TestScheduler.parseMarbles(marbles, values, errorValue, true);\n            }\n        };\n    };\n    TestScheduler.prototype.expectSubscriptions = function (actualSubscriptionLogs) {\n        var flushTest = { actual: actualSubscriptionLogs, ready: false };\n        this.flushTests.push(flushTest);\n        return {\n            toBe: function (marbles) {\n                var marblesArray = (typeof marbles === 'string') ? [marbles] : marbles;\n                flushTest.ready = true;\n                flushTest.expected = marblesArray.map(function (marbles) {\n                    return TestScheduler.parseMarblesAsSubscriptions(marbles);\n                });\n            }\n        };\n    };\n    TestScheduler.prototype.flush = function () {\n        var hotObservables = this.hotObservables;\n        while (hotObservables.length > 0) {\n            hotObservables.shift().setup();\n        }\n        _super.prototype.flush.call(this);\n        var readyFlushTests = this.flushTests.filter(function (test) { return test.ready; });\n        while (readyFlushTests.length > 0) {\n            var test_1 = readyFlushTests.shift();\n            this.assertDeepEqual(test_1.actual, test_1.expected);\n        }\n    };\n    TestScheduler.parseMarblesAsSubscriptions = function (marbles) {\n        if (typeof marbles !== 'string') {\n            return new SubscriptionLog(Number.POSITIVE_INFINITY);\n        }\n        var len = marbles.length;\n        var groupStart = -1;\n        var subscriptionFrame = Number.POSITIVE_INFINITY;\n        var unsubscriptionFrame = Number.POSITIVE_INFINITY;\n        for (var i = 0; i < len; i++) {\n            var frame = i * this.frameTimeFactor;\n            var c = marbles[i];\n            switch (c) {\n                case '-':\n                case ' ':\n                    break;\n                case '(':\n                    groupStart = frame;\n                    break;\n                case ')':\n                    groupStart = -1;\n                    break;\n                case '^':\n                    if (subscriptionFrame !== Number.POSITIVE_INFINITY) {\n                        throw new Error('found a second subscription point \\'^\\' in a ' +\n                            'subscription marble diagram. There can only be one.');\n                    }\n                    subscriptionFrame = groupStart > -1 ? groupStart : frame;\n                    break;\n                case '!':\n                    if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) {\n                        throw new Error('found a second subscription point \\'^\\' in a ' +\n                            'subscription marble diagram. There can only be one.');\n                    }\n                    unsubscriptionFrame = groupStart > -1 ? groupStart : frame;\n                    break;\n                default:\n                    throw new Error('there can only be \\'^\\' and \\'!\\' markers in a ' +\n                        'subscription marble diagram. Found instead \\'' + c + '\\'.');\n            }\n        }\n        if (unsubscriptionFrame < 0) {\n            return new SubscriptionLog(subscriptionFrame);\n        }\n        else {\n            return new SubscriptionLog(subscriptionFrame, unsubscriptionFrame);\n        }\n    };\n    TestScheduler.parseMarbles = function (marbles, values, errorValue, materializeInnerObservables) {\n        if (materializeInnerObservables === void 0) { materializeInnerObservables = false; }\n        if (marbles.indexOf('!') !== -1) {\n            throw new Error('conventional marble diagrams cannot have the ' +\n                'unsubscription marker \"!\"');\n        }\n        var len = marbles.length;\n        var testMessages = [];\n        var subIndex = marbles.indexOf('^');\n        var frameOffset = subIndex === -1 ? 0 : (subIndex * -this.frameTimeFactor);\n        var getValue = typeof values !== 'object' ?\n            function (x) { return x; } :\n            function (x) {\n                // Support Observable-of-Observables\n                if (materializeInnerObservables && values[x] instanceof ColdObservable) {\n                    return values[x].messages;\n                }\n                return values[x];\n            };\n        var groupStart = -1;\n        for (var i = 0; i < len; i++) {\n            var frame = i * this.frameTimeFactor + frameOffset;\n            var notification = void 0;\n            var c = marbles[i];\n            switch (c) {\n                case '-':\n                case ' ':\n                    break;\n                case '(':\n                    groupStart = frame;\n                    break;\n                case ')':\n                    groupStart = -1;\n                    break;\n                case '|':\n                    notification = Notification.createComplete();\n                    break;\n                case '^':\n                    break;\n                case '#':\n                    notification = Notification.createError(errorValue || 'error');\n                    break;\n                default:\n                    notification = Notification.createNext(getValue(c));\n                    break;\n            }\n            if (notification) {\n                testMessages.push({ frame: groupStart > -1 ? groupStart : frame, notification: notification });\n            }\n        }\n        return testMessages;\n    };\n    return TestScheduler;\n}(VirtualTimeScheduler));\n//# sourceMappingURL=TestScheduler.js.map"
  },
  {
    "__docId__": 738,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "defaultMaxFrame",
    "memberof": "es6/testing/TestScheduler.js",
    "longname": "es6/testing/TestScheduler.js~defaultMaxFrame",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/testing/TestScheduler.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 7,
    "undocument": true,
    "type": {
      "types": [
        "number"
      ]
    }
  },
  {
    "__docId__": 739,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TestScheduler",
    "memberof": "es6/testing/TestScheduler.js",
    "longname": "es6/testing/TestScheduler.js~TestScheduler",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/testing/TestScheduler.js",
    "importStyle": "{TestScheduler}",
    "description": null,
    "lineNumber": 8,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 740,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/AnimationFrame.js",
    "memberof": null,
    "longname": "es6/util/AnimationFrame.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from './root';\nexport var RequestAnimationFrameDefinition = (function () {\n    function RequestAnimationFrameDefinition(root) {\n        if (root.requestAnimationFrame) {\n            this.cancelAnimationFrame = root.cancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.requestAnimationFrame.bind(root);\n        }\n        else if (root.mozRequestAnimationFrame) {\n            this.cancelAnimationFrame = root.mozCancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.mozRequestAnimationFrame.bind(root);\n        }\n        else if (root.webkitRequestAnimationFrame) {\n            this.cancelAnimationFrame = root.webkitCancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.webkitRequestAnimationFrame.bind(root);\n        }\n        else if (root.msRequestAnimationFrame) {\n            this.cancelAnimationFrame = root.msCancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.msRequestAnimationFrame.bind(root);\n        }\n        else if (root.oRequestAnimationFrame) {\n            this.cancelAnimationFrame = root.oCancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.oRequestAnimationFrame.bind(root);\n        }\n        else {\n            this.cancelAnimationFrame = root.clearTimeout.bind(root);\n            this.requestAnimationFrame = function (cb) { return root.setTimeout(cb, 1000 / 60); };\n        }\n    }\n    return RequestAnimationFrameDefinition;\n}());\nexport var AnimationFrame = new RequestAnimationFrameDefinition(root);\n//# sourceMappingURL=AnimationFrame.js.map"
  },
  {
    "__docId__": 741,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "RequestAnimationFrameDefinition",
    "memberof": "es6/util/AnimationFrame.js",
    "longname": "es6/util/AnimationFrame.js~RequestAnimationFrameDefinition",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/AnimationFrame.js",
    "importStyle": "{RequestAnimationFrameDefinition}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 742,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "AnimationFrame",
    "memberof": "es6/util/AnimationFrame.js",
    "longname": "es6/util/AnimationFrame.js~AnimationFrame",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/AnimationFrame.js",
    "importStyle": "{AnimationFrame}",
    "description": null,
    "lineNumber": 31,
    "undocument": true,
    "type": {
      "types": [
        "RequestAnimationFrameDefinition"
      ]
    }
  },
  {
    "__docId__": 743,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/ArgumentOutOfRangeError.js",
    "memberof": null,
    "longname": "es6/util/ArgumentOutOfRangeError.js",
    "access": null,
    "description": null,
    "lineNumber": 11,
    "content": "/**\n * An error thrown when an element was queried at a certain index of an\n * Observable, but no such index or position exists in that sequence.\n *\n * @see {@link elementAt}\n * @see {@link take}\n * @see {@link takeLast}\n *\n * @class ArgumentOutOfRangeError\n */\nexport var ArgumentOutOfRangeError = (function (_super) {\n    __extends(ArgumentOutOfRangeError, _super);\n    function ArgumentOutOfRangeError() {\n        var err = _super.call(this, 'argument out of range');\n        this.name = err.name = 'ArgumentOutOfRangeError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return ArgumentOutOfRangeError;\n}(Error));\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map"
  },
  {
    "__docId__": 744,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ArgumentOutOfRangeError",
    "memberof": "es6/util/ArgumentOutOfRangeError.js",
    "longname": "es6/util/ArgumentOutOfRangeError.js~ArgumentOutOfRangeError",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/ArgumentOutOfRangeError.js",
    "importStyle": "{ArgumentOutOfRangeError}",
    "description": "An error thrown when an element was queried at a certain index of an\nObservable, but no such index or position exists in that sequence.",
    "see": [
      "{@link elementAt}",
      "{@link take}",
      "{@link takeLast}"
    ],
    "lineNumber": 11,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "ArgumentOutOfRangeError"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 745,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/EmptyError.js",
    "memberof": null,
    "longname": "es6/util/EmptyError.js",
    "access": null,
    "description": null,
    "lineNumber": 11,
    "content": "/**\n * An error thrown when an Observable or a sequence was queried but has no\n * elements.\n *\n * @see {@link first}\n * @see {@link last}\n * @see {@link single}\n *\n * @class EmptyError\n */\nexport var EmptyError = (function (_super) {\n    __extends(EmptyError, _super);\n    function EmptyError() {\n        var err = _super.call(this, 'no elements in sequence');\n        this.name = err.name = 'EmptyError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return EmptyError;\n}(Error));\n//# sourceMappingURL=EmptyError.js.map"
  },
  {
    "__docId__": 746,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "EmptyError",
    "memberof": "es6/util/EmptyError.js",
    "longname": "es6/util/EmptyError.js~EmptyError",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/EmptyError.js",
    "importStyle": "{EmptyError}",
    "description": "An error thrown when an Observable or a sequence was queried but has no\nelements.",
    "see": [
      "{@link first}",
      "{@link last}",
      "{@link single}"
    ],
    "lineNumber": 11,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "EmptyError"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 747,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/FastMap.js",
    "memberof": null,
    "longname": "es6/util/FastMap.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export var FastMap = (function () {\n    function FastMap() {\n        this.values = {};\n    }\n    FastMap.prototype.delete = function (key) {\n        this.values[key] = null;\n        return true;\n    };\n    FastMap.prototype.set = function (key, value) {\n        this.values[key] = value;\n        return this;\n    };\n    FastMap.prototype.get = function (key) {\n        return this.values[key];\n    };\n    FastMap.prototype.forEach = function (cb, thisArg) {\n        var values = this.values;\n        for (var key in values) {\n            if (values.hasOwnProperty(key) && values[key] !== null) {\n                cb.call(thisArg, values[key], key);\n            }\n        }\n    };\n    FastMap.prototype.clear = function () {\n        this.values = {};\n    };\n    return FastMap;\n}());\n//# sourceMappingURL=FastMap.js.map"
  },
  {
    "__docId__": 748,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "FastMap",
    "memberof": "es6/util/FastMap.js",
    "longname": "es6/util/FastMap.js~FastMap",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/FastMap.js",
    "importStyle": "{FastMap}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 749,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/Immediate.js",
    "memberof": null,
    "longname": "es6/util/Immediate.js",
    "access": null,
    "description": null,
    "lineNumber": 4,
    "content": "/**\nSome credit for this helper goes to http://github.com/YuzuJS/setImmediate\n*/\nimport { root } from './root';\nexport var ImmediateDefinition = (function () {\n    function ImmediateDefinition(root) {\n        this.root = root;\n        if (root.setImmediate && typeof root.setImmediate === 'function') {\n            this.setImmediate = root.setImmediate.bind(root);\n            this.clearImmediate = root.clearImmediate.bind(root);\n        }\n        else {\n            this.nextHandle = 1;\n            this.tasksByHandle = {};\n            this.currentlyRunningATask = false;\n            // Don't get fooled by e.g. browserify environments.\n            if (this.canUseProcessNextTick()) {\n                // For Node.js before 0.9\n                this.setImmediate = this.createProcessNextTickSetImmediate();\n            }\n            else if (this.canUsePostMessage()) {\n                // For non-IE10 modern browsers\n                this.setImmediate = this.createPostMessageSetImmediate();\n            }\n            else if (this.canUseMessageChannel()) {\n                // For web workers, where supported\n                this.setImmediate = this.createMessageChannelSetImmediate();\n            }\n            else if (this.canUseReadyStateChange()) {\n                // For IE 6–8\n                this.setImmediate = this.createReadyStateChangeSetImmediate();\n            }\n            else {\n                // For older browsers\n                this.setImmediate = this.createSetTimeoutSetImmediate();\n            }\n            var ci = function clearImmediate(handle) {\n                delete clearImmediate.instance.tasksByHandle[handle];\n            };\n            ci.instance = this;\n            this.clearImmediate = ci;\n        }\n    }\n    ImmediateDefinition.prototype.identify = function (o) {\n        return this.root.Object.prototype.toString.call(o);\n    };\n    ImmediateDefinition.prototype.canUseProcessNextTick = function () {\n        return this.identify(this.root.process) === '[object process]';\n    };\n    ImmediateDefinition.prototype.canUseMessageChannel = function () {\n        return Boolean(this.root.MessageChannel);\n    };\n    ImmediateDefinition.prototype.canUseReadyStateChange = function () {\n        var document = this.root.document;\n        return Boolean(document && 'onreadystatechange' in document.createElement('script'));\n    };\n    ImmediateDefinition.prototype.canUsePostMessage = function () {\n        var root = this.root;\n        // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n        // where `root.postMessage` means something completely different and can't be used for this purpose.\n        if (root.postMessage && !root.importScripts) {\n            var postMessageIsAsynchronous_1 = true;\n            var oldOnMessage = root.onmessage;\n            root.onmessage = function () {\n                postMessageIsAsynchronous_1 = false;\n            };\n            root.postMessage('', '*');\n            root.onmessage = oldOnMessage;\n            return postMessageIsAsynchronous_1;\n        }\n        return false;\n    };\n    // This function accepts the same arguments as setImmediate, but\n    // returns a function that requires no arguments.\n    ImmediateDefinition.prototype.partiallyApplied = function (handler) {\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        var fn = function result() {\n            var _a = result, handler = _a.handler, args = _a.args;\n            if (typeof handler === 'function') {\n                handler.apply(undefined, args);\n            }\n            else {\n                (new Function('' + handler))();\n            }\n        };\n        fn.handler = handler;\n        fn.args = args;\n        return fn;\n    };\n    ImmediateDefinition.prototype.addFromSetImmediateArguments = function (args) {\n        this.tasksByHandle[this.nextHandle] = this.partiallyApplied.apply(undefined, args);\n        return this.nextHandle++;\n    };\n    ImmediateDefinition.prototype.createProcessNextTickSetImmediate = function () {\n        var fn = function setImmediate() {\n            var instance = setImmediate.instance;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            instance.root.process.nextTick(instance.partiallyApplied(instance.runIfPresent, handle));\n            return handle;\n        };\n        fn.instance = this;\n        return fn;\n    };\n    ImmediateDefinition.prototype.createPostMessageSetImmediate = function () {\n        // Installs an event handler on `global` for the `message` event: see\n        // * https://developer.mozilla.org/en/DOM/window.postMessage\n        // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n        var root = this.root;\n        var messagePrefix = 'setImmediate$' + root.Math.random() + '$';\n        var onGlobalMessage = function globalMessageHandler(event) {\n            var instance = globalMessageHandler.instance;\n            if (event.source === root &&\n                typeof event.data === 'string' &&\n                event.data.indexOf(messagePrefix) === 0) {\n                instance.runIfPresent(+event.data.slice(messagePrefix.length));\n            }\n        };\n        onGlobalMessage.instance = this;\n        root.addEventListener('message', onGlobalMessage, false);\n        var fn = function setImmediate() {\n            var _a = setImmediate, messagePrefix = _a.messagePrefix, instance = _a.instance;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            instance.root.postMessage(messagePrefix + handle, '*');\n            return handle;\n        };\n        fn.instance = this;\n        fn.messagePrefix = messagePrefix;\n        return fn;\n    };\n    ImmediateDefinition.prototype.runIfPresent = function (handle) {\n        // From the spec: 'Wait until any invocations of this algorithm started before this one have completed.'\n        // So if we're currently running a task, we'll need to delay this invocation.\n        if (this.currentlyRunningATask) {\n            // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n            // 'too much recursion' error.\n            this.root.setTimeout(this.partiallyApplied(this.runIfPresent, handle), 0);\n        }\n        else {\n            var task = this.tasksByHandle[handle];\n            if (task) {\n                this.currentlyRunningATask = true;\n                try {\n                    task();\n                }\n                finally {\n                    this.clearImmediate(handle);\n                    this.currentlyRunningATask = false;\n                }\n            }\n        }\n    };\n    ImmediateDefinition.prototype.createMessageChannelSetImmediate = function () {\n        var _this = this;\n        var channel = new this.root.MessageChannel();\n        channel.port1.onmessage = function (event) {\n            var handle = event.data;\n            _this.runIfPresent(handle);\n        };\n        var fn = function setImmediate() {\n            var _a = setImmediate, channel = _a.channel, instance = _a.instance;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            channel.port2.postMessage(handle);\n            return handle;\n        };\n        fn.channel = channel;\n        fn.instance = this;\n        return fn;\n    };\n    ImmediateDefinition.prototype.createReadyStateChangeSetImmediate = function () {\n        var fn = function setImmediate() {\n            var instance = setImmediate.instance;\n            var root = instance.root;\n            var doc = root.document;\n            var html = doc.documentElement;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n            // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n            var script = doc.createElement('script');\n            script.onreadystatechange = function () {\n                instance.runIfPresent(handle);\n                script.onreadystatechange = null;\n                html.removeChild(script);\n                script = null;\n            };\n            html.appendChild(script);\n            return handle;\n        };\n        fn.instance = this;\n        return fn;\n    };\n    ImmediateDefinition.prototype.createSetTimeoutSetImmediate = function () {\n        var fn = function setImmediate() {\n            var instance = setImmediate.instance;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            instance.root.setTimeout(instance.partiallyApplied(instance.runIfPresent, handle), 0);\n            return handle;\n        };\n        fn.instance = this;\n        return fn;\n    };\n    return ImmediateDefinition;\n}());\nexport var Immediate = new ImmediateDefinition(root);\n//# sourceMappingURL=Immediate.js.map"
  },
  {
    "__docId__": 750,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ImmediateDefinition",
    "memberof": "es6/util/Immediate.js",
    "longname": "es6/util/Immediate.js~ImmediateDefinition",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/Immediate.js",
    "importStyle": "{ImmediateDefinition}",
    "description": null,
    "lineNumber": 5,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 751,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Immediate",
    "memberof": "es6/util/Immediate.js",
    "longname": "es6/util/Immediate.js~Immediate",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/Immediate.js",
    "importStyle": "{Immediate}",
    "description": null,
    "lineNumber": 206,
    "undocument": true,
    "type": {
      "types": [
        "ImmediateDefinition"
      ]
    }
  },
  {
    "__docId__": 752,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/Map.js",
    "memberof": null,
    "longname": "es6/util/Map.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from './root';\nimport { MapPolyfill } from './MapPolyfill';\nexport var Map = root.Map || (function () { return MapPolyfill; })();\n//# sourceMappingURL=Map.js.map"
  },
  {
    "__docId__": 753,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Map",
    "memberof": "es6/util/Map.js",
    "longname": "es6/util/Map.js~Map",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/Map.js",
    "importStyle": "{Map}",
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 754,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/MapPolyfill.js",
    "memberof": null,
    "longname": "es6/util/MapPolyfill.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export var MapPolyfill = (function () {\n    function MapPolyfill() {\n        this.size = 0;\n        this._values = [];\n        this._keys = [];\n    }\n    MapPolyfill.prototype.get = function (key) {\n        var i = this._keys.indexOf(key);\n        return i === -1 ? undefined : this._values[i];\n    };\n    MapPolyfill.prototype.set = function (key, value) {\n        var i = this._keys.indexOf(key);\n        if (i === -1) {\n            this._keys.push(key);\n            this._values.push(value);\n            this.size++;\n        }\n        else {\n            this._values[i] = value;\n        }\n        return this;\n    };\n    MapPolyfill.prototype.delete = function (key) {\n        var i = this._keys.indexOf(key);\n        if (i === -1) {\n            return false;\n        }\n        this._values.splice(i, 1);\n        this._keys.splice(i, 1);\n        this.size--;\n        return true;\n    };\n    MapPolyfill.prototype.clear = function () {\n        this._keys.length = 0;\n        this._values.length = 0;\n        this.size = 0;\n    };\n    MapPolyfill.prototype.forEach = function (cb, thisArg) {\n        for (var i = 0; i < this.size; i++) {\n            cb.call(thisArg, this._values[i], this._keys[i]);\n        }\n    };\n    return MapPolyfill;\n}());\n//# sourceMappingURL=MapPolyfill.js.map"
  },
  {
    "__docId__": 755,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "MapPolyfill",
    "memberof": "es6/util/MapPolyfill.js",
    "longname": "es6/util/MapPolyfill.js~MapPolyfill",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/MapPolyfill.js",
    "importStyle": "{MapPolyfill}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 756,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/ObjectUnsubscribedError.js",
    "memberof": null,
    "longname": "es6/util/ObjectUnsubscribedError.js",
    "access": null,
    "description": null,
    "lineNumber": 10,
    "content": "/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport var ObjectUnsubscribedError = (function (_super) {\n    __extends(ObjectUnsubscribedError, _super);\n    function ObjectUnsubscribedError() {\n        var err = _super.call(this, 'object unsubscribed');\n        this.name = err.name = 'ObjectUnsubscribedError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return ObjectUnsubscribedError;\n}(Error));\n//# sourceMappingURL=ObjectUnsubscribedError.js.map"
  },
  {
    "__docId__": 757,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "ObjectUnsubscribedError",
    "memberof": "es6/util/ObjectUnsubscribedError.js",
    "longname": "es6/util/ObjectUnsubscribedError.js~ObjectUnsubscribedError",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/ObjectUnsubscribedError.js",
    "importStyle": "{ObjectUnsubscribedError}",
    "description": "An error thrown when an action is invalid because the object has been\nunsubscribed.",
    "see": [
      "{@link Subject}",
      "{@link BehaviorSubject}"
    ],
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "ObjectUnsubscribedError"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 758,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/Set.js",
    "memberof": null,
    "longname": "es6/util/Set.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from './root';\nexport function minimalSetImpl() {\n    // THIS IS NOT a full impl of Set, this is just the minimum\n    // bits of functionality we need for this library.\n    return (function () {\n        function MinimalSet() {\n            this._values = [];\n        }\n        MinimalSet.prototype.add = function (value) {\n            if (!this.has(value)) {\n                this._values.push(value);\n            }\n        };\n        MinimalSet.prototype.has = function (value) {\n            return this._values.indexOf(value) !== -1;\n        };\n        Object.defineProperty(MinimalSet.prototype, \"size\", {\n            get: function () {\n                return this._values.length;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        MinimalSet.prototype.clear = function () {\n            this._values.length = 0;\n        };\n        return MinimalSet;\n    }());\n}\nexport var Set = root.Set || minimalSetImpl();\n//# sourceMappingURL=Set.js.map"
  },
  {
    "__docId__": 759,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "minimalSetImpl",
    "memberof": "es6/util/Set.js",
    "longname": "es6/util/Set.js~minimalSetImpl",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/Set.js",
    "importStyle": "{minimalSetImpl}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 760,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "Set",
    "memberof": "es6/util/Set.js",
    "longname": "es6/util/Set.js~Set",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/Set.js",
    "importStyle": "{Set}",
    "description": null,
    "lineNumber": 30,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 761,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/TimeoutError.js",
    "memberof": null,
    "longname": "es6/util/TimeoutError.js",
    "access": null,
    "description": null,
    "lineNumber": 8,
    "content": "/**\n * An error thrown when duetime elapses.\n *\n * @see {@link timeout}\n *\n * @class TimeoutError\n */\nexport var TimeoutError = (function (_super) {\n    __extends(TimeoutError, _super);\n    function TimeoutError() {\n        var err = _super.call(this, 'Timeout has occurred');\n        this.name = err.name = 'TimeoutError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return TimeoutError;\n}(Error));\n//# sourceMappingURL=TimeoutError.js.map"
  },
  {
    "__docId__": 762,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "TimeoutError",
    "memberof": "es6/util/TimeoutError.js",
    "longname": "es6/util/TimeoutError.js~TimeoutError",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/TimeoutError.js",
    "importStyle": "{TimeoutError}",
    "description": "An error thrown when duetime elapses.",
    "see": [
      "{@link timeout}"
    ],
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@class",
        "tagValue": "TimeoutError"
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 763,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/UnsubscriptionError.js",
    "memberof": null,
    "longname": "es6/util/UnsubscriptionError.js",
    "access": null,
    "description": null,
    "lineNumber": 5,
    "content": "/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport var UnsubscriptionError = (function (_super) {\n    __extends(UnsubscriptionError, _super);\n    function UnsubscriptionError(errors) {\n        _super.call(this);\n        this.errors = errors;\n        var err = Error.call(this, errors ?\n            errors.length + \" errors occurred during unsubscription:\\n  \" + errors.map(function (err, i) { return ((i + 1) + \") \" + err.toString()); }).join('\\n  ') : '');\n        this.name = err.name = 'UnsubscriptionError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return UnsubscriptionError;\n}(Error));\n//# sourceMappingURL=UnsubscriptionError.js.map"
  },
  {
    "__docId__": 764,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "UnsubscriptionError",
    "memberof": "es6/util/UnsubscriptionError.js",
    "longname": "es6/util/UnsubscriptionError.js~UnsubscriptionError",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/UnsubscriptionError.js",
    "importStyle": "{UnsubscriptionError}",
    "description": "An error thrown when one or more errors have occurred during the\n`unsubscribe` of a {@link Subscription}.",
    "lineNumber": 5,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 765,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/applyMixins.js",
    "memberof": null,
    "longname": "es6/util/applyMixins.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export function applyMixins(derivedCtor, baseCtors) {\n    for (var i = 0, len = baseCtors.length; i < len; i++) {\n        var baseCtor = baseCtors[i];\n        var propertyKeys = Object.getOwnPropertyNames(baseCtor.prototype);\n        for (var j = 0, len2 = propertyKeys.length; j < len2; j++) {\n            var name_1 = propertyKeys[j];\n            derivedCtor.prototype[name_1] = baseCtor.prototype[name_1];\n        }\n    }\n}\n//# sourceMappingURL=applyMixins.js.map"
  },
  {
    "__docId__": 766,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "applyMixins",
    "memberof": "es6/util/applyMixins.js",
    "longname": "es6/util/applyMixins.js~applyMixins",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/applyMixins.js",
    "importStyle": "{applyMixins}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "params": [
      {
        "name": "derivedCtor",
        "types": [
          "*"
        ]
      },
      {
        "name": "baseCtors",
        "types": [
          "*"
        ]
      }
    ],
    "generator": false
  },
  {
    "__docId__": 767,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/assign.js",
    "memberof": null,
    "longname": "es6/util/assign.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from './root';\nexport function assignImpl(target) {\n    var sources = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        sources[_i - 1] = arguments[_i];\n    }\n    var len = sources.length;\n    for (var i = 0; i < len; i++) {\n        var source = sources[i];\n        for (var k in source) {\n            if (source.hasOwnProperty(k)) {\n                target[k] = source[k];\n            }\n        }\n    }\n    return target;\n}\n;\nexport function getAssign(root) {\n    return root.Object.assign || assignImpl;\n}\nexport var assign = getAssign(root);\n//# sourceMappingURL=assign.js.map"
  },
  {
    "__docId__": 768,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "assignImpl",
    "memberof": "es6/util/assign.js",
    "longname": "es6/util/assign.js~assignImpl",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/assign.js",
    "importStyle": "{assignImpl}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "params": [
      {
        "name": "target",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 769,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "getAssign",
    "memberof": "es6/util/assign.js",
    "longname": "es6/util/assign.js~getAssign",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/assign.js",
    "importStyle": "{getAssign}",
    "description": null,
    "lineNumber": 19,
    "undocument": true,
    "params": [
      {
        "name": "root",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 770,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "assign",
    "memberof": "es6/util/assign.js",
    "longname": "es6/util/assign.js~assign",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/assign.js",
    "importStyle": "{assign}",
    "description": null,
    "lineNumber": 22,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 771,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/errorObject.js",
    "memberof": null,
    "longname": "es6/util/errorObject.js",
    "access": null,
    "description": null,
    "lineNumber": 2,
    "content": "// typeof any so that it we don't have to cast when comparing a result to the error object\nexport var errorObject = { e: {} };\n//# sourceMappingURL=errorObject.js.map"
  },
  {
    "__docId__": 772,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "errorObject",
    "memberof": "es6/util/errorObject.js",
    "longname": "es6/util/errorObject.js~errorObject",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/errorObject.js",
    "importStyle": "{errorObject}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 773,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/isArray.js",
    "memberof": null,
    "longname": "es6/util/isArray.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export var isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });\n//# sourceMappingURL=isArray.js.map"
  },
  {
    "__docId__": 774,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "isArray",
    "memberof": "es6/util/isArray.js",
    "longname": "es6/util/isArray.js~isArray",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/isArray.js",
    "importStyle": "{isArray}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 775,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/isDate.js",
    "memberof": null,
    "longname": "es6/util/isDate.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export function isDate(value) {\n    return value instanceof Date && !isNaN(+value);\n}\n//# sourceMappingURL=isDate.js.map"
  },
  {
    "__docId__": 776,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isDate",
    "memberof": "es6/util/isDate.js",
    "longname": "es6/util/isDate.js~isDate",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/isDate.js",
    "importStyle": "{isDate}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "params": [
      {
        "name": "value",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 777,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/isFunction.js",
    "memberof": null,
    "longname": "es6/util/isFunction.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export function isFunction(x) {\n    return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map"
  },
  {
    "__docId__": 778,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isFunction",
    "memberof": "es6/util/isFunction.js",
    "longname": "es6/util/isFunction.js~isFunction",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/isFunction.js",
    "importStyle": "{isFunction}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "params": [
      {
        "name": "x",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 779,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/isNumeric.js",
    "memberof": null,
    "longname": "es6/util/isNumeric.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { isArray } from '../util/isArray';\nexport function isNumeric(val) {\n    // parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n    // ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n    // subtraction forces infinities to NaN\n    // adding 1 corrects loss of precision from parseFloat (#15100)\n    return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\n;\n//# sourceMappingURL=isNumeric.js.map"
  },
  {
    "__docId__": 780,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isNumeric",
    "memberof": "es6/util/isNumeric.js",
    "longname": "es6/util/isNumeric.js~isNumeric",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/isNumeric.js",
    "importStyle": "{isNumeric}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "params": [
      {
        "name": "val",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 781,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/isObject.js",
    "memberof": null,
    "longname": "es6/util/isObject.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export function isObject(x) {\n    return x != null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map"
  },
  {
    "__docId__": 782,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isObject",
    "memberof": "es6/util/isObject.js",
    "longname": "es6/util/isObject.js~isObject",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/isObject.js",
    "importStyle": "{isObject}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "params": [
      {
        "name": "x",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 783,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/isPromise.js",
    "memberof": null,
    "longname": "es6/util/isPromise.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export function isPromise(value) {\n    return value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map"
  },
  {
    "__docId__": 784,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isPromise",
    "memberof": "es6/util/isPromise.js",
    "longname": "es6/util/isPromise.js~isPromise",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/isPromise.js",
    "importStyle": "{isPromise}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "params": [
      {
        "name": "value",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 785,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/isScheduler.js",
    "memberof": null,
    "longname": "es6/util/isScheduler.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export function isScheduler(value) {\n    return value && typeof value.schedule === 'function';\n}\n//# sourceMappingURL=isScheduler.js.map"
  },
  {
    "__docId__": 786,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "isScheduler",
    "memberof": "es6/util/isScheduler.js",
    "longname": "es6/util/isScheduler.js~isScheduler",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/isScheduler.js",
    "importStyle": "{isScheduler}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "params": [
      {
        "name": "value",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 787,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/noop.js",
    "memberof": null,
    "longname": "es6/util/noop.js",
    "access": null,
    "description": null,
    "lineNumber": 2,
    "content": "/* tslint:disable:no-empty */\nexport function noop() { }\n//# sourceMappingURL=noop.js.map"
  },
  {
    "__docId__": 788,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "noop",
    "memberof": "es6/util/noop.js",
    "longname": "es6/util/noop.js~noop",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/noop.js",
    "importStyle": "{noop}",
    "description": null,
    "lineNumber": 2,
    "undocument": true,
    "params": [],
    "generator": false
  },
  {
    "__docId__": 789,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/not.js",
    "memberof": null,
    "longname": "es6/util/not.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "export function not(pred, thisArg) {\n    function notPred() {\n        return !(notPred.pred.apply(notPred.thisArg, arguments));\n    }\n    notPred.pred = pred;\n    notPred.thisArg = thisArg;\n    return notPred;\n}\n//# sourceMappingURL=not.js.map"
  },
  {
    "__docId__": 790,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "not",
    "memberof": "es6/util/not.js",
    "longname": "es6/util/not.js~not",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/not.js",
    "importStyle": "{not}",
    "description": null,
    "lineNumber": 1,
    "undocument": true,
    "params": [
      {
        "name": "pred",
        "types": [
          "*"
        ]
      },
      {
        "name": "thisArg",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 791,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/root.js",
    "memberof": null,
    "longname": "es6/util/root.js",
    "access": null,
    "description": null,
    "lineNumber": 6,
    "content": "/**\n * window: browser in DOM main thread\n * self: browser in WebWorker\n * global: Node.js/other\n */\nexport var root = (typeof window == 'object' && window.window === window && window\n    || typeof self == 'object' && self.self === self && self\n    || typeof global == 'object' && global.global === global && global);\nif (!root) {\n    throw new Error('RxJS could not find any global context (window, self, global)');\n}\n//# sourceMappingURL=root.js.map"
  },
  {
    "__docId__": 792,
    "kind": "variable",
    "static": true,
    "variation": null,
    "name": "root",
    "memberof": "es6/util/root.js",
    "longname": "es6/util/root.js~root",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/root.js",
    "importStyle": "{root}",
    "description": "window: browser in DOM main thread\nself: browser in WebWorker\nglobal: Node.js/other",
    "lineNumber": 6,
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 793,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/subscribeToResult.js",
    "memberof": null,
    "longname": "es6/util/subscribeToResult.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { root } from './root';\nimport { isArray } from './isArray';\nimport { isPromise } from './isPromise';\nimport { Observable } from '../Observable';\nimport { $$iterator } from '../symbol/iterator';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { $$observable } from '../symbol/observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex) {\n    var destination = new InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n    if (destination.closed) {\n        return null;\n    }\n    if (result instanceof Observable) {\n        if (result._isScalar) {\n            destination.next(result.value);\n            destination.complete();\n            return null;\n        }\n        else {\n            return result.subscribe(destination);\n        }\n    }\n    if (isArray(result)) {\n        for (var i = 0, len = result.length; i < len && !destination.closed; i++) {\n            destination.next(result[i]);\n        }\n        if (!destination.closed) {\n            destination.complete();\n        }\n    }\n    else if (isPromise(result)) {\n        result.then(function (value) {\n            if (!destination.closed) {\n                destination.next(value);\n                destination.complete();\n            }\n        }, function (err) { return destination.error(err); })\n            .then(null, function (err) {\n            // Escaping the Promise trap: globally throw unhandled errors\n            root.setTimeout(function () { throw err; });\n        });\n        return destination;\n    }\n    else if (typeof result[$$iterator] === 'function') {\n        var iterator = result[$$iterator]();\n        do {\n            var item = iterator.next();\n            if (item.done) {\n                destination.complete();\n                break;\n            }\n            destination.next(item.value);\n            if (destination.closed) {\n                break;\n            }\n        } while (true);\n    }\n    else if (typeof result[$$observable] === 'function') {\n        var obs = result[$$observable]();\n        if (typeof obs.subscribe !== 'function') {\n            destination.error(new Error('invalid observable'));\n        }\n        else {\n            return obs.subscribe(new InnerSubscriber(outerSubscriber, outerValue, outerIndex));\n        }\n    }\n    else {\n        destination.error(new TypeError('unknown type returned'));\n    }\n    return null;\n}\n//# sourceMappingURL=subscribeToResult.js.map"
  },
  {
    "__docId__": 794,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "subscribeToResult",
    "memberof": "es6/util/subscribeToResult.js",
    "longname": "es6/util/subscribeToResult.js~subscribeToResult",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/subscribeToResult.js",
    "importStyle": "{subscribeToResult}",
    "description": null,
    "lineNumber": 8,
    "undocument": true,
    "params": [
      {
        "name": "outerSubscriber",
        "types": [
          "*"
        ]
      },
      {
        "name": "result",
        "types": [
          "*"
        ]
      },
      {
        "name": "outerValue",
        "types": [
          "*"
        ]
      },
      {
        "name": "outerIndex",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 795,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/toSubscriber.js",
    "memberof": null,
    "longname": "es6/util/toSubscriber.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { Subscriber } from '../Subscriber';\nimport { $$rxSubscriber } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n    if (nextOrObserver) {\n        if (nextOrObserver instanceof Subscriber) {\n            return nextOrObserver;\n        }\n        if (nextOrObserver[$$rxSubscriber]) {\n            return nextOrObserver[$$rxSubscriber]();\n        }\n    }\n    if (!nextOrObserver && !error && !complete) {\n        return new Subscriber(emptyObserver);\n    }\n    return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map"
  },
  {
    "__docId__": 796,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "toSubscriber",
    "memberof": "es6/util/toSubscriber.js",
    "longname": "es6/util/toSubscriber.js~toSubscriber",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/toSubscriber.js",
    "importStyle": "{toSubscriber}",
    "description": null,
    "lineNumber": 4,
    "undocument": true,
    "params": [
      {
        "name": "nextOrObserver",
        "types": [
          "*"
        ]
      },
      {
        "name": "error",
        "types": [
          "*"
        ]
      },
      {
        "name": "complete",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 797,
    "kind": "file",
    "static": true,
    "variation": null,
    "name": "es6/util/tryCatch.js",
    "memberof": null,
    "longname": "es6/util/tryCatch.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "import { errorObject } from './errorObject';\nvar tryCatchTarget;\nfunction tryCatcher() {\n    try {\n        return tryCatchTarget.apply(this, arguments);\n    }\n    catch (e) {\n        errorObject.e = e;\n        return errorObject;\n    }\n}\nexport function tryCatch(fn) {\n    tryCatchTarget = fn;\n    return tryCatcher;\n}\n;\n//# sourceMappingURL=tryCatch.js.map"
  },
  {
    "__docId__": 798,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "tryCatcher",
    "memberof": "es6/util/tryCatch.js",
    "longname": "es6/util/tryCatch.js~tryCatcher",
    "access": null,
    "export": false,
    "importPath": "@reactivex/rxjs/es6/util/tryCatch.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 3,
    "undocument": true,
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 799,
    "kind": "function",
    "static": true,
    "variation": null,
    "name": "tryCatch",
    "memberof": "es6/util/tryCatch.js",
    "longname": "es6/util/tryCatch.js~tryCatch",
    "access": null,
    "export": true,
    "importPath": "@reactivex/rxjs/es6/util/tryCatch.js",
    "importStyle": "{tryCatch}",
    "description": null,
    "lineNumber": 12,
    "undocument": true,
    "params": [
      {
        "name": "fn",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    },
    "generator": false
  },
  {
    "__docId__": 801,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Infinity",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Infinity",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 802,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "NaN",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~NaN",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 803,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "undefined",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~undefined",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 804,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "null",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~null",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 805,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Object",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Object",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 806,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "object",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~object",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 807,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Function",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Function",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 808,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "function",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~function",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 809,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Boolean",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Boolean",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 810,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "boolean",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~boolean",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 811,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Symbol",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Symbol",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 812,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Error",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Error",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 813,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "EvalError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~EvalError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 814,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "InternalError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~InternalError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 815,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "RangeError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~RangeError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 816,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "ReferenceError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~ReferenceError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 817,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "SyntaxError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~SyntaxError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 818,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "TypeError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~TypeError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 819,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "URIError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~URIError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 820,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Number",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Number",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 821,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "number",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~number",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 822,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Date",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Date",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 823,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "String",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~String",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 824,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "string",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~string",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 825,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "RegExp",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~RegExp",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 826,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 827,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Int8Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Int8Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 828,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Uint8Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint8Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 829,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Uint8ClampedArray",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint8ClampedArray",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 830,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Int16Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Int16Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 831,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Uint16Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint16Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 832,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Int32Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Int32Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 833,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Uint32Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint32Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 834,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Float32Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Float32Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 835,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Float64Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Float64Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 836,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Map",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Map",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 837,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Set",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Set",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 838,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "WeakMap",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~WeakMap",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 839,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "WeakSet",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~WeakSet",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 840,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "ArrayBuffer",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~ArrayBuffer",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 841,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "DataView",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~DataView",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 842,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "JSON",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~JSON",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 843,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Promise",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Promise",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 844,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Generator",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Generator",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 845,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "GeneratorFunction",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~GeneratorFunction",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 846,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Reflect",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Reflect",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 847,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Proxy",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Proxy",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 849,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "CanvasRenderingContext2D",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "longname": "BuiltinExternal/WebAPIExternal.js~CanvasRenderingContext2D",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 850,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "DocumentFragment",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "longname": "BuiltinExternal/WebAPIExternal.js~DocumentFragment",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 851,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Element",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Element",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "longname": "BuiltinExternal/WebAPIExternal.js~Element",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 852,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Event",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Event",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "longname": "BuiltinExternal/WebAPIExternal.js~Event",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 853,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "Node",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Node",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "longname": "BuiltinExternal/WebAPIExternal.js~Node",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 854,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "NodeList",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/NodeList",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "longname": "BuiltinExternal/WebAPIExternal.js~NodeList",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 855,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "XMLHttpRequest",
    "externalLink": "https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "longname": "BuiltinExternal/WebAPIExternal.js~XMLHttpRequest",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 856,
    "kind": "external",
    "static": true,
    "variation": null,
    "name": "AudioContext",
    "externalLink": "https://developer.mozilla.org/en/docs/Web/API/AudioContext",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "longname": "BuiltinExternal/WebAPIExternal.js~AudioContext",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 857,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/Notification-spec.js",
    "memberof": null,
    "longname": "spec-js/Notification-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../dist/cjs/Rx');\nvar Notification = Rx.Notification;\n/** @test {Notification} */\ndescribe('Notification', function () {\n    it('should exist', function () {\n        chai_1.expect(Notification).exist;\n        chai_1.expect(Notification).to.be.a('function');\n    });\n    it('should not allow convert to observable if given kind is unknown', function () {\n        var n = new Notification('x');\n        chai_1.expect(function () { return n.toObservable(); }).to.throw();\n    });\n    describe('createNext', function () {\n        it('should return a Notification', function () {\n            var n = Notification.createNext('test');\n            chai_1.expect(n instanceof Notification).to.be.true;\n            chai_1.expect(n.value).to.equal('test');\n            chai_1.expect(n.kind).to.equal('N');\n            chai_1.expect(n.error).to.be.a('undefined');\n            chai_1.expect(n.hasValue).to.be.true;\n        });\n    });\n    describe('createError', function () {\n        it('should return a Notification', function () {\n            var n = Notification.createError('test');\n            chai_1.expect(n instanceof Notification).to.be.true;\n            chai_1.expect(n.value).to.be.a('undefined');\n            chai_1.expect(n.kind).to.equal('E');\n            chai_1.expect(n.error).to.equal('test');\n            chai_1.expect(n.hasValue).to.be.false;\n        });\n    });\n    describe('createComplete', function () {\n        it('should return a Notification', function () {\n            var n = Notification.createComplete();\n            chai_1.expect(n instanceof Notification).to.be.true;\n            chai_1.expect(n.value).to.be.a('undefined');\n            chai_1.expect(n.kind).to.equal('C');\n            chai_1.expect(n.error).to.be.a('undefined');\n            chai_1.expect(n.hasValue).to.be.false;\n        });\n    });\n    describe('toObservable', function () {\n        it('should create observable from a next Notification', function () {\n            var value = 'a';\n            var next = Notification.createNext(value);\n            expectObservable(next.toObservable()).toBe('(a|)');\n        });\n        it('should create observable from a complete Notification', function () {\n            var complete = Notification.createComplete();\n            expectObservable(complete.toObservable()).toBe('|');\n        });\n        it('should create observable from a error Notification', function () {\n            var error = Notification.createError('error');\n            expectObservable(error.toObservable()).toBe('#');\n        });\n    });\n    describe('static reference', function () {\n        it('should create new next Notification with value', function () {\n            var value = 'a';\n            var first = Notification.createNext(value);\n            var second = Notification.createNext(value);\n            chai_1.expect(first).not.to.equal(second);\n        });\n        it('should create new error Notification', function () {\n            var first = Notification.createError();\n            var second = Notification.createError();\n            chai_1.expect(first).not.to.equal(second);\n        });\n        it('should return static next Notification reference without value', function () {\n            var first = Notification.createNext(undefined);\n            var second = Notification.createNext(undefined);\n            chai_1.expect(first).to.equal(second);\n        });\n        it('should return static complete Notification reference', function () {\n            var first = Notification.createComplete();\n            var second = Notification.createComplete();\n            chai_1.expect(first).to.equal(second);\n        });\n    });\n    describe('do', function () {\n        it('should invoke on next', function () {\n            var n = Notification.createNext('a');\n            var invoked = false;\n            n.do(function (x) {\n                invoked = true;\n            }, function (err) {\n                throw 'should not be called';\n            }, function () {\n                throw 'should not be called';\n            });\n            chai_1.expect(invoked).to.be.true;\n        });\n        it('should invoke on error', function () {\n            var n = Notification.createError();\n            var invoked = false;\n            n.do(function (x) {\n                throw 'should not be called';\n            }, function (err) {\n                invoked = true;\n            }, function () {\n                throw 'should not be called';\n            });\n            chai_1.expect(invoked).to.be.true;\n        });\n        it('should invoke on complete', function () {\n            var n = Notification.createComplete();\n            var invoked = false;\n            n.do(function (x) {\n                throw 'should not be called';\n            }, function (err) {\n                throw 'should not be called';\n            }, function () {\n                invoked = true;\n            });\n            chai_1.expect(invoked).to.be.true;\n        });\n    });\n    describe('accept', function () {\n        it('should accept observer for next Notification', function () {\n            var value = 'a';\n            var observed = false;\n            var n = Notification.createNext(value);\n            var observer = Rx.Subscriber.create(function (x) {\n                chai_1.expect(x).to.equal(value);\n                observed = true;\n            }, function (err) {\n                throw 'should not be called';\n            }, function () {\n                throw 'should not be called';\n            });\n            n.accept(observer);\n            chai_1.expect(observed).to.be.true;\n        });\n        it('should accept observer for error Notification', function () {\n            var observed = false;\n            var n = Notification.createError();\n            var observer = Rx.Subscriber.create(function (x) {\n                throw 'should not be called';\n            }, function (err) {\n                observed = true;\n            }, function () {\n                throw 'should not be called';\n            });\n            n.accept(observer);\n            chai_1.expect(observed).to.be.true;\n        });\n        it('should accept observer for complete Notification', function () {\n            var observed = false;\n            var n = Notification.createComplete();\n            var observer = Rx.Subscriber.create(function (x) {\n                throw 'should not be called';\n            }, function (err) {\n                throw 'should not be called';\n            }, function () {\n                observed = true;\n            });\n            n.accept(observer);\n            chai_1.expect(observed).to.be.true;\n        });\n        it('should accept function for next Notification', function () {\n            var value = 'a';\n            var observed = false;\n            var n = Notification.createNext(value);\n            n.accept(function (x) {\n                chai_1.expect(x).to.equal(value);\n                observed = true;\n            }, function (err) {\n                throw 'should not be called';\n            }, function () {\n                throw 'should not be called';\n            });\n            chai_1.expect(observed).to.be.true;\n        });\n        it('should accept function for error Notification', function () {\n            var observed = false;\n            var error = 'error';\n            var n = Notification.createError(error);\n            n.accept(function (x) {\n                throw 'should not be called';\n            }, function (err) {\n                chai_1.expect(err).to.equal(error);\n                observed = true;\n            }, function () {\n                throw 'should not be called';\n            });\n            chai_1.expect(observed).to.be.true;\n        });\n        it('should accept function for complete Notification', function () {\n            var observed = false;\n            var n = Notification.createComplete();\n            n.accept(function (x) {\n                throw 'should not be called';\n            }, function (err) {\n                throw 'should not be called';\n            }, function () {\n                observed = true;\n            });\n            chai_1.expect(observed).to.be.true;\n        });\n    });\n    describe('observe', function () {\n        it('should observe for next Notification', function () {\n            var value = 'a';\n            var observed = false;\n            var n = Notification.createNext(value);\n            var observer = Rx.Subscriber.create(function (x) {\n                chai_1.expect(x).to.equal(value);\n                observed = true;\n            }, function (err) {\n                throw 'should not be called';\n            }, function () {\n                throw 'should not be called';\n            });\n            n.observe(observer);\n            chai_1.expect(observed).to.be.true;\n        });\n        it('should observe for error Notification', function () {\n            var observed = false;\n            var n = Notification.createError();\n            var observer = Rx.Subscriber.create(function (x) {\n                throw 'should not be called';\n            }, function (err) {\n                observed = true;\n            }, function () {\n                throw 'should not be called';\n            });\n            n.observe(observer);\n            chai_1.expect(observed).to.be.true;\n        });\n        it('should observe for complete Notification', function () {\n            var observed = false;\n            var n = Notification.createComplete();\n            var observer = Rx.Subscriber.create(function (x) {\n                throw 'should not be called';\n            }, function (err) {\n                throw 'should not be called';\n            }, function () {\n                observed = true;\n            });\n            n.observe(observer);\n            chai_1.expect(observed).to.be.true;\n        });\n    });\n});\n//# sourceMappingURL=Notification-spec.js.map"
  },
  {
    "__docId__": 858,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe0",
    "testId": 0,
    "memberof": "spec-js/Notification-spec.js",
    "testDepth": 0,
    "longname": "spec-js/Notification-spec.js~describe0",
    "access": null,
    "description": "Notification",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Notification}"
      }
    ],
    "testTargets": [
      "Notification"
    ]
  },
  {
    "__docId__": 859,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1",
    "testId": 1,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.it1",
    "access": null,
    "description": "should exist",
    "lineNumber": 7
  },
  {
    "__docId__": 860,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2",
    "testId": 2,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.it2",
    "access": null,
    "description": "should not allow convert to observable if given kind is unknown",
    "lineNumber": 11
  },
  {
    "__docId__": 861,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe3",
    "testId": 3,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.describe3",
    "access": null,
    "description": "createNext",
    "lineNumber": 15
  },
  {
    "__docId__": 862,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it4",
    "testId": 4,
    "memberof": "spec-js/Notification-spec.js~describe0.describe3",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe3.it4",
    "access": null,
    "description": "should return a Notification",
    "lineNumber": 16
  },
  {
    "__docId__": 863,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe5",
    "testId": 5,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.describe5",
    "access": null,
    "description": "createError",
    "lineNumber": 25
  },
  {
    "__docId__": 864,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it6",
    "testId": 6,
    "memberof": "spec-js/Notification-spec.js~describe0.describe5",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe5.it6",
    "access": null,
    "description": "should return a Notification",
    "lineNumber": 26
  },
  {
    "__docId__": 865,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe7",
    "testId": 7,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.describe7",
    "access": null,
    "description": "createComplete",
    "lineNumber": 35
  },
  {
    "__docId__": 866,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it8",
    "testId": 8,
    "memberof": "spec-js/Notification-spec.js~describe0.describe7",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe7.it8",
    "access": null,
    "description": "should return a Notification",
    "lineNumber": 36
  },
  {
    "__docId__": 867,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe9",
    "testId": 9,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.describe9",
    "access": null,
    "description": "toObservable",
    "lineNumber": 45
  },
  {
    "__docId__": 868,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it10",
    "testId": 10,
    "memberof": "spec-js/Notification-spec.js~describe0.describe9",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe9.it10",
    "access": null,
    "description": "should create observable from a next Notification",
    "lineNumber": 46
  },
  {
    "__docId__": 869,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it11",
    "testId": 11,
    "memberof": "spec-js/Notification-spec.js~describe0.describe9",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe9.it11",
    "access": null,
    "description": "should create observable from a complete Notification",
    "lineNumber": 51
  },
  {
    "__docId__": 870,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it12",
    "testId": 12,
    "memberof": "spec-js/Notification-spec.js~describe0.describe9",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe9.it12",
    "access": null,
    "description": "should create observable from a error Notification",
    "lineNumber": 55
  },
  {
    "__docId__": 871,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe13",
    "testId": 13,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.describe13",
    "access": null,
    "description": "static reference",
    "lineNumber": 60
  },
  {
    "__docId__": 872,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it14",
    "testId": 14,
    "memberof": "spec-js/Notification-spec.js~describe0.describe13",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe13.it14",
    "access": null,
    "description": "should create new next Notification with value",
    "lineNumber": 61
  },
  {
    "__docId__": 873,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it15",
    "testId": 15,
    "memberof": "spec-js/Notification-spec.js~describe0.describe13",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe13.it15",
    "access": null,
    "description": "should create new error Notification",
    "lineNumber": 67
  },
  {
    "__docId__": 874,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it16",
    "testId": 16,
    "memberof": "spec-js/Notification-spec.js~describe0.describe13",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe13.it16",
    "access": null,
    "description": "should return static next Notification reference without value",
    "lineNumber": 72
  },
  {
    "__docId__": 875,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it17",
    "testId": 17,
    "memberof": "spec-js/Notification-spec.js~describe0.describe13",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe13.it17",
    "access": null,
    "description": "should return static complete Notification reference",
    "lineNumber": 77
  },
  {
    "__docId__": 876,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe18",
    "testId": 18,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.describe18",
    "access": null,
    "description": "do",
    "lineNumber": 83
  },
  {
    "__docId__": 877,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it19",
    "testId": 19,
    "memberof": "spec-js/Notification-spec.js~describe0.describe18",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe18.it19",
    "access": null,
    "description": "should invoke on next",
    "lineNumber": 84
  },
  {
    "__docId__": 878,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it20",
    "testId": 20,
    "memberof": "spec-js/Notification-spec.js~describe0.describe18",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe18.it20",
    "access": null,
    "description": "should invoke on error",
    "lineNumber": 96
  },
  {
    "__docId__": 879,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it21",
    "testId": 21,
    "memberof": "spec-js/Notification-spec.js~describe0.describe18",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe18.it21",
    "access": null,
    "description": "should invoke on complete",
    "lineNumber": 108
  },
  {
    "__docId__": 880,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe22",
    "testId": 22,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.describe22",
    "access": null,
    "description": "accept",
    "lineNumber": 121
  },
  {
    "__docId__": 881,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it23",
    "testId": 23,
    "memberof": "spec-js/Notification-spec.js~describe0.describe22",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe22.it23",
    "access": null,
    "description": "should accept observer for next Notification",
    "lineNumber": 122
  },
  {
    "__docId__": 882,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it24",
    "testId": 24,
    "memberof": "spec-js/Notification-spec.js~describe0.describe22",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe22.it24",
    "access": null,
    "description": "should accept observer for error Notification",
    "lineNumber": 137
  },
  {
    "__docId__": 883,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it25",
    "testId": 25,
    "memberof": "spec-js/Notification-spec.js~describe0.describe22",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe22.it25",
    "access": null,
    "description": "should accept observer for complete Notification",
    "lineNumber": 150
  },
  {
    "__docId__": 884,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it26",
    "testId": 26,
    "memberof": "spec-js/Notification-spec.js~describe0.describe22",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe22.it26",
    "access": null,
    "description": "should accept function for next Notification",
    "lineNumber": 163
  },
  {
    "__docId__": 885,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it27",
    "testId": 27,
    "memberof": "spec-js/Notification-spec.js~describe0.describe22",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe22.it27",
    "access": null,
    "description": "should accept function for error Notification",
    "lineNumber": 177
  },
  {
    "__docId__": 886,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it28",
    "testId": 28,
    "memberof": "spec-js/Notification-spec.js~describe0.describe22",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe22.it28",
    "access": null,
    "description": "should accept function for complete Notification",
    "lineNumber": 191
  },
  {
    "__docId__": 887,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe29",
    "testId": 29,
    "memberof": "spec-js/Notification-spec.js~describe0",
    "testDepth": 1,
    "longname": "spec-js/Notification-spec.js~describe0.describe29",
    "access": null,
    "description": "observe",
    "lineNumber": 204
  },
  {
    "__docId__": 888,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it30",
    "testId": 30,
    "memberof": "spec-js/Notification-spec.js~describe0.describe29",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe29.it30",
    "access": null,
    "description": "should observe for next Notification",
    "lineNumber": 205
  },
  {
    "__docId__": 889,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it31",
    "testId": 31,
    "memberof": "spec-js/Notification-spec.js~describe0.describe29",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe29.it31",
    "access": null,
    "description": "should observe for error Notification",
    "lineNumber": 220
  },
  {
    "__docId__": 890,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it32",
    "testId": 32,
    "memberof": "spec-js/Notification-spec.js~describe0.describe29",
    "testDepth": 2,
    "longname": "spec-js/Notification-spec.js~describe0.describe29.it32",
    "access": null,
    "description": "should observe for complete Notification",
    "lineNumber": 233
  },
  {
    "__docId__": 891,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/Observable-spec.js",
    "memberof": null,
    "longname": "spec-js/Observable-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar chai_1 = require('chai');\nvar Rx = require('../dist/cjs/Rx');\nvar Subscriber = Rx.Subscriber;\nvar Observable = Rx.Observable;\nfunction expectFullObserver(val) {\n    chai_1.expect(val).to.be.a('object');\n    chai_1.expect(val.next).to.be.a('function');\n    chai_1.expect(val.error).to.be.a('function');\n    chai_1.expect(val.complete).to.be.a('function');\n    chai_1.expect(val.closed).to.be.a('boolean');\n}\n/** @test {Observable} */\ndescribe('Observable', function () {\n    it('should be constructed with a subscriber function', function (done) {\n        var source = new Observable(function (observer) {\n            expectFullObserver(observer);\n            observer.next(1);\n            observer.complete();\n        });\n        source.subscribe(function (x) { chai_1.expect(x).to.equal(1); }, null, done);\n    });\n    describe('forEach', function () {\n        it('should iterate and return a Promise', function (done) {\n            var expected = [1, 2, 3];\n            var result = Observable.of(1, 2, 3).forEach(function (x) {\n                chai_1.expect(x).to.equal(expected.shift());\n            }, Promise)\n                .then(function () {\n                done();\n            });\n            chai_1.expect(result.then).to.be.a('function');\n        });\n        it('should reject promise when in error', function (done) {\n            Observable.throw('bad').forEach(function (x) {\n                done(new Error('should not be called'));\n            }, Promise).then(function () {\n                done(new Error('should not complete'));\n            }, function (err) {\n                chai_1.expect(err).to.equal('bad');\n                done();\n            });\n        });\n        it('should allow Promise to be globally configured', function (done) {\n            var wasCalled = false;\n            __root__.Rx = {};\n            __root__.Rx.config = {};\n            __root__.Rx.config.Promise = function MyPromise(callback) {\n                wasCalled = true;\n                return new Promise(callback);\n            };\n            Observable.of(42).forEach(function (x) {\n                chai_1.expect(x).to.equal(42);\n            }).then(function () {\n                chai_1.expect(wasCalled).to.be.true;\n                delete __root__.Rx;\n                done();\n            });\n        });\n        it('should reject promise if nextHandler throws', function (done) {\n            var results = [];\n            Observable.of(1, 2, 3).forEach(function (x) {\n                if (x === 3) {\n                    throw new Error('NO THREES!');\n                }\n                results.push(x);\n            }, Promise)\n                .then(function () {\n                done(new Error('should not be called'));\n            }, function (err) {\n                chai_1.expect(err).to.be.an('error', 'NO THREES!');\n                chai_1.expect(results).to.deep.equal([1, 2]);\n            }).then(function () {\n                done();\n            });\n        });\n        it('should handle a synchronous throw from the next handler and tear down', function (done) {\n            var expected = new Error('I told, you Bobby Boucher, twos are the debil!');\n            var unsubscribeCalled = false;\n            var syncObservable = new Observable(function (observer) {\n                observer.next(1);\n                observer.next(2);\n                observer.next(3);\n                return function () {\n                    unsubscribeCalled = true;\n                };\n            });\n            var results = [];\n            syncObservable.forEach(function (x) {\n                results.push(x);\n                if (x === 2) {\n                    throw expected;\n                }\n            }).then(function () {\n                done(new Error('should not be called'));\n            }, function (err) {\n                results.push(err);\n                chai_1.expect(results).to.deep.equal([1, 2, expected]);\n                chai_1.expect(unsubscribeCalled).to.be.true;\n                done();\n            });\n        });\n        it('should handle an asynchronous throw from the next handler and tear down', function (done) {\n            var expected = new Error('I told, you Bobby Boucher, twos are the debil!');\n            var unsubscribeCalled = false;\n            var syncObservable = new Observable(function (observer) {\n                var i = 1;\n                var id = setInterval(function () { return observer.next(i++); }, 1);\n                return function () {\n                    clearInterval(id);\n                    unsubscribeCalled = true;\n                };\n            });\n            var results = [];\n            syncObservable.forEach(function (x) {\n                results.push(x);\n                if (x === 2) {\n                    throw expected;\n                }\n            }).then(function () {\n                done(new Error('should not be called'));\n            }, function (err) {\n                results.push(err);\n                chai_1.expect(results).to.deep.equal([1, 2, expected]);\n                chai_1.expect(unsubscribeCalled).to.be.true;\n                done();\n            });\n        });\n    });\n    describe('subscribe', function () {\n        it('should be synchronous', function () {\n            var subscribed = false;\n            var nexted;\n            var completed;\n            var source = new Observable(function (observer) {\n                subscribed = true;\n                observer.next('wee');\n                chai_1.expect(nexted).to.equal('wee');\n                observer.complete();\n                chai_1.expect(completed).to.be.true;\n            });\n            chai_1.expect(subscribed).to.be.false;\n            var mutatedByNext = false;\n            var mutatedByComplete = false;\n            source.subscribe(function (x) {\n                nexted = x;\n                mutatedByNext = true;\n            }, null, function () {\n                completed = true;\n                mutatedByComplete = true;\n            });\n            chai_1.expect(mutatedByNext).to.be.true;\n            chai_1.expect(mutatedByComplete).to.be.true;\n        });\n        it('should work when subscribe is called with no arguments', function () {\n            var source = new Observable(function (subscriber) {\n                subscriber.next('foo');\n                subscriber.complete();\n            });\n            source.subscribe();\n        });\n        it('should run unsubscription logic when an error is sent synchronously and subscribe is called with no arguments', function () {\n            var unsubscribeCalled = false;\n            var source = new Observable(function (subscriber) {\n                subscriber.error(0);\n                return function () {\n                    unsubscribeCalled = true;\n                };\n            });\n            try {\n                source.subscribe();\n            }\n            catch (e) {\n            }\n            chai_1.expect(unsubscribeCalled).to.be.true;\n        });\n        it('should run unsubscription logic when an error is sent asynchronously and subscribe is called with no arguments', function (done) {\n            var unsubscribeCalled = false;\n            var source = new Observable(function (subscriber) {\n                var id = setInterval(function () {\n                    try {\n                        subscriber.error(0);\n                    }\n                    catch (e) {\n                    }\n                }, 1);\n                return function () {\n                    clearInterval(id);\n                    unsubscribeCalled = true;\n                };\n            });\n            source.subscribe();\n            setTimeout(function () {\n                var err;\n                var errHappened = false;\n                try {\n                    chai_1.expect(unsubscribeCalled).to.be.true;\n                }\n                catch (e) {\n                    err = e;\n                    errHappened = true;\n                }\n                finally {\n                    if (!errHappened) {\n                        done();\n                    }\n                    else {\n                        done(err);\n                    }\n                }\n            }, 100);\n        });\n        it('should return a Subscription that calls the unsubscribe function returned by the subscriber', function () {\n            var unsubscribeCalled = false;\n            var source = new Observable(function () {\n                return function () {\n                    unsubscribeCalled = true;\n                };\n            });\n            var sub = source.subscribe(function () {\n                //noop\n            });\n            chai_1.expect(sub instanceof Rx.Subscription).to.be.true;\n            chai_1.expect(unsubscribeCalled).to.be.false;\n            chai_1.expect(sub.unsubscribe).to.be.a('function');\n            sub.unsubscribe();\n            chai_1.expect(unsubscribeCalled).to.be.true;\n        });\n        it('should run unsubscription logic when an error is thrown sending messages synchronously', function () {\n            var messageError = false;\n            var messageErrorValue = false;\n            var unsubscribeCalled = false;\n            var sub;\n            var source = new Observable(function (observer) {\n                observer.next('boo!');\n                return function () {\n                    unsubscribeCalled = true;\n                };\n            });\n            try {\n                sub = source.subscribe(function (x) { throw x; });\n            }\n            catch (e) {\n                messageError = true;\n                messageErrorValue = e;\n            }\n            chai_1.expect(sub).to.be.a('undefined');\n            chai_1.expect(unsubscribeCalled).to.be.true;\n            chai_1.expect(messageError).to.be.true;\n            chai_1.expect(messageErrorValue).to.equal('boo!');\n        });\n        it('should dispose of the subscriber when an error is thrown sending messages synchronously', function () {\n            var messageError = false;\n            var messageErrorValue = false;\n            var unsubscribeCalled = false;\n            var sub;\n            var subscriber = new Subscriber(function (x) { throw x; });\n            var source = new Observable(function (observer) {\n                observer.next('boo!');\n                return function () {\n                    unsubscribeCalled = true;\n                };\n            });\n            try {\n                sub = source.subscribe(subscriber);\n            }\n            catch (e) {\n                messageError = true;\n                messageErrorValue = e;\n            }\n            chai_1.expect(sub).to.be.a('undefined');\n            chai_1.expect(subscriber.closed).to.be.true;\n            chai_1.expect(unsubscribeCalled).to.be.true;\n            chai_1.expect(messageError).to.be.true;\n            chai_1.expect(messageErrorValue).to.equal('boo!');\n        });\n        it('should ignore next messages after unsubscription', function () {\n            var times = 0;\n            new Observable(function (observer) {\n                observer.next(0);\n                observer.next(0);\n                observer.next(0);\n                observer.next(0);\n            })\n                .do(function () { return times += 1; })\n                .subscribe(function () {\n                if (times === 2) {\n                    this.unsubscribe();\n                }\n            });\n            chai_1.expect(times).to.equal(2);\n        });\n        it('should ignore error messages after unsubscription', function () {\n            var times = 0;\n            var errorCalled = false;\n            new Observable(function (observer) {\n                observer.next(0);\n                observer.next(0);\n                observer.next(0);\n                observer.error(0);\n            })\n                .do(function () { return times += 1; })\n                .subscribe(function () {\n                if (times === 2) {\n                    this.unsubscribe();\n                }\n            }, function () { errorCalled = true; });\n            chai_1.expect(times).to.equal(2);\n            chai_1.expect(errorCalled).to.be.false;\n        });\n        it('should ignore complete messages after unsubscription', function () {\n            var times = 0;\n            var completeCalled = false;\n            new Observable(function (observer) {\n                observer.next(0);\n                observer.next(0);\n                observer.next(0);\n                observer.complete();\n            })\n                .do(function () { return times += 1; })\n                .subscribe(function () {\n                if (times === 2) {\n                    this.unsubscribe();\n                }\n            }, null, function () { completeCalled = true; });\n            chai_1.expect(times).to.equal(2);\n            chai_1.expect(completeCalled).to.be.false;\n        });\n        describe('when called with an anonymous observer', function () {\n            it('should accept an anonymous observer with just a next function and call the next function in the context' +\n                ' of the anonymous observer', function (done) {\n                //intentionally not using lambda to avoid typescript's this context capture\n                var o = {\n                    next: function next(x) {\n                        chai_1.expect(this).to.equal(o);\n                        chai_1.expect(x).to.equal(1);\n                        done();\n                    }\n                };\n                Observable.of(1).subscribe(o);\n            });\n            it('should accept an anonymous observer with just an error function and call the error function in the context' +\n                ' of the anonymous observer', function (done) {\n                //intentionally not using lambda to avoid typescript's this context capture\n                var o = {\n                    error: function error(err) {\n                        chai_1.expect(this).to.equal(o);\n                        chai_1.expect(err).to.equal('bad');\n                        done();\n                    }\n                };\n                Observable.throw('bad').subscribe(o);\n            });\n            it('should accept an anonymous observer with just a complete function and call the complete function in the' +\n                ' context of the anonymous observer', function (done) {\n                //intentionally not using lambda to avoid typescript's this context capture\n                var o = {\n                    complete: function complete() {\n                        chai_1.expect(this).to.equal(o);\n                        done();\n                    }\n                };\n                Observable.empty().subscribe(o);\n            });\n            it('should accept an anonymous observer with no functions at all', function () {\n                chai_1.expect(function () {\n                    Observable.empty().subscribe({});\n                }).not.to.throw();\n            });\n            it('should run unsubscription logic when an error is thrown sending messages synchronously to an' +\n                ' anonymous observer', function () {\n                var messageError = false;\n                var messageErrorValue = false;\n                var unsubscribeCalled = false;\n                //intentionally not using lambda to avoid typescript's this context capture\n                var o = {\n                    next: function next(x) {\n                        chai_1.expect(this).to.equal(o);\n                        throw x;\n                    }\n                };\n                var sub;\n                var source = new Observable(function (observer) {\n                    observer.next('boo!');\n                    return function () {\n                        unsubscribeCalled = true;\n                    };\n                });\n                try {\n                    sub = source.subscribe(o);\n                }\n                catch (e) {\n                    messageError = true;\n                    messageErrorValue = e;\n                }\n                chai_1.expect(sub).to.be.a('undefined');\n                chai_1.expect(unsubscribeCalled).to.be.true;\n                chai_1.expect(messageError).to.be.true;\n                chai_1.expect(messageErrorValue).to.equal('boo!');\n            });\n            it('should ignore next messages after unsubscription', function () {\n                var times = 0;\n                new Observable(function (observer) {\n                    observer.next(0);\n                    observer.next(0);\n                    observer.next(0);\n                    observer.next(0);\n                })\n                    .do(function () { return times += 1; })\n                    .subscribe({\n                    next: function () {\n                        if (times === 2) {\n                            this.unsubscribe();\n                        }\n                    }\n                });\n                chai_1.expect(times).to.equal(2);\n            });\n            it('should ignore error messages after unsubscription', function () {\n                var times = 0;\n                var errorCalled = false;\n                new Observable(function (observer) {\n                    observer.next(0);\n                    observer.next(0);\n                    observer.next(0);\n                    observer.error(0);\n                })\n                    .do(function () { return times += 1; })\n                    .subscribe({\n                    next: function () {\n                        if (times === 2) {\n                            this.unsubscribe();\n                        }\n                    },\n                    error: function () { errorCalled = true; }\n                });\n                chai_1.expect(times).to.equal(2);\n                chai_1.expect(errorCalled).to.be.false;\n            });\n            it('should ignore complete messages after unsubscription', function () {\n                var times = 0;\n                var completeCalled = false;\n                new Observable(function (observer) {\n                    observer.next(0);\n                    observer.next(0);\n                    observer.next(0);\n                    observer.complete();\n                })\n                    .do(function () { return times += 1; })\n                    .subscribe({\n                    next: function () {\n                        if (times === 2) {\n                            this.unsubscribe();\n                        }\n                    },\n                    complete: function () { completeCalled = true; }\n                });\n                chai_1.expect(times).to.equal(2);\n                chai_1.expect(completeCalled).to.be.false;\n            });\n        });\n    });\n});\n/** @test {Observable} */\ndescribe('Observable.create', function () {\n    asDiagram('create(obs => { obs.next(1); })')('should create a cold observable that emits just 1', function () {\n        var e1 = Observable.create(function (obs) { obs.next(1); });\n        var expected = 'x';\n        expectObservable(e1).toBe(expected, { x: 1 });\n    });\n    it('should create an Observable', function () {\n        var result = Observable.create(function () {\n            //noop\n        });\n        chai_1.expect(result instanceof Observable).to.be.true;\n    });\n    it('should provide an observer to the function', function () {\n        var called = false;\n        var result = Observable.create(function (observer) {\n            called = true;\n            expectFullObserver(observer);\n            observer.complete();\n        });\n        chai_1.expect(called).to.be.false;\n        result.subscribe(function () {\n            //noop\n        });\n        chai_1.expect(called).to.be.true;\n    });\n});\n/** @test {Observable} */\ndescribe('Observable.lift', function () {\n    var MyCustomObservable = (function (_super) {\n        __extends(MyCustomObservable, _super);\n        function MyCustomObservable() {\n            _super.apply(this, arguments);\n        }\n        MyCustomObservable.from = function (source) {\n            var observable = new MyCustomObservable();\n            observable.source = source;\n            return observable;\n        };\n        MyCustomObservable.prototype.lift = function (operator) {\n            var observable = new MyCustomObservable();\n            observable.source = this;\n            observable.operator = operator;\n            return observable;\n        };\n        return MyCustomObservable;\n    }(Rx.Observable));\n    it('should be overrideable in a custom Observable type that composes', function (done) {\n        var result = new MyCustomObservable(function (observer) {\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.complete();\n        }).map(function (x) { return 10 * x; });\n        chai_1.expect(result instanceof MyCustomObservable).to.be.true;\n        var expected = [10, 20, 30];\n        result.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should compose through multicast and refCount', function (done) {\n        var result = new MyCustomObservable(function (observer) {\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.complete();\n        })\n            .multicast(function () { return new Rx.Subject(); })\n            .refCount()\n            .map(function (x) { return 10 * x; });\n        chai_1.expect(result instanceof MyCustomObservable).to.be.true;\n        var expected = [10, 20, 30];\n        result.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should compose through multicast with selector function', function (done) {\n        var result = new MyCustomObservable(function (observer) {\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.complete();\n        })\n            .multicast(function () { return new Rx.Subject(); }, function (shared) { return shared.map(function (x) { return 10 * x; }); });\n        chai_1.expect(result instanceof MyCustomObservable).to.be.true;\n        var expected = [10, 20, 30];\n        result.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should compose through combineLatest', function () {\n        var e1 = cold('-a--b-----c-d-e-|');\n        var e2 = cold('--1--2-3-4---|   ');\n        var expected = '--A-BC-D-EF-G-H-|';\n        var result = MyCustomObservable.from(e1).combineLatest(e2, function (a, b) { return String(a) + String(b); });\n        chai_1.expect(result instanceof MyCustomObservable).to.be.true;\n        expectObservable(result).toBe(expected, {\n            A: 'a1', B: 'b1', C: 'b2', D: 'b3', E: 'b4', F: 'c4', G: 'd4', H: 'e4'\n        });\n    });\n    it('should compose through concat', function () {\n        var e1 = cold('--a--b-|');\n        var e2 = cold('--x---y--|');\n        var expected = '--a--b---x---y--|';\n        var result = MyCustomObservable.from(e1).concat(e2, rxTestScheduler);\n        chai_1.expect(result instanceof MyCustomObservable).to.be.true;\n        expectObservable(result).toBe(expected);\n    });\n    it('should compose through merge', function () {\n        var e1 = cold('-a--b-| ');\n        var e2 = cold('--x--y-|');\n        var expected = '-ax-by-|';\n        var result = MyCustomObservable.from(e1).merge(e2, rxTestScheduler);\n        chai_1.expect(result instanceof MyCustomObservable).to.be.true;\n        expectObservable(result).toBe(expected);\n    });\n    it('should compose through race', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b-----c----|';\n        var result = MyCustomObservable.from(e1).race(e2);\n        chai_1.expect(result instanceof MyCustomObservable).to.be.true;\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should compose through zip', function () {\n        var e1 = cold('-a--b-----c-d-e-|');\n        var e2 = cold('--1--2-3-4---|   ');\n        var expected = ('--A--B----C-D|   ');\n        var result = MyCustomObservable.from(e1).zip(e2, function (a, b) { return String(a) + String(b); });\n        chai_1.expect(result instanceof MyCustomObservable).to.be.true;\n        expectObservable(result).toBe(expected, {\n            A: 'a1', B: 'b2', C: 'c3', D: 'd4'\n        });\n    });\n    it('should allow injecting behaviors into all subscribers in an operator ' +\n        'chain when overridden', function (done) {\n        // The custom Subscriber\n        var log = [];\n        var LogSubscriber = (function (_super) {\n            __extends(LogSubscriber, _super);\n            function LogSubscriber() {\n                _super.apply(this, arguments);\n            }\n            LogSubscriber.prototype.next = function (value) {\n                log.push('next ' + value);\n                if (!this.isStopped) {\n                    this._next(value);\n                }\n            };\n            return LogSubscriber;\n        }(Rx.Subscriber));\n        // The custom Operator\n        var LogOperator = (function () {\n            function LogOperator(childOperator) {\n                this.childOperator = childOperator;\n            }\n            LogOperator.prototype.call = function (subscriber, source) {\n                return this.childOperator.call(new LogSubscriber(subscriber), source);\n            };\n            return LogOperator;\n        }());\n        // The custom Observable\n        var LogObservable = (function (_super) {\n            __extends(LogObservable, _super);\n            function LogObservable() {\n                _super.apply(this, arguments);\n            }\n            LogObservable.prototype.lift = function (operator) {\n                var observable = new LogObservable();\n                observable.source = this;\n                observable.operator = new LogOperator(operator);\n                return observable;\n            };\n            return LogObservable;\n        }(Observable));\n        // Use the LogObservable\n        var result = new LogObservable(function (observer) {\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.complete();\n        })\n            .map(function (x) { return 10 * x; })\n            .filter(function (x) { return x > 15; })\n            .count();\n        chai_1.expect(result instanceof LogObservable).to.be.true;\n        var expected = [2];\n        result.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(log).to.deep.equal([\n                'next 10',\n                'next 20',\n                'next 20',\n                'next 30',\n                'next 30',\n                'next 2' // count\n            ]);\n            done();\n        });\n    });\n});\n//# sourceMappingURL=Observable-spec.js.map"
  },
  {
    "__docId__": 892,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe33",
    "testId": 33,
    "memberof": "spec-js/Observable-spec.js",
    "testDepth": 0,
    "longname": "spec-js/Observable-spec.js~describe33",
    "access": null,
    "description": "Observable",
    "lineNumber": 19,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Observable}"
      }
    ],
    "testTargets": [
      "Observable"
    ]
  },
  {
    "__docId__": 893,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it34",
    "testId": 34,
    "memberof": "spec-js/Observable-spec.js~describe33",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe33.it34",
    "access": null,
    "description": "should be constructed with a subscriber function",
    "lineNumber": 20
  },
  {
    "__docId__": 894,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe35",
    "testId": 35,
    "memberof": "spec-js/Observable-spec.js~describe33",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe33.describe35",
    "access": null,
    "description": "forEach",
    "lineNumber": 28
  },
  {
    "__docId__": 895,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it36",
    "testId": 36,
    "memberof": "spec-js/Observable-spec.js~describe33.describe35",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe35.it36",
    "access": null,
    "description": "should iterate and return a Promise",
    "lineNumber": 29
  },
  {
    "__docId__": 896,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it37",
    "testId": 37,
    "memberof": "spec-js/Observable-spec.js~describe33.describe35",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe35.it37",
    "access": null,
    "description": "should reject promise when in error",
    "lineNumber": 39
  },
  {
    "__docId__": 897,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it38",
    "testId": 38,
    "memberof": "spec-js/Observable-spec.js~describe33.describe35",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe35.it38",
    "access": null,
    "description": "should allow Promise to be globally configured",
    "lineNumber": 49
  },
  {
    "__docId__": 898,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it39",
    "testId": 39,
    "memberof": "spec-js/Observable-spec.js~describe33.describe35",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe35.it39",
    "access": null,
    "description": "should reject promise if nextHandler throws",
    "lineNumber": 65
  },
  {
    "__docId__": 899,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it40",
    "testId": 40,
    "memberof": "spec-js/Observable-spec.js~describe33.describe35",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe35.it40",
    "access": null,
    "description": "should handle a synchronous throw from the next handler and tear down",
    "lineNumber": 82
  },
  {
    "__docId__": 900,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it41",
    "testId": 41,
    "memberof": "spec-js/Observable-spec.js~describe33.describe35",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe35.it41",
    "access": null,
    "description": "should handle an asynchronous throw from the next handler and tear down",
    "lineNumber": 108
  },
  {
    "__docId__": 901,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe42",
    "testId": 42,
    "memberof": "spec-js/Observable-spec.js~describe33",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe33.describe42",
    "access": null,
    "description": "subscribe",
    "lineNumber": 135
  },
  {
    "__docId__": 902,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it43",
    "testId": 43,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it43",
    "access": null,
    "description": "should be synchronous",
    "lineNumber": 136
  },
  {
    "__docId__": 903,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it44",
    "testId": 44,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it44",
    "access": null,
    "description": "should work when subscribe is called with no arguments",
    "lineNumber": 160
  },
  {
    "__docId__": 904,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it45",
    "testId": 45,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it45",
    "access": null,
    "description": "should run unsubscription logic when an error is sent synchronously and subscribe is called with no arguments",
    "lineNumber": 167
  },
  {
    "__docId__": 905,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it46",
    "testId": 46,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it46",
    "access": null,
    "description": "should run unsubscription logic when an error is sent asynchronously and subscribe is called with no arguments",
    "lineNumber": 182
  },
  {
    "__docId__": 906,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it47",
    "testId": 47,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it47",
    "access": null,
    "description": "should return a Subscription that calls the unsubscribe function returned by the subscriber",
    "lineNumber": 218
  },
  {
    "__docId__": 907,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it48",
    "testId": 48,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it48",
    "access": null,
    "description": "should run unsubscription logic when an error is thrown sending messages synchronously",
    "lineNumber": 234
  },
  {
    "__docId__": 908,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it49",
    "testId": 49,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it49",
    "access": null,
    "description": "should dispose of the subscriber when an error is thrown sending messages synchronously",
    "lineNumber": 257
  },
  {
    "__docId__": 909,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it50",
    "testId": 50,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it50",
    "access": null,
    "description": "should ignore next messages after unsubscription",
    "lineNumber": 282
  },
  {
    "__docId__": 910,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it51",
    "testId": 51,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it51",
    "access": null,
    "description": "should ignore error messages after unsubscription",
    "lineNumber": 298
  },
  {
    "__docId__": 911,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it52",
    "testId": 52,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.it52",
    "access": null,
    "description": "should ignore complete messages after unsubscription",
    "lineNumber": 316
  },
  {
    "__docId__": 912,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe53",
    "testId": 53,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42",
    "testDepth": 2,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.describe53",
    "access": null,
    "description": "when called with an anonymous observer",
    "lineNumber": 334
  },
  {
    "__docId__": 913,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it54",
    "testId": 54,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42.describe53",
    "testDepth": 3,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.describe53.it54",
    "access": null,
    "lineNumber": 335
  },
  {
    "__docId__": 914,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it55",
    "testId": 55,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42.describe53",
    "testDepth": 3,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.describe53.it55",
    "access": null,
    "lineNumber": 347
  },
  {
    "__docId__": 915,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it56",
    "testId": 56,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42.describe53",
    "testDepth": 3,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.describe53.it56",
    "access": null,
    "lineNumber": 359
  },
  {
    "__docId__": 916,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it57",
    "testId": 57,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42.describe53",
    "testDepth": 3,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.describe53.it57",
    "access": null,
    "description": "should accept an anonymous observer with no functions at all",
    "lineNumber": 370
  },
  {
    "__docId__": 917,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it58",
    "testId": 58,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42.describe53",
    "testDepth": 3,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.describe53.it58",
    "access": null,
    "lineNumber": 375
  },
  {
    "__docId__": 918,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it59",
    "testId": 59,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42.describe53",
    "testDepth": 3,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.describe53.it59",
    "access": null,
    "description": "should ignore next messages after unsubscription",
    "lineNumber": 406
  },
  {
    "__docId__": 919,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it60",
    "testId": 60,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42.describe53",
    "testDepth": 3,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.describe53.it60",
    "access": null,
    "description": "should ignore error messages after unsubscription",
    "lineNumber": 424
  },
  {
    "__docId__": 920,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it61",
    "testId": 61,
    "memberof": "spec-js/Observable-spec.js~describe33.describe42.describe53",
    "testDepth": 3,
    "longname": "spec-js/Observable-spec.js~describe33.describe42.describe53.it61",
    "access": null,
    "description": "should ignore complete messages after unsubscription",
    "lineNumber": 445
  },
  {
    "__docId__": 921,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe62",
    "testId": 62,
    "memberof": "spec-js/Observable-spec.js",
    "testDepth": 0,
    "longname": "spec-js/Observable-spec.js~describe62",
    "access": null,
    "description": "Observable.create",
    "lineNumber": 470,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Observable}"
      }
    ],
    "testTargets": [
      "Observable"
    ]
  },
  {
    "__docId__": 922,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it63",
    "testId": 63,
    "memberof": "spec-js/Observable-spec.js~describe62",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe62.it63",
    "access": null,
    "description": "should create an Observable",
    "lineNumber": 476
  },
  {
    "__docId__": 923,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it64",
    "testId": 64,
    "memberof": "spec-js/Observable-spec.js~describe62",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe62.it64",
    "access": null,
    "description": "should provide an observer to the function",
    "lineNumber": 482
  },
  {
    "__docId__": 924,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe65",
    "testId": 65,
    "memberof": "spec-js/Observable-spec.js",
    "testDepth": 0,
    "longname": "spec-js/Observable-spec.js~describe65",
    "access": null,
    "description": "Observable.lift",
    "lineNumber": 497,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Observable}"
      }
    ],
    "testTargets": [
      "Observable"
    ]
  },
  {
    "__docId__": 925,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it66",
    "testId": 66,
    "memberof": "spec-js/Observable-spec.js~describe65",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe65.it66",
    "access": null,
    "description": "should be overrideable in a custom Observable type that composes",
    "lineNumber": 516
  },
  {
    "__docId__": 926,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it67",
    "testId": 67,
    "memberof": "spec-js/Observable-spec.js~describe65",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe65.it67",
    "access": null,
    "description": "should compose through multicast and refCount",
    "lineNumber": 533
  },
  {
    "__docId__": 927,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it68",
    "testId": 68,
    "memberof": "spec-js/Observable-spec.js~describe65",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe65.it68",
    "access": null,
    "description": "should compose through multicast with selector function",
    "lineNumber": 553
  },
  {
    "__docId__": 928,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it69",
    "testId": 69,
    "memberof": "spec-js/Observable-spec.js~describe65",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe65.it69",
    "access": null,
    "description": "should compose through combineLatest",
    "lineNumber": 571
  },
  {
    "__docId__": 929,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it70",
    "testId": 70,
    "memberof": "spec-js/Observable-spec.js~describe65",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe65.it70",
    "access": null,
    "description": "should compose through concat",
    "lineNumber": 581
  },
  {
    "__docId__": 930,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it71",
    "testId": 71,
    "memberof": "spec-js/Observable-spec.js~describe65",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe65.it71",
    "access": null,
    "description": "should compose through merge",
    "lineNumber": 589
  },
  {
    "__docId__": 931,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it72",
    "testId": 72,
    "memberof": "spec-js/Observable-spec.js~describe65",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe65.it72",
    "access": null,
    "description": "should compose through race",
    "lineNumber": 597
  },
  {
    "__docId__": 932,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it73",
    "testId": 73,
    "memberof": "spec-js/Observable-spec.js~describe65",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe65.it73",
    "access": null,
    "description": "should compose through zip",
    "lineNumber": 609
  },
  {
    "__docId__": 933,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it74",
    "testId": 74,
    "memberof": "spec-js/Observable-spec.js~describe65",
    "testDepth": 1,
    "longname": "spec-js/Observable-spec.js~describe65.it74",
    "access": null,
    "lineNumber": 619
  },
  {
    "__docId__": 934,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/Scheduler-spec.js",
    "memberof": null,
    "longname": "spec-js/Scheduler-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../dist/cjs/Rx');\nvar Scheduler = Rx.Scheduler;\n/** @test {Scheduler} */\ndescribe('Scheduler.queue', function () {\n    it('should schedule things recursively', function () {\n        var call1 = false;\n        var call2 = false;\n        Scheduler.queue.active = false;\n        Scheduler.queue.schedule(function () {\n            call1 = true;\n            Scheduler.queue.schedule(function () {\n                call2 = true;\n            });\n        });\n        chai_1.expect(call1).to.be.true;\n        chai_1.expect(call2).to.be.true;\n    });\n    it('should schedule things recursively via this.schedule', function () {\n        var call1 = false;\n        var call2 = false;\n        Scheduler.queue.active = false;\n        Scheduler.queue.schedule(function (state) {\n            call1 = state.call1;\n            call2 = state.call2;\n            if (!call2) {\n                this.schedule({ call1: true, call2: true });\n            }\n        }, 0, { call1: true, call2: false });\n        chai_1.expect(call1).to.be.true;\n        chai_1.expect(call2).to.be.true;\n    });\n    it('should schedule things in the future too', function (done) {\n        var called = false;\n        Scheduler.queue.schedule(function () {\n            called = true;\n        }, 60);\n        setTimeout(function () {\n            chai_1.expect(called).to.be.false;\n        }, 20);\n        setTimeout(function () {\n            chai_1.expect(called).to.be.true;\n            done();\n        }, 100);\n    });\n    it('should be reusable after an error is thrown during execution', function (done) {\n        var results = [];\n        chai_1.expect(function () {\n            Scheduler.queue.schedule(function () {\n                results.push(1);\n            });\n            Scheduler.queue.schedule(function () {\n                throw new Error('bad');\n            });\n        }).to.throw(Error, 'bad');\n        setTimeout(function () {\n            Scheduler.queue.schedule(function () {\n                results.push(2);\n                done();\n            });\n        }, 0);\n    });\n});\n//# sourceMappingURL=Scheduler-spec.js.map"
  },
  {
    "__docId__": 935,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe75",
    "testId": 75,
    "memberof": "spec-js/Scheduler-spec.js",
    "testDepth": 0,
    "longname": "spec-js/Scheduler-spec.js~describe75",
    "access": null,
    "description": "Scheduler.queue",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Scheduler}"
      }
    ],
    "testTargets": [
      "Scheduler"
    ]
  },
  {
    "__docId__": 936,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it76",
    "testId": 76,
    "memberof": "spec-js/Scheduler-spec.js~describe75",
    "testDepth": 1,
    "longname": "spec-js/Scheduler-spec.js~describe75.it76",
    "access": null,
    "description": "should schedule things recursively",
    "lineNumber": 7
  },
  {
    "__docId__": 937,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it77",
    "testId": 77,
    "memberof": "spec-js/Scheduler-spec.js~describe75",
    "testDepth": 1,
    "longname": "spec-js/Scheduler-spec.js~describe75.it77",
    "access": null,
    "description": "should schedule things recursively via this.schedule",
    "lineNumber": 20
  },
  {
    "__docId__": 938,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it78",
    "testId": 78,
    "memberof": "spec-js/Scheduler-spec.js~describe75",
    "testDepth": 1,
    "longname": "spec-js/Scheduler-spec.js~describe75.it78",
    "access": null,
    "description": "should schedule things in the future too",
    "lineNumber": 34
  },
  {
    "__docId__": 939,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it79",
    "testId": 79,
    "memberof": "spec-js/Scheduler-spec.js~describe75",
    "testDepth": 1,
    "longname": "spec-js/Scheduler-spec.js~describe75.it79",
    "access": null,
    "description": "should be reusable after an error is thrown during execution",
    "lineNumber": 47
  },
  {
    "__docId__": 940,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/Subject-spec.js",
    "memberof": null,
    "longname": "spec-js/Subject-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar _this = this;\nvar chai_1 = require('chai');\nvar Rx = require('../dist/cjs/Rx');\nvar Subject = Rx.Subject;\nvar Observable = Rx.Observable;\n/** @test {Subject} */\ndescribe('Subject', function () {\n    it('should pump values right on through itself', function (done) {\n        var subject = new Subject();\n        var expected = ['foo', 'bar'];\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, done);\n        subject.next('foo');\n        subject.next('bar');\n        subject.complete();\n    });\n    it('should pump values to multiple subscribers', function (done) {\n        var subject = new Subject();\n        var expected = ['foo', 'bar'];\n        var i = 0;\n        var j = 0;\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        });\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[j++]);\n        }, null, done);\n        chai_1.expect(subject.observers.length).to.equal(2);\n        subject.next('foo');\n        subject.next('bar');\n        subject.complete();\n    });\n    it('should handle subscribers that arrive and leave at different times, ' +\n        'subject does not complete', function () {\n        var subject = new Subject();\n        var results1 = [];\n        var results2 = [];\n        var results3 = [];\n        subject.next(1);\n        subject.next(2);\n        subject.next(3);\n        subject.next(4);\n        var subscription1 = subject.subscribe(function (x) { results1.push(x); }, function (e) { results1.push('E'); }, function () { results1.push('C'); });\n        subject.next(5);\n        var subscription2 = subject.subscribe(function (x) { results2.push(x); }, function (e) { results2.push('E'); }, function () { results2.push('C'); });\n        subject.next(6);\n        subject.next(7);\n        subscription1.unsubscribe();\n        subject.next(8);\n        subscription2.unsubscribe();\n        subject.next(9);\n        subject.next(10);\n        var subscription3 = subject.subscribe(function (x) { results3.push(x); }, function (e) { results3.push('E'); }, function () { results3.push('C'); });\n        subject.next(11);\n        subscription3.unsubscribe();\n        chai_1.expect(results1).to.deep.equal([5, 6, 7]);\n        chai_1.expect(results2).to.deep.equal([6, 7, 8]);\n        chai_1.expect(results3).to.deep.equal([11]);\n    });\n    it('should handle subscribers that arrive and leave at different times, ' +\n        'subject completes', function () {\n        var subject = new Subject();\n        var results1 = [];\n        var results2 = [];\n        var results3 = [];\n        subject.next(1);\n        subject.next(2);\n        subject.next(3);\n        subject.next(4);\n        var subscription1 = subject.subscribe(function (x) { results1.push(x); }, function (e) { results1.push('E'); }, function () { results1.push('C'); });\n        subject.next(5);\n        var subscription2 = subject.subscribe(function (x) { results2.push(x); }, function (e) { results2.push('E'); }, function () { results2.push('C'); });\n        subject.next(6);\n        subject.next(7);\n        subscription1.unsubscribe();\n        subject.complete();\n        subscription2.unsubscribe();\n        var subscription3 = subject.subscribe(function (x) { results3.push(x); }, function (e) { results3.push('E'); }, function () { results3.push('C'); });\n        subscription3.unsubscribe();\n        chai_1.expect(results1).to.deep.equal([5, 6, 7]);\n        chai_1.expect(results2).to.deep.equal([6, 7, 'C']);\n        chai_1.expect(results3).to.deep.equal(['C']);\n    });\n    it('should handle subscribers that arrive and leave at different times, ' +\n        'subject terminates with an error', function () {\n        var subject = new Subject();\n        var results1 = [];\n        var results2 = [];\n        var results3 = [];\n        subject.next(1);\n        subject.next(2);\n        subject.next(3);\n        subject.next(4);\n        var subscription1 = subject.subscribe(function (x) { results1.push(x); }, function (e) { results1.push('E'); }, function () { results1.push('C'); });\n        subject.next(5);\n        var subscription2 = subject.subscribe(function (x) { results2.push(x); }, function (e) { results2.push('E'); }, function () { results2.push('C'); });\n        subject.next(6);\n        subject.next(7);\n        subscription1.unsubscribe();\n        subject.error(new Error('err'));\n        subscription2.unsubscribe();\n        var subscription3 = subject.subscribe(function (x) { results3.push(x); }, function (e) { results3.push('E'); }, function () { results3.push('C'); });\n        subscription3.unsubscribe();\n        chai_1.expect(results1).to.deep.equal([5, 6, 7]);\n        chai_1.expect(results2).to.deep.equal([6, 7, 'E']);\n        chai_1.expect(results3).to.deep.equal(['E']);\n    });\n    it('should handle subscribers that arrive and leave at different times, ' +\n        'subject completes before nexting any value', function () {\n        var subject = new Subject();\n        var results1 = [];\n        var results2 = [];\n        var results3 = [];\n        var subscription1 = subject.subscribe(function (x) { results1.push(x); }, function (e) { results1.push('E'); }, function () { results1.push('C'); });\n        var subscription2 = subject.subscribe(function (x) { results2.push(x); }, function (e) { results2.push('E'); }, function () { results2.push('C'); });\n        subscription1.unsubscribe();\n        subject.complete();\n        subscription2.unsubscribe();\n        var subscription3 = subject.subscribe(function (x) { results3.push(x); }, function (e) { results3.push('E'); }, function () { results3.push('C'); });\n        subscription3.unsubscribe();\n        chai_1.expect(results1).to.deep.equal([]);\n        chai_1.expect(results2).to.deep.equal(['C']);\n        chai_1.expect(results3).to.deep.equal(['C']);\n    });\n    it('should disallow new subscriber once subject has been disposed', function () {\n        var subject = new Subject();\n        var results1 = [];\n        var results2 = [];\n        var results3 = [];\n        var subscription1 = subject.subscribe(function (x) { results1.push(x); }, function (e) { results1.push('E'); }, function () { results1.push('C'); });\n        subject.next(1);\n        subject.next(2);\n        var subscription2 = subject.subscribe(function (x) { results2.push(x); }, function (e) { results2.push('E'); }, function () { results2.push('C'); });\n        subject.next(3);\n        subject.next(4);\n        subject.next(5);\n        subscription1.unsubscribe();\n        subscription2.unsubscribe();\n        subject.unsubscribe();\n        chai_1.expect(function () {\n            subject.subscribe(function (x) { results3.push(x); }, function (e) { results3.push('E'); }, function () { results3.push('C'); });\n        }).to.throw();\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4, 5]);\n        chai_1.expect(results2).to.deep.equal([3, 4, 5]);\n        chai_1.expect(results3).to.deep.equal([]);\n    });\n    it('should not allow values to be nexted after it is unsubscribed', function (done) {\n        var subject = new Subject();\n        var expected = ['foo'];\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        });\n        subject.next('foo');\n        subject.unsubscribe();\n        chai_1.expect(function () { return subject.next('bar'); }).to.throw(Rx.ObjectUnsubscribedError);\n        done();\n    });\n    it('should clean out unsubscribed subscribers', function (done) {\n        var subject = new Subject();\n        var sub1 = subject.subscribe(function (x) {\n            //noop\n        });\n        var sub2 = subject.subscribe(function (x) {\n            //noop\n        });\n        chai_1.expect(subject.observers.length).to.equal(2);\n        sub1.unsubscribe();\n        chai_1.expect(subject.observers.length).to.equal(1);\n        sub2.unsubscribe();\n        chai_1.expect(subject.observers.length).to.equal(0);\n        done();\n    });\n    it('should have a static create function that works', function () {\n        chai_1.expect(Subject.create).to.be.a('function');\n        var source = Observable.of(1, 2, 3, 4, 5);\n        var nexts = [];\n        var output = [];\n        var error;\n        var complete = false;\n        var outputComplete = false;\n        var destination = {\n            closed: false,\n            next: function (x) {\n                nexts.push(x);\n            },\n            error: function (err) {\n                error = err;\n                this.closed = true;\n            },\n            complete: function () {\n                complete = true;\n                _this.closed = true;\n            }\n        };\n        var sub = Subject.create(destination, source);\n        sub.subscribe(function (x) {\n            output.push(x);\n        }, null, function () {\n            outputComplete = true;\n        });\n        sub.next('a');\n        sub.next('b');\n        sub.next('c');\n        sub.complete();\n        chai_1.expect(nexts).to.deep.equal(['a', 'b', 'c']);\n        chai_1.expect(complete).to.be.true;\n        chai_1.expect(error).to.be.a('undefined');\n        chai_1.expect(output).to.deep.equal([1, 2, 3, 4, 5]);\n        chai_1.expect(outputComplete).to.be.true;\n    });\n    it('should have a static create function that works also to raise errors', function () {\n        chai_1.expect(Subject.create).to.be.a('function');\n        var source = Observable.of(1, 2, 3, 4, 5);\n        var nexts = [];\n        var output = [];\n        var error;\n        var complete = false;\n        var outputComplete = false;\n        var destination = {\n            closed: false,\n            next: function (x) {\n                nexts.push(x);\n            },\n            error: function (err) {\n                error = err;\n                this.closed = true;\n            },\n            complete: function () {\n                complete = true;\n                _this.closed = true;\n            }\n        };\n        var sub = Subject.create(destination, source);\n        sub.subscribe(function (x) {\n            output.push(x);\n        }, null, function () {\n            outputComplete = true;\n        });\n        sub.next('a');\n        sub.next('b');\n        sub.next('c');\n        sub.error('boom');\n        chai_1.expect(nexts).to.deep.equal(['a', 'b', 'c']);\n        chai_1.expect(complete).to.be.false;\n        chai_1.expect(error).to.equal('boom');\n        chai_1.expect(output).to.deep.equal([1, 2, 3, 4, 5]);\n        chai_1.expect(outputComplete).to.be.true;\n    });\n    it('should be an Observer which can be given to Observable.subscribe', function (done) {\n        var source = Observable.of(1, 2, 3, 4, 5);\n        var subject = new Subject();\n        var expected = [1, 2, 3, 4, 5];\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        source.subscribe(subject);\n    });\n    it('should be usable as an Observer of a finite delayed Observable', function (done) {\n        var source = Rx.Observable.of(1, 2, 3).delay(50);\n        var subject = new Rx.Subject();\n        var expected = [1, 2, 3];\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        source.subscribe(subject);\n    });\n    it('should throw ObjectUnsubscribedError when emit after unsubscribed', function () {\n        var subject = new Rx.Subject();\n        subject.unsubscribe();\n        chai_1.expect(function () {\n            subject.next('a');\n        }).to.throw(Rx.ObjectUnsubscribedError);\n        chai_1.expect(function () {\n            subject.error('a');\n        }).to.throw(Rx.ObjectUnsubscribedError);\n        chai_1.expect(function () {\n            subject.complete();\n        }).to.throw(Rx.ObjectUnsubscribedError);\n    });\n    it('should not next after completed', function () {\n        var subject = new Rx.Subject();\n        var results = [];\n        subject.subscribe(function (x) { return results.push(x); }, null, function () { return results.push('C'); });\n        subject.next('a');\n        subject.complete();\n        subject.next('b');\n        chai_1.expect(results).to.deep.equal(['a', 'C']);\n    });\n    it('should not next after error', function () {\n        var error = new Error('wut?');\n        var subject = new Rx.Subject();\n        var results = [];\n        subject.subscribe(function (x) { return results.push(x); }, function (err) { return results.push(err); });\n        subject.next('a');\n        subject.error(error);\n        subject.next('b');\n        chai_1.expect(results).to.deep.equal(['a', error]);\n    });\n    describe('asObservable', function () {\n        it('should hide subject', function () {\n            var subject = new Rx.Subject();\n            var observable = subject.asObservable();\n            chai_1.expect(subject).not.to.equal(observable);\n            chai_1.expect(observable instanceof Observable).to.be.true;\n            chai_1.expect(observable instanceof Subject).to.be.false;\n        });\n        it('should handle subject never emits', function () {\n            var observable = hot('-').asObservable();\n            expectObservable(observable).toBe([]);\n        });\n        it('should handle subject completes without emits', function () {\n            var observable = hot('--^--|').asObservable();\n            var expected = '---|';\n            expectObservable(observable).toBe(expected);\n        });\n        it('should handle subject throws', function () {\n            var observable = hot('--^--#').asObservable();\n            var expected = '---#';\n            expectObservable(observable).toBe(expected);\n        });\n        it('should handle subject emits', function () {\n            var observable = hot('--^--x--|').asObservable();\n            var expected = '---x--|';\n            expectObservable(observable).toBe(expected);\n        });\n        it('should work with inherited subject', function () {\n            var results = [];\n            var subject = new Rx.AsyncSubject();\n            subject.next(42);\n            subject.complete();\n            var observable = subject.asObservable();\n            observable.subscribe(function (x) { return results.push(x); }, null, function () { return results.push('done'); });\n            chai_1.expect(results).to.deep.equal([42, 'done']);\n        });\n    });\n});\ndescribe('AnonymousSubject', function () {\n    it('should be exposed', function () {\n        chai_1.expect(Rx.AnonymousSubject).to.be.a('function');\n    });\n    it('should not eager', function () {\n        var subscribed = false;\n        var subject = Rx.Subject.create(null, new Rx.Observable(function (observer) {\n            subscribed = true;\n            var subscription = Rx.Observable.of('x').subscribe(observer);\n            return function () {\n                subscription.unsubscribe();\n            };\n        }));\n        var observable = subject.asObservable();\n        chai_1.expect(subscribed).to.be.false;\n        observable.subscribe();\n        chai_1.expect(subscribed).to.be.true;\n    });\n});\n//# sourceMappingURL=Subject-spec.js.map"
  },
  {
    "__docId__": 941,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe80",
    "testId": 80,
    "memberof": "spec-js/Subject-spec.js",
    "testDepth": 0,
    "longname": "spec-js/Subject-spec.js~describe80",
    "access": null,
    "description": "Subject",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Subject}"
      }
    ],
    "testTargets": [
      "Subject"
    ]
  },
  {
    "__docId__": 942,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it81",
    "testId": 81,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it81",
    "access": null,
    "description": "should pump values right on through itself",
    "lineNumber": 9
  },
  {
    "__docId__": 943,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it82",
    "testId": 82,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it82",
    "access": null,
    "description": "should pump values to multiple subscribers",
    "lineNumber": 19
  },
  {
    "__docId__": 944,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it83",
    "testId": 83,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it83",
    "access": null,
    "lineNumber": 35
  },
  {
    "__docId__": 945,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it84",
    "testId": 84,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it84",
    "access": null,
    "lineNumber": 62
  },
  {
    "__docId__": 946,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it85",
    "testId": 85,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it85",
    "access": null,
    "lineNumber": 86
  },
  {
    "__docId__": 947,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it86",
    "testId": 86,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it86",
    "access": null,
    "lineNumber": 110
  },
  {
    "__docId__": 948,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it87",
    "testId": 87,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it87",
    "access": null,
    "description": "should disallow new subscriber once subject has been disposed",
    "lineNumber": 127
  },
  {
    "__docId__": 949,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it88",
    "testId": 88,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it88",
    "access": null,
    "description": "should not allow values to be nexted after it is unsubscribed",
    "lineNumber": 149
  },
  {
    "__docId__": 950,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it89",
    "testId": 89,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it89",
    "access": null,
    "description": "should clean out unsubscribed subscribers",
    "lineNumber": 160
  },
  {
    "__docId__": 951,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it90",
    "testId": 90,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it90",
    "access": null,
    "description": "should have a static create function that works",
    "lineNumber": 175
  },
  {
    "__docId__": 952,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it91",
    "testId": 91,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it91",
    "access": null,
    "description": "should have a static create function that works also to raise errors",
    "lineNumber": 213
  },
  {
    "__docId__": 953,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it92",
    "testId": 92,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it92",
    "access": null,
    "description": "should be an Observer which can be given to Observable.subscribe",
    "lineNumber": 251
  },
  {
    "__docId__": 954,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it93",
    "testId": 93,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it93",
    "access": null,
    "description": "should be usable as an Observer of a finite delayed Observable",
    "lineNumber": 264
  },
  {
    "__docId__": 955,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it94",
    "testId": 94,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it94",
    "access": null,
    "description": "should throw ObjectUnsubscribedError when emit after unsubscribed",
    "lineNumber": 277
  },
  {
    "__docId__": 956,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it95",
    "testId": 95,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it95",
    "access": null,
    "description": "should not next after completed",
    "lineNumber": 290
  },
  {
    "__docId__": 957,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it96",
    "testId": 96,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.it96",
    "access": null,
    "description": "should not next after error",
    "lineNumber": 299
  },
  {
    "__docId__": 958,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe97",
    "testId": 97,
    "memberof": "spec-js/Subject-spec.js~describe80",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe80.describe97",
    "access": null,
    "description": "asObservable",
    "lineNumber": 309
  },
  {
    "__docId__": 959,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it98",
    "testId": 98,
    "memberof": "spec-js/Subject-spec.js~describe80.describe97",
    "testDepth": 2,
    "longname": "spec-js/Subject-spec.js~describe80.describe97.it98",
    "access": null,
    "description": "should hide subject",
    "lineNumber": 310
  },
  {
    "__docId__": 960,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it99",
    "testId": 99,
    "memberof": "spec-js/Subject-spec.js~describe80.describe97",
    "testDepth": 2,
    "longname": "spec-js/Subject-spec.js~describe80.describe97.it99",
    "access": null,
    "description": "should handle subject never emits",
    "lineNumber": 317
  },
  {
    "__docId__": 961,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it100",
    "testId": 100,
    "memberof": "spec-js/Subject-spec.js~describe80.describe97",
    "testDepth": 2,
    "longname": "spec-js/Subject-spec.js~describe80.describe97.it100",
    "access": null,
    "description": "should handle subject completes without emits",
    "lineNumber": 321
  },
  {
    "__docId__": 962,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it101",
    "testId": 101,
    "memberof": "spec-js/Subject-spec.js~describe80.describe97",
    "testDepth": 2,
    "longname": "spec-js/Subject-spec.js~describe80.describe97.it101",
    "access": null,
    "description": "should handle subject throws",
    "lineNumber": 326
  },
  {
    "__docId__": 963,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it102",
    "testId": 102,
    "memberof": "spec-js/Subject-spec.js~describe80.describe97",
    "testDepth": 2,
    "longname": "spec-js/Subject-spec.js~describe80.describe97.it102",
    "access": null,
    "description": "should handle subject emits",
    "lineNumber": 331
  },
  {
    "__docId__": 964,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it103",
    "testId": 103,
    "memberof": "spec-js/Subject-spec.js~describe80.describe97",
    "testDepth": 2,
    "longname": "spec-js/Subject-spec.js~describe80.describe97.it103",
    "access": null,
    "description": "should work with inherited subject",
    "lineNumber": 336
  },
  {
    "__docId__": 965,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe104",
    "testId": 104,
    "memberof": "spec-js/Subject-spec.js",
    "testDepth": 0,
    "longname": "spec-js/Subject-spec.js~describe104",
    "access": null,
    "description": "AnonymousSubject",
    "lineNumber": 347
  },
  {
    "__docId__": 966,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it105",
    "testId": 105,
    "memberof": "spec-js/Subject-spec.js~describe104",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe104.it105",
    "access": null,
    "description": "should be exposed",
    "lineNumber": 348
  },
  {
    "__docId__": 967,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it106",
    "testId": 106,
    "memberof": "spec-js/Subject-spec.js~describe104",
    "testDepth": 1,
    "longname": "spec-js/Subject-spec.js~describe104.it106",
    "access": null,
    "description": "should not eager",
    "lineNumber": 351
  },
  {
    "__docId__": 968,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/Subscriber-spec.js",
    "memberof": null,
    "longname": "spec-js/Subscriber-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../dist/cjs/Rx');\nvar Subscriber = Rx.Subscriber;\n/** @test {Subscriber} */\ndescribe('Subscriber', function () {\n    describe('when created through create()', function () {\n        it('should not call error() if next() handler throws an error', function () {\n            var errorSpy = sinon.spy();\n            var completeSpy = sinon.spy();\n            var subscriber = Subscriber.create(function (value) {\n                if (value === 2) {\n                    throw 'error!';\n                }\n            }, errorSpy, completeSpy);\n            subscriber.next(1);\n            chai_1.expect(function () {\n                subscriber.next(2);\n            }).to.throw('error!');\n            chai_1.expect(errorSpy).not.have.been.called;\n            chai_1.expect(completeSpy).not.have.been.called;\n        });\n    });\n    it('should ignore next messages after unsubscription', function () {\n        var times = 0;\n        var sub = new Subscriber({\n            next: function () { times += 1; }\n        });\n        sub.next();\n        sub.next();\n        sub.unsubscribe();\n        sub.next();\n        chai_1.expect(times).to.equal(2);\n    });\n    it('should ignore error messages after unsubscription', function () {\n        var times = 0;\n        var errorCalled = false;\n        var sub = new Subscriber({\n            next: function () { times += 1; },\n            error: function () { errorCalled = true; }\n        });\n        sub.next();\n        sub.next();\n        sub.unsubscribe();\n        sub.next();\n        sub.error();\n        chai_1.expect(times).to.equal(2);\n        chai_1.expect(errorCalled).to.be.false;\n    });\n    it('should ignore complete messages after unsubscription', function () {\n        var times = 0;\n        var completeCalled = false;\n        var sub = new Subscriber({\n            next: function () { times += 1; },\n            complete: function () { completeCalled = true; }\n        });\n        sub.next();\n        sub.next();\n        sub.unsubscribe();\n        sub.next();\n        sub.complete();\n        chai_1.expect(times).to.equal(2);\n        chai_1.expect(completeCalled).to.be.false;\n    });\n});\n//# sourceMappingURL=Subscriber-spec.js.map"
  },
  {
    "__docId__": 969,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe107",
    "testId": 107,
    "memberof": "spec-js/Subscriber-spec.js",
    "testDepth": 0,
    "longname": "spec-js/Subscriber-spec.js~describe107",
    "access": null,
    "description": "Subscriber",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Subscriber}"
      }
    ],
    "testTargets": [
      "Subscriber"
    ]
  },
  {
    "__docId__": 970,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe108",
    "testId": 108,
    "memberof": "spec-js/Subscriber-spec.js~describe107",
    "testDepth": 1,
    "longname": "spec-js/Subscriber-spec.js~describe107.describe108",
    "access": null,
    "description": "when created through create()",
    "lineNumber": 8
  },
  {
    "__docId__": 971,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it109",
    "testId": 109,
    "memberof": "spec-js/Subscriber-spec.js~describe107.describe108",
    "testDepth": 2,
    "longname": "spec-js/Subscriber-spec.js~describe107.describe108.it109",
    "access": null,
    "description": "should not call error() if next() handler throws an error",
    "lineNumber": 9
  },
  {
    "__docId__": 972,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it110",
    "testId": 110,
    "memberof": "spec-js/Subscriber-spec.js~describe107",
    "testDepth": 1,
    "longname": "spec-js/Subscriber-spec.js~describe107.it110",
    "access": null,
    "description": "should ignore next messages after unsubscription",
    "lineNumber": 25
  },
  {
    "__docId__": 973,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it111",
    "testId": 111,
    "memberof": "spec-js/Subscriber-spec.js~describe107",
    "testDepth": 1,
    "longname": "spec-js/Subscriber-spec.js~describe107.it111",
    "access": null,
    "description": "should ignore error messages after unsubscription",
    "lineNumber": 36
  },
  {
    "__docId__": 974,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it112",
    "testId": 112,
    "memberof": "spec-js/Subscriber-spec.js~describe107",
    "testDepth": 1,
    "longname": "spec-js/Subscriber-spec.js~describe107.it112",
    "access": null,
    "description": "should ignore complete messages after unsubscription",
    "lineNumber": 51
  },
  {
    "__docId__": 975,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/Subscription-spec.js",
    "memberof": null,
    "longname": "spec-js/Subscription-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar Subscription = Rx.Subscription;\n/** @test {Subscription} */\ndescribe('Subscription', function () {\n    it('should not leak', function (done) {\n        var tearDowns = [];\n        var source1 = Observable.create(function (observer) {\n            return function () {\n                tearDowns.push(1);\n            };\n        });\n        var source2 = Observable.create(function (observer) {\n            return function () {\n                tearDowns.push(2);\n                throw new Error('oops, I am a bad unsubscribe!');\n            };\n        });\n        var source3 = Observable.create(function (observer) {\n            return function () {\n                tearDowns.push(3);\n            };\n        });\n        var subscription = Observable.merge(source1, source2, source3).subscribe();\n        setTimeout(function () {\n            chai_1.expect(function () {\n                subscription.unsubscribe();\n            }).to.throw(Rx.UnsubscriptionError);\n            chai_1.expect(tearDowns).to.deep.equal([1, 2, 3]);\n            done();\n        });\n    });\n    it('should not leak when adding a bad custom subscription to a subscription', function (done) {\n        var tearDowns = [];\n        var sub = new Subscription();\n        var source1 = Observable.create(function (observer) {\n            return function () {\n                tearDowns.push(1);\n            };\n        });\n        var source2 = Observable.create(function (observer) {\n            return function () {\n                tearDowns.push(2);\n                sub.add(({\n                    unsubscribe: function () {\n                        chai_1.expect(sub.closed).to.be.true;\n                        throw new Error('Who is your daddy, and what does he do?');\n                    }\n                }));\n            };\n        });\n        var source3 = Observable.create(function (observer) {\n            return function () {\n                tearDowns.push(3);\n            };\n        });\n        sub.add(Observable.merge(source1, source2, source3).subscribe());\n        setTimeout(function () {\n            chai_1.expect(function () {\n                sub.unsubscribe();\n            }).to.throw(Rx.UnsubscriptionError);\n            chai_1.expect(tearDowns).to.deep.equal([1, 2, 3]);\n            done();\n        });\n    });\n    describe('Subscription.add()', function () {\n        it('Should returns the self if the self is passed', function () {\n            var sub = new Subscription();\n            var ret = sub.add(sub);\n            chai_1.expect(ret).to.equal(sub);\n        });\n        it('Should returns Subscription.EMPTY if it is passed', function () {\n            var sub = new Subscription();\n            var ret = sub.add(Subscription.EMPTY);\n            chai_1.expect(ret).to.equal(Subscription.EMPTY);\n        });\n        it('Should returns Subscription.EMPTY if it is called with `void` value', function () {\n            var sub = new Subscription();\n            var ret = sub.add(undefined);\n            chai_1.expect(ret).to.equal(Subscription.EMPTY);\n        });\n        it('Should returns a new Subscription created with teardown function if it is passed a function', function () {\n            var sub = new Subscription();\n            var isCalled = false;\n            var ret = sub.add(function () {\n                isCalled = true;\n            });\n            ret.unsubscribe();\n            chai_1.expect(isCalled).to.equal(true);\n        });\n        it('Should returns the passed one if passed a unsubscribed AnonymousSubscription', function () {\n            var sub = new Subscription();\n            var arg = {\n                isUnsubscribed: true,\n                unsubscribe: function () { return undefined; },\n            };\n            var ret = sub.add(arg);\n            chai_1.expect(ret).to.equal(arg);\n        });\n        it('Should returns the passed one if passed a AnonymousSubscription having not function `unsubscribe` member', function () {\n            var sub = new Subscription();\n            var arg = {\n                isUnsubscribed: false,\n                unsubscribe: undefined,\n            };\n            var ret = sub.add(arg);\n            chai_1.expect(ret).to.equal(arg);\n        });\n        it('Should returns the passed one if the self has been unsubscribed', function () {\n            var main = new Subscription();\n            main.unsubscribe();\n            var child = new Subscription();\n            var ret = main.add(child);\n            chai_1.expect(ret).to.equal(child);\n        });\n        it('Should unsubscribe the passed one if the self has been unsubscribed', function () {\n            var main = new Subscription();\n            main.unsubscribe();\n            var isCalled = false;\n            var child = new Subscription(function () {\n                isCalled = true;\n            });\n            main.add(child);\n            chai_1.expect(isCalled).to.equal(true);\n        });\n    });\n});\n//# sourceMappingURL=Subscription-spec.js.map"
  },
  {
    "__docId__": 976,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe113",
    "testId": 113,
    "memberof": "spec-js/Subscription-spec.js",
    "testDepth": 0,
    "longname": "spec-js/Subscription-spec.js~describe113",
    "access": null,
    "description": "Subscription",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Subscription}"
      }
    ],
    "testTargets": [
      "Subscription"
    ]
  },
  {
    "__docId__": 977,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it114",
    "testId": 114,
    "memberof": "spec-js/Subscription-spec.js~describe113",
    "testDepth": 1,
    "longname": "spec-js/Subscription-spec.js~describe113.it114",
    "access": null,
    "description": "should not leak",
    "lineNumber": 8
  },
  {
    "__docId__": 978,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it115",
    "testId": 115,
    "memberof": "spec-js/Subscription-spec.js~describe113",
    "testDepth": 1,
    "longname": "spec-js/Subscription-spec.js~describe113.it115",
    "access": null,
    "description": "should not leak when adding a bad custom subscription to a subscription",
    "lineNumber": 35
  },
  {
    "__docId__": 979,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe116",
    "testId": 116,
    "memberof": "spec-js/Subscription-spec.js~describe113",
    "testDepth": 1,
    "longname": "spec-js/Subscription-spec.js~describe113.describe116",
    "access": null,
    "description": "Subscription.add()",
    "lineNumber": 68
  },
  {
    "__docId__": 980,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it117",
    "testId": 117,
    "memberof": "spec-js/Subscription-spec.js~describe113.describe116",
    "testDepth": 2,
    "longname": "spec-js/Subscription-spec.js~describe113.describe116.it117",
    "access": null,
    "description": "Should returns the self if the self is passed",
    "lineNumber": 69
  },
  {
    "__docId__": 981,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it118",
    "testId": 118,
    "memberof": "spec-js/Subscription-spec.js~describe113.describe116",
    "testDepth": 2,
    "longname": "spec-js/Subscription-spec.js~describe113.describe116.it118",
    "access": null,
    "description": "Should returns Subscription.EMPTY if it is passed",
    "lineNumber": 74
  },
  {
    "__docId__": 982,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it119",
    "testId": 119,
    "memberof": "spec-js/Subscription-spec.js~describe113.describe116",
    "testDepth": 2,
    "longname": "spec-js/Subscription-spec.js~describe113.describe116.it119",
    "access": null,
    "description": "Should returns Subscription.EMPTY if it is called with `void` value",
    "lineNumber": 79
  },
  {
    "__docId__": 983,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it120",
    "testId": 120,
    "memberof": "spec-js/Subscription-spec.js~describe113.describe116",
    "testDepth": 2,
    "longname": "spec-js/Subscription-spec.js~describe113.describe116.it120",
    "access": null,
    "description": "Should returns a new Subscription created with teardown function if it is passed a function",
    "lineNumber": 84
  },
  {
    "__docId__": 984,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it121",
    "testId": 121,
    "memberof": "spec-js/Subscription-spec.js~describe113.describe116",
    "testDepth": 2,
    "longname": "spec-js/Subscription-spec.js~describe113.describe116.it121",
    "access": null,
    "description": "Should returns the passed one if passed a unsubscribed AnonymousSubscription",
    "lineNumber": 93
  },
  {
    "__docId__": 985,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it122",
    "testId": 122,
    "memberof": "spec-js/Subscription-spec.js~describe113.describe116",
    "testDepth": 2,
    "longname": "spec-js/Subscription-spec.js~describe113.describe116.it122",
    "access": null,
    "description": "Should returns the passed one if passed a AnonymousSubscription having not function `unsubscribe` member",
    "lineNumber": 102
  },
  {
    "__docId__": 986,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it123",
    "testId": 123,
    "memberof": "spec-js/Subscription-spec.js~describe113.describe116",
    "testDepth": 2,
    "longname": "spec-js/Subscription-spec.js~describe113.describe116.it123",
    "access": null,
    "description": "Should returns the passed one if the self has been unsubscribed",
    "lineNumber": 111
  },
  {
    "__docId__": 987,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it124",
    "testId": 124,
    "memberof": "spec-js/Subscription-spec.js~describe113.describe116",
    "testDepth": 2,
    "longname": "spec-js/Subscription-spec.js~describe113.describe116.it124",
    "access": null,
    "description": "Should unsubscribe the passed one if the self has been unsubscribed",
    "lineNumber": 118
  },
  {
    "__docId__": 988,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/IteratorObservable-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/IteratorObservable-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar queue_1 = require('../../dist/cjs/scheduler/queue');\nvar IteratorObservable_1 = require('../../dist/cjs/observable/IteratorObservable');\ndescribe('IteratorObservable', function () {\n    it('should create an Observable via constructor', function () {\n        var source = new IteratorObservable_1.IteratorObservable([]);\n        chai_1.expect(source instanceof IteratorObservable_1.IteratorObservable).to.be.true;\n    });\n    it('should create IteratorObservable via static create function', function () {\n        var s = new IteratorObservable_1.IteratorObservable([]);\n        var r = IteratorObservable_1.IteratorObservable.create([]);\n        chai_1.expect(s).to.deep.equal(r);\n    });\n    it('should not accept null (or truthy-equivalent to null) iterator', function () {\n        chai_1.expect(function () {\n            IteratorObservable_1.IteratorObservable.create(null);\n        }).to.throw(Error, 'iterator cannot be null.');\n        chai_1.expect(function () {\n            IteratorObservable_1.IteratorObservable.create(void 0);\n        }).to.throw(Error, 'iterator cannot be null.');\n    });\n    it('should not accept boolean as iterator', function () {\n        chai_1.expect(function () {\n            IteratorObservable_1.IteratorObservable.create(false);\n        }).to.throw(Error, 'object is not iterable');\n    });\n    it('should emit members of an array iterator', function (done) {\n        var expected = [10, 20, 30, 40];\n        IteratorObservable_1.IteratorObservable.create([10, 20, 30, 40])\n            .subscribe(function (x) { chai_1.expect(x).to.equal(expected.shift()); }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should finalize generators if the subscription ends', function () {\n        var iterator = {\n            finalized: false,\n            next: function () {\n                return { value: 'duck', done: false };\n            },\n            return: function () {\n                this.finalized = true;\n            }\n        };\n        var iterable = (_a = {},\n            _a[Rx.Symbol.iterator] = function () {\n                return iterator;\n            },\n            _a\n        );\n        var results = [];\n        IteratorObservable_1.IteratorObservable.create(iterable)\n            .take(3)\n            .subscribe(function (x) { return results.push(x); }, null, function () { return results.push('GOOSE!'); });\n        chai_1.expect(results).to.deep.equal(['duck', 'duck', 'duck', 'GOOSE!']);\n        chai_1.expect(iterator.finalized).to.be.true;\n        var _a;\n    });\n    it('should finalize generators if the subscription and it is scheduled', function () {\n        var iterator = {\n            finalized: false,\n            next: function () {\n                return { value: 'duck', done: false };\n            },\n            return: function () {\n                this.finalized = true;\n            }\n        };\n        var iterable = (_a = {},\n            _a[Rx.Symbol.iterator] = function () {\n                return iterator;\n            },\n            _a\n        );\n        var results = [];\n        IteratorObservable_1.IteratorObservable.create(iterable, queue_1.queue)\n            .take(3)\n            .subscribe(function (x) { return results.push(x); }, null, function () { return results.push('GOOSE!'); });\n        chai_1.expect(results).to.deep.equal(['duck', 'duck', 'duck', 'GOOSE!']);\n        chai_1.expect(iterator.finalized).to.be.true;\n        var _a;\n    });\n    it('should emit members of an array iterator on a particular scheduler', function () {\n        var source = IteratorObservable_1.IteratorObservable.create([10, 20, 30, 40], rxTestScheduler);\n        var values = { a: 10, b: 20, c: 30, d: 40 };\n        expectObservable(source).toBe('(abcd|)', values);\n    });\n    it('should emit members of an array iterator on a particular scheduler, ' +\n        'but is unsubscribed early', function (done) {\n        var expected = [10, 20, 30, 40];\n        var source = IteratorObservable_1.IteratorObservable.create([10, 20, 30, 40], Rx.Scheduler.queue);\n        var subscriber = Rx.Subscriber.create(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n            if (x === 30) {\n                subscriber.unsubscribe();\n                done();\n            }\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done(new Error('should not be called'));\n        });\n        source.subscribe(subscriber);\n    });\n    it('should emit characters of a string iterator', function (done) {\n        var expected = ['f', 'o', 'o'];\n        IteratorObservable_1.IteratorObservable.create('foo')\n            .subscribe(function (x) { chai_1.expect(x).to.equal(expected.shift()); }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should be possible to unsubscribe in the middle of the iteration', function (done) {\n        var expected = [10, 20, 30];\n        var subscriber = Rx.Subscriber.create(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n            if (x === 30) {\n                subscriber.unsubscribe();\n                done();\n            }\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done(new Error('should not be called'));\n        });\n        IteratorObservable_1.IteratorObservable.create([10, 20, 30, 40, 50, 60]).subscribe(subscriber);\n    });\n});\n//# sourceMappingURL=IteratorObservable-spec.js.map"
  },
  {
    "__docId__": 989,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe125",
    "testId": 125,
    "memberof": "spec-js/observables/IteratorObservable-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "access": null,
    "description": "IteratorObservable",
    "lineNumber": 6
  },
  {
    "__docId__": 990,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it126",
    "testId": 126,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it126",
    "access": null,
    "description": "should create an Observable via constructor",
    "lineNumber": 7
  },
  {
    "__docId__": 991,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it127",
    "testId": 127,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it127",
    "access": null,
    "description": "should create IteratorObservable via static create function",
    "lineNumber": 11
  },
  {
    "__docId__": 992,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it128",
    "testId": 128,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it128",
    "access": null,
    "description": "should not accept null (or truthy-equivalent to null) iterator",
    "lineNumber": 16
  },
  {
    "__docId__": 993,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it129",
    "testId": 129,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it129",
    "access": null,
    "description": "should not accept boolean as iterator",
    "lineNumber": 24
  },
  {
    "__docId__": 994,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it130",
    "testId": 130,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it130",
    "access": null,
    "description": "should emit members of an array iterator",
    "lineNumber": 29
  },
  {
    "__docId__": 995,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it131",
    "testId": 131,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it131",
    "access": null,
    "description": "should finalize generators if the subscription ends",
    "lineNumber": 39
  },
  {
    "__docId__": 996,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it132",
    "testId": 132,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it132",
    "access": null,
    "description": "should finalize generators if the subscription and it is scheduled",
    "lineNumber": 63
  },
  {
    "__docId__": 997,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it133",
    "testId": 133,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it133",
    "access": null,
    "description": "should emit members of an array iterator on a particular scheduler",
    "lineNumber": 87
  },
  {
    "__docId__": 998,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it134",
    "testId": 134,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it134",
    "access": null,
    "lineNumber": 92
  },
  {
    "__docId__": 999,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it135",
    "testId": 135,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it135",
    "access": null,
    "description": "should emit characters of a string iterator",
    "lineNumber": 109
  },
  {
    "__docId__": 1000,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it136",
    "testId": 136,
    "memberof": "spec-js/observables/IteratorObservable-spec.js~describe125",
    "testDepth": 1,
    "longname": "spec-js/observables/IteratorObservable-spec.js~describe125.it136",
    "access": null,
    "description": "should be possible to unsubscribe in the middle of the iteration",
    "lineNumber": 119
  },
  {
    "__docId__": 1001,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/ScalarObservable-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/ScalarObservable-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar ScalarObservable_1 = require('../../dist/cjs/observable/ScalarObservable');\ndescribe('ScalarObservable', function () {\n    it('should create expose a value property', function () {\n        var s = new ScalarObservable_1.ScalarObservable(1);\n        chai_1.expect(s.value).to.equal(1);\n    });\n    it('should create ScalarObservable via static create function', function () {\n        var s = new ScalarObservable_1.ScalarObservable(1);\n        var r = ScalarObservable_1.ScalarObservable.create(1);\n        chai_1.expect(s).to.deep.equal(r);\n    });\n    it('should not schedule further if subscriber unsubscribed', function () {\n        var s = new ScalarObservable_1.ScalarObservable(1, rxTestScheduler);\n        var subscriber = new Rx.Subscriber();\n        s.subscribe(subscriber);\n        subscriber.closed = true;\n        rxTestScheduler.flush();\n    });\n    it('should set `_isScalar` to true when NOT called with a Scheduler', function () {\n        var s = new ScalarObservable_1.ScalarObservable(1);\n        chai_1.expect(s._isScalar).to.be.true;\n    });\n    it('should set `_isScalar` to false when called with a Scheduler', function () {\n        var s = new ScalarObservable_1.ScalarObservable(1, rxTestScheduler);\n        chai_1.expect(s._isScalar).to.be.false;\n    });\n});\n//# sourceMappingURL=ScalarObservable-spec.js.map"
  },
  {
    "__docId__": 1002,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe137",
    "testId": 137,
    "memberof": "spec-js/observables/ScalarObservable-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/ScalarObservable-spec.js~describe137",
    "access": null,
    "description": "ScalarObservable",
    "lineNumber": 5
  },
  {
    "__docId__": 1003,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it138",
    "testId": 138,
    "memberof": "spec-js/observables/ScalarObservable-spec.js~describe137",
    "testDepth": 1,
    "longname": "spec-js/observables/ScalarObservable-spec.js~describe137.it138",
    "access": null,
    "description": "should create expose a value property",
    "lineNumber": 6
  },
  {
    "__docId__": 1004,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it139",
    "testId": 139,
    "memberof": "spec-js/observables/ScalarObservable-spec.js~describe137",
    "testDepth": 1,
    "longname": "spec-js/observables/ScalarObservable-spec.js~describe137.it139",
    "access": null,
    "description": "should create ScalarObservable via static create function",
    "lineNumber": 10
  },
  {
    "__docId__": 1005,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it140",
    "testId": 140,
    "memberof": "spec-js/observables/ScalarObservable-spec.js~describe137",
    "testDepth": 1,
    "longname": "spec-js/observables/ScalarObservable-spec.js~describe137.it140",
    "access": null,
    "description": "should not schedule further if subscriber unsubscribed",
    "lineNumber": 15
  },
  {
    "__docId__": 1006,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it141",
    "testId": 141,
    "memberof": "spec-js/observables/ScalarObservable-spec.js~describe137",
    "testDepth": 1,
    "longname": "spec-js/observables/ScalarObservable-spec.js~describe137.it141",
    "access": null,
    "description": "should set `_isScalar` to true when NOT called with a Scheduler",
    "lineNumber": 22
  },
  {
    "__docId__": 1007,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it142",
    "testId": 142,
    "memberof": "spec-js/observables/ScalarObservable-spec.js~describe137",
    "testDepth": 1,
    "longname": "spec-js/observables/ScalarObservable-spec.js~describe137.it142",
    "access": null,
    "description": "should set `_isScalar` to false when called with a Scheduler",
    "lineNumber": 26
  },
  {
    "__docId__": 1008,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/SubscribeOnObservable-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/SubscribeOnObservable-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../dist/cjs/Rx');\nvar SubscribeOnObservable_1 = require('../../dist/cjs/observable/SubscribeOnObservable');\ndescribe('SubscribeOnObservable', function () {\n    it('should create Observable to be subscribed on specified scheduler', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '--a--b--|';\n        var sub = '^       !';\n        var subscribe = new SubscribeOnObservable_1.SubscribeOnObservable(e1, 0, rxTestScheduler);\n        expectObservable(subscribe).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should specify default scheduler if incorrect scheduler specified', function () {\n        var e1 = hot('--a--b--|');\n        var obj = sinon.spy();\n        var scheduler = (new SubscribeOnObservable_1.SubscribeOnObservable(e1, 0, obj)).scheduler;\n        chai_1.expect(scheduler).to.deep.equal(Rx.Scheduler.asap);\n    });\n    it('should create observable via staic create function', function () {\n        var s = new SubscribeOnObservable_1.SubscribeOnObservable(null, null, rxTestScheduler);\n        var r = SubscribeOnObservable_1.SubscribeOnObservable.create(null, null, rxTestScheduler);\n        chai_1.expect(s).to.deep.equal(r);\n    });\n    it('should subscribe after specified delay', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '-----b--|';\n        var sub = '   ^    !';\n        var subscribe = new SubscribeOnObservable_1.SubscribeOnObservable(e1, 30, rxTestScheduler);\n        expectObservable(subscribe).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should consider negative delay as zero', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '--a--b--|';\n        var sub = '^       !';\n        var subscribe = new SubscribeOnObservable_1.SubscribeOnObservable(e1, -10, rxTestScheduler);\n        expectObservable(subscribe).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n});\n//# sourceMappingURL=SubscribeOnObservable-spec.js.map"
  },
  {
    "__docId__": 1009,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe143",
    "testId": 143,
    "memberof": "spec-js/observables/SubscribeOnObservable-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/SubscribeOnObservable-spec.js~describe143",
    "access": null,
    "description": "SubscribeOnObservable",
    "lineNumber": 6
  },
  {
    "__docId__": 1010,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it144",
    "testId": 144,
    "memberof": "spec-js/observables/SubscribeOnObservable-spec.js~describe143",
    "testDepth": 1,
    "longname": "spec-js/observables/SubscribeOnObservable-spec.js~describe143.it144",
    "access": null,
    "description": "should create Observable to be subscribed on specified scheduler",
    "lineNumber": 7
  },
  {
    "__docId__": 1011,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it145",
    "testId": 145,
    "memberof": "spec-js/observables/SubscribeOnObservable-spec.js~describe143",
    "testDepth": 1,
    "longname": "spec-js/observables/SubscribeOnObservable-spec.js~describe143.it145",
    "access": null,
    "description": "should specify default scheduler if incorrect scheduler specified",
    "lineNumber": 15
  },
  {
    "__docId__": 1012,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it146",
    "testId": 146,
    "memberof": "spec-js/observables/SubscribeOnObservable-spec.js~describe143",
    "testDepth": 1,
    "longname": "spec-js/observables/SubscribeOnObservable-spec.js~describe143.it146",
    "access": null,
    "description": "should create observable via staic create function",
    "lineNumber": 21
  },
  {
    "__docId__": 1013,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it147",
    "testId": 147,
    "memberof": "spec-js/observables/SubscribeOnObservable-spec.js~describe143",
    "testDepth": 1,
    "longname": "spec-js/observables/SubscribeOnObservable-spec.js~describe143.it147",
    "access": null,
    "description": "should subscribe after specified delay",
    "lineNumber": 26
  },
  {
    "__docId__": 1014,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it148",
    "testId": 148,
    "memberof": "spec-js/observables/SubscribeOnObservable-spec.js~describe143",
    "testDepth": 1,
    "longname": "spec-js/observables/SubscribeOnObservable-spec.js~describe143.it148",
    "access": null,
    "description": "should consider negative delay as zero",
    "lineNumber": 34
  },
  {
    "__docId__": 1015,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/bindCallback-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/bindCallback-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {bindCallback} */\ndescribe('Observable.bindCallback', function () {\n    describe('when not scheduled', function () {\n        it('should emit one value from a callback', function () {\n            function callback(datum, cb) {\n                cb(datum);\n            }\n            var boundCallback = Observable.bindCallback(callback);\n            var results = [];\n            boundCallback(42)\n                .subscribe(function (x) {\n                results.push(x);\n            }, null, function () {\n                results.push('done');\n            });\n            chai_1.expect(results).to.deep.equal([42, 'done']);\n        });\n        it('should emit one value chosen by a selector', function () {\n            function callback(datum, cb) {\n                cb(datum);\n            }\n            var boundCallback = Observable.bindCallback(callback, function (datum) { return datum; });\n            var results = [];\n            boundCallback(42)\n                .subscribe(function (x) {\n                results.push(x);\n            }, null, function () {\n                results.push('done');\n            });\n            chai_1.expect(results).to.deep.equal([42, 'done']);\n        });\n        it('should emit an error when the selector throws', function () {\n            var expected = new Error('Yikes!');\n            function callback(cb) {\n                cb(42);\n            }\n            var boundCallback = Observable.bindCallback(callback, function (err) { throw expected; });\n            boundCallback()\n                .subscribe(function () {\n                throw 'should not next';\n            }, function (err) {\n                chai_1.expect(err).to.equal(expected);\n            }, function () {\n                throw 'should not complete';\n            });\n        });\n        it('should not emit, throw or complete if immediately unsubscribed', function (done) {\n            var nextSpy = sinon.spy();\n            var throwSpy = sinon.spy();\n            var completeSpy = sinon.spy();\n            var timeout;\n            function callback(datum, cb) {\n                // Need to cb async in order for the unsub to trigger\n                timeout = setTimeout(function () {\n                    cb(datum);\n                });\n            }\n            var subscription = Observable.bindCallback(callback)(42)\n                .subscribe(nextSpy, throwSpy, completeSpy);\n            subscription.unsubscribe();\n            setTimeout(function () {\n                chai_1.expect(nextSpy).not.have.been.called;\n                chai_1.expect(throwSpy).not.have.been.called;\n                chai_1.expect(completeSpy).not.have.been.called;\n                clearTimeout(timeout);\n                done();\n            });\n        });\n    });\n    describe('when scheduled', function () {\n        it('should emit one value from a callback', function () {\n            function callback(datum, cb) {\n                cb(datum);\n            }\n            var boundCallback = Observable.bindCallback(callback, null, rxTestScheduler);\n            var results = [];\n            boundCallback(42)\n                .subscribe(function (x) {\n                results.push(x);\n            }, null, function () {\n                results.push('done');\n            });\n            rxTestScheduler.flush();\n            chai_1.expect(results).to.deep.equal([42, 'done']);\n        });\n        it('should error if callback throws', function () {\n            var expected = new Error('haha no callback for you');\n            function callback(datum, cb) {\n                throw expected;\n            }\n            var boundCallback = Observable.bindCallback(callback, null, rxTestScheduler);\n            boundCallback(42)\n                .subscribe(function (x) {\n                throw 'should not next';\n            }, function (err) {\n                chai_1.expect(err).to.equal(expected);\n            }, function () {\n                throw 'should not complete';\n            });\n            rxTestScheduler.flush();\n        });\n        it('should error if selector throws', function () {\n            var expected = new Error('what? a selector? I don\\'t think so');\n            function callback(datum, cb) {\n                cb(datum);\n            }\n            function selector() {\n                throw expected;\n            }\n            var boundCallback = Observable.bindCallback(callback, selector, rxTestScheduler);\n            boundCallback(42)\n                .subscribe(function (x) {\n                throw 'should not next';\n            }, function (err) {\n                chai_1.expect(err).to.equal(expected);\n            }, function () {\n                throw 'should not complete';\n            });\n            rxTestScheduler.flush();\n        });\n        it('should use a selector', function () {\n            function callback(datum, cb) {\n                cb(datum);\n            }\n            function selector(x) {\n                return x + '!!!';\n            }\n            var boundCallback = Observable.bindCallback(callback, selector, rxTestScheduler);\n            var results = [];\n            boundCallback(42)\n                .subscribe(function (x) {\n                results.push(x);\n            }, null, function () {\n                results.push('done');\n            });\n            rxTestScheduler.flush();\n            chai_1.expect(results).to.deep.equal(['42!!!', 'done']);\n        });\n    });\n    it('should pass multiple inner arguments as an array', function () {\n        function callback(datum, cb) {\n            cb(datum, 1, 2, 3);\n        }\n        var boundCallback = Observable.bindCallback(callback, null, rxTestScheduler);\n        var results = [];\n        boundCallback(42)\n            .subscribe(function (x) {\n            results.push(x);\n        }, null, function () {\n            results.push('done');\n        });\n        rxTestScheduler.flush();\n        chai_1.expect(results).to.deep.equal([[42, 1, 2, 3], 'done']);\n    });\n    it('should pass multiple inner arguments to the selector if there is one', function () {\n        function callback(datum, cb) {\n            cb(datum, 1, 2, 3);\n        }\n        function selector(a, b, c, d) {\n            chai_1.expect([a, b, c, d]).to.deep.equal([42, 1, 2, 3]);\n            return a + b + c + d;\n        }\n        var boundCallback = Observable.bindCallback(callback, selector, rxTestScheduler);\n        var results = [];\n        boundCallback(42)\n            .subscribe(function (x) {\n            results.push(x);\n        }, null, function () {\n            results.push('done');\n        });\n        rxTestScheduler.flush();\n        chai_1.expect(results).to.deep.equal([48, 'done']);\n    });\n    it('should cache value for next subscription and not call callbackFunc again', function () {\n        var calls = 0;\n        function callback(datum, cb) {\n            calls++;\n            cb(datum);\n        }\n        var boundCallback = Observable.bindCallback(callback, null, rxTestScheduler);\n        var results1 = [];\n        var results2 = [];\n        var source = boundCallback(42);\n        source.subscribe(function (x) {\n            results1.push(x);\n        }, null, function () {\n            results1.push('done');\n        });\n        source.subscribe(function (x) {\n            results2.push(x);\n        }, null, function () {\n            results2.push('done');\n        });\n        rxTestScheduler.flush();\n        chai_1.expect(calls).to.equal(1);\n        chai_1.expect(results1).to.deep.equal([42, 'done']);\n        chai_1.expect(results2).to.deep.equal([42, 'done']);\n    });\n    it('should not even call the callbackFn if immediately unsubscribed', function () {\n        var calls = 0;\n        function callback(datum, cb) {\n            calls++;\n            cb(datum);\n        }\n        var boundCallback = Observable.bindCallback(callback, null, rxTestScheduler);\n        var results1 = [];\n        var source = boundCallback(42);\n        var subscription = source.subscribe(function (x) {\n            results1.push(x);\n        }, null, function () {\n            results1.push('done');\n        });\n        subscription.unsubscribe();\n        rxTestScheduler.flush();\n        chai_1.expect(calls).to.equal(0);\n    });\n});\n//# sourceMappingURL=bindCallback-spec.js.map"
  },
  {
    "__docId__": 1016,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe149",
    "testId": 149,
    "memberof": "spec-js/observables/bindCallback-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149",
    "access": null,
    "description": "Observable.bindCallback",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{bindCallback}"
      }
    ],
    "testTargets": [
      "bindCallback"
    ]
  },
  {
    "__docId__": 1017,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe150",
    "testId": 150,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149",
    "testDepth": 1,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe150",
    "access": null,
    "description": "when not scheduled",
    "lineNumber": 8
  },
  {
    "__docId__": 1018,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it151",
    "testId": 151,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149.describe150",
    "testDepth": 2,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe150.it151",
    "access": null,
    "description": "should emit one value from a callback",
    "lineNumber": 9
  },
  {
    "__docId__": 1019,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it152",
    "testId": 152,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149.describe150",
    "testDepth": 2,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe150.it152",
    "access": null,
    "description": "should emit one value chosen by a selector",
    "lineNumber": 23
  },
  {
    "__docId__": 1020,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it153",
    "testId": 153,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149.describe150",
    "testDepth": 2,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe150.it153",
    "access": null,
    "description": "should emit an error when the selector throws",
    "lineNumber": 37
  },
  {
    "__docId__": 1021,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it154",
    "testId": 154,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149.describe150",
    "testDepth": 2,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe150.it154",
    "access": null,
    "description": "should not emit, throw or complete if immediately unsubscribed",
    "lineNumber": 52
  },
  {
    "__docId__": 1022,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe155",
    "testId": 155,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149",
    "testDepth": 1,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe155",
    "access": null,
    "description": "when scheduled",
    "lineNumber": 75
  },
  {
    "__docId__": 1023,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it156",
    "testId": 156,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149.describe155",
    "testDepth": 2,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe155.it156",
    "access": null,
    "description": "should emit one value from a callback",
    "lineNumber": 76
  },
  {
    "__docId__": 1024,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it157",
    "testId": 157,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149.describe155",
    "testDepth": 2,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe155.it157",
    "access": null,
    "description": "should error if callback throws",
    "lineNumber": 91
  },
  {
    "__docId__": 1025,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it158",
    "testId": 158,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149.describe155",
    "testDepth": 2,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe155.it158",
    "access": null,
    "description": "should error if selector throws",
    "lineNumber": 107
  },
  {
    "__docId__": 1026,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it159",
    "testId": 159,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149.describe155",
    "testDepth": 2,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.describe155.it159",
    "access": null,
    "description": "should use a selector",
    "lineNumber": 126
  },
  {
    "__docId__": 1027,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it160",
    "testId": 160,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149",
    "testDepth": 1,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.it160",
    "access": null,
    "description": "should pass multiple inner arguments as an array",
    "lineNumber": 145
  },
  {
    "__docId__": 1028,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it161",
    "testId": 161,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149",
    "testDepth": 1,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.it161",
    "access": null,
    "description": "should pass multiple inner arguments to the selector if there is one",
    "lineNumber": 160
  },
  {
    "__docId__": 1029,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it162",
    "testId": 162,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149",
    "testDepth": 1,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.it162",
    "access": null,
    "description": "should cache value for next subscription and not call callbackFunc again",
    "lineNumber": 179
  },
  {
    "__docId__": 1030,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it163",
    "testId": 163,
    "memberof": "spec-js/observables/bindCallback-spec.js~describe149",
    "testDepth": 1,
    "longname": "spec-js/observables/bindCallback-spec.js~describe149.it163",
    "access": null,
    "description": "should not even call the callbackFn if immediately unsubscribed",
    "lineNumber": 204
  },
  {
    "__docId__": 1031,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/bindNodeCallback-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/bindNodeCallback-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {bindNodeCallback} */\ndescribe('Observable.bindNodeCallback', function () {\n    describe('when not scheduled', function () {\n        it('should emit one value from a callback', function () {\n            function callback(datum, cb) {\n                cb(null, datum);\n            }\n            var boundCallback = Observable.bindNodeCallback(callback);\n            var results = [];\n            boundCallback(42)\n                .subscribe(function (x) {\n                results.push(x);\n            }, null, function () {\n                results.push('done');\n            });\n            chai_1.expect(results).to.deep.equal([42, 'done']);\n        });\n        it('should emit one value chosen by a selector', function () {\n            function callback(datum, cb) {\n                cb(null, datum);\n            }\n            var boundCallback = Observable.bindNodeCallback(callback, function (datum) { return datum; });\n            var results = [];\n            boundCallback(42)\n                .subscribe(function (x) {\n                results.push(x);\n            }, null, function () {\n                results.push('done');\n            });\n            chai_1.expect(results).to.deep.equal([42, 'done']);\n        });\n        it('should raise error from callback', function () {\n            var error = new Error();\n            function callback(cb) {\n                cb(error);\n            }\n            var boundCallback = Observable.bindNodeCallback(callback);\n            var results = [];\n            boundCallback()\n                .subscribe(function () {\n                throw 'should not next';\n            }, function (err) {\n                results.push(err);\n            }, function () {\n                throw 'should not complete';\n            });\n            chai_1.expect(results).to.deep.equal([error]);\n        });\n        it('should emit an error when the selector throws', function () {\n            function callback(cb) {\n                cb(null, 42);\n            }\n            var expected = new Error('Yikes!');\n            var boundCallback = Observable.bindNodeCallback(callback, function (err) { throw expected; });\n            boundCallback()\n                .subscribe(function () {\n                throw 'should not next';\n            }, function (err) {\n                chai_1.expect(err).to.equal(expected);\n            }, function () {\n                throw 'should not complete';\n            });\n        });\n        it('should not emit, throw or complete if immediately unsubscribed', function (done) {\n            var nextSpy = sinon.spy();\n            var throwSpy = sinon.spy();\n            var completeSpy = sinon.spy();\n            var timeout;\n            function callback(datum, cb) {\n                // Need to cb async in order for the unsub to trigger\n                timeout = setTimeout(function () {\n                    cb(null, datum);\n                });\n            }\n            var subscription = Observable.bindNodeCallback(callback)(42)\n                .subscribe(nextSpy, throwSpy, completeSpy);\n            subscription.unsubscribe();\n            setTimeout(function () {\n                chai_1.expect(nextSpy).not.have.been.called;\n                chai_1.expect(throwSpy).not.have.been.called;\n                chai_1.expect(completeSpy).not.have.been.called;\n                clearTimeout(timeout);\n                done();\n            });\n        });\n    });\n    describe('when scheduled', function () {\n        it('should emit one value from a callback', function () {\n            function callback(datum, cb) {\n                cb(null, datum);\n            }\n            var boundCallback = Observable.bindNodeCallback(callback, null, rxTestScheduler);\n            var results = [];\n            boundCallback(42)\n                .subscribe(function (x) {\n                results.push(x);\n            }, null, function () {\n                results.push('done');\n            });\n            rxTestScheduler.flush();\n            chai_1.expect(results).to.deep.equal([42, 'done']);\n        });\n        it('should error if callback throws', function () {\n            var expected = new Error('haha no callback for you');\n            function callback(datum, cb) {\n                throw expected;\n            }\n            var boundCallback = Observable.bindNodeCallback(callback, null, rxTestScheduler);\n            boundCallback(42)\n                .subscribe(function (x) {\n                throw 'should not next';\n            }, function (err) {\n                chai_1.expect(err).to.equal(expected);\n            }, function () {\n                throw 'should not complete';\n            });\n            rxTestScheduler.flush();\n        });\n        it('should raise error from callback', function () {\n            var error = new Error();\n            function callback(cb) {\n                cb(error);\n            }\n            var boundCallback = Observable.bindNodeCallback(callback, null, rxTestScheduler);\n            var results = [];\n            boundCallback()\n                .subscribe(function () {\n                throw 'should not next';\n            }, function (err) {\n                results.push(err);\n            }, function () {\n                throw 'should not complete';\n            });\n            rxTestScheduler.flush();\n            chai_1.expect(results).to.deep.equal([error]);\n        });\n        it('should error if selector throws', function () {\n            var expected = new Error('what? a selector? I don\\'t think so');\n            function callback(datum, cb) {\n                cb(null, datum);\n            }\n            function selector() {\n                throw expected;\n            }\n            var boundCallback = Observable.bindNodeCallback(callback, selector, rxTestScheduler);\n            boundCallback(42)\n                .subscribe(function (x) {\n                throw 'should not next';\n            }, function (err) {\n                chai_1.expect(err).to.equal(expected);\n            }, function () {\n                throw 'should not complete';\n            });\n            rxTestScheduler.flush();\n        });\n        it('should use a selector', function () {\n            function callback(datum, cb) {\n                cb(null, datum);\n            }\n            function selector(x) {\n                return x + '!!!';\n            }\n            var boundCallback = Observable.bindNodeCallback(callback, selector, rxTestScheduler);\n            var results = [];\n            boundCallback(42)\n                .subscribe(function (x) {\n                results.push(x);\n            }, null, function () {\n                results.push('done');\n            });\n            rxTestScheduler.flush();\n            chai_1.expect(results).to.deep.equal(['42!!!', 'done']);\n        });\n    });\n    it('should pass multiple inner arguments as an array', function () {\n        function callback(datum, cb) {\n            cb(null, datum, 1, 2, 3);\n        }\n        var boundCallback = Observable.bindNodeCallback(callback, null, rxTestScheduler);\n        var results = [];\n        boundCallback(42)\n            .subscribe(function (x) {\n            results.push(x);\n        }, null, function () {\n            results.push('done');\n        });\n        rxTestScheduler.flush();\n        chai_1.expect(results).to.deep.equal([[42, 1, 2, 3], 'done']);\n    });\n    it('should pass multiple inner arguments to the selector if there is one', function () {\n        function callback(datum, cb) {\n            cb(null, datum, 1, 2, 3);\n        }\n        function selector(a, b, c, d) {\n            chai_1.expect([a, b, c, d]).to.deep.equal([42, 1, 2, 3]);\n            return a + b + c + d;\n        }\n        var boundCallback = Observable.bindNodeCallback(callback, selector, rxTestScheduler);\n        var results = [];\n        boundCallback(42)\n            .subscribe(function (x) {\n            results.push(x);\n        }, null, function () {\n            results.push('done');\n        });\n        rxTestScheduler.flush();\n        chai_1.expect(results).to.deep.equal([48, 'done']);\n    });\n    it('should cache value for next subscription and not call callbackFunc again', function () {\n        var calls = 0;\n        function callback(datum, cb) {\n            calls++;\n            cb(null, datum);\n        }\n        var boundCallback = Observable.bindNodeCallback(callback, null, rxTestScheduler);\n        var results1 = [];\n        var results2 = [];\n        var source = boundCallback(42);\n        source.subscribe(function (x) {\n            results1.push(x);\n        }, null, function () {\n            results1.push('done');\n        });\n        source.subscribe(function (x) {\n            results2.push(x);\n        }, null, function () {\n            results2.push('done');\n        });\n        rxTestScheduler.flush();\n        chai_1.expect(calls).to.equal(1);\n        chai_1.expect(results1).to.deep.equal([42, 'done']);\n        chai_1.expect(results2).to.deep.equal([42, 'done']);\n    });\n});\n//# sourceMappingURL=bindNodeCallback-spec.js.map"
  },
  {
    "__docId__": 1032,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe164",
    "testId": 164,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164",
    "access": null,
    "description": "Observable.bindNodeCallback",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{bindNodeCallback}"
      }
    ],
    "testTargets": [
      "bindNodeCallback"
    ]
  },
  {
    "__docId__": 1033,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe165",
    "testId": 165,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164",
    "testDepth": 1,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165",
    "access": null,
    "description": "when not scheduled",
    "lineNumber": 8
  },
  {
    "__docId__": 1034,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it166",
    "testId": 166,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165.it166",
    "access": null,
    "description": "should emit one value from a callback",
    "lineNumber": 9
  },
  {
    "__docId__": 1035,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it167",
    "testId": 167,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165.it167",
    "access": null,
    "description": "should emit one value chosen by a selector",
    "lineNumber": 23
  },
  {
    "__docId__": 1036,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it168",
    "testId": 168,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165.it168",
    "access": null,
    "description": "should raise error from callback",
    "lineNumber": 37
  },
  {
    "__docId__": 1037,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it169",
    "testId": 169,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165.it169",
    "access": null,
    "description": "should emit an error when the selector throws",
    "lineNumber": 54
  },
  {
    "__docId__": 1038,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it170",
    "testId": 170,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe165.it170",
    "access": null,
    "description": "should not emit, throw or complete if immediately unsubscribed",
    "lineNumber": 69
  },
  {
    "__docId__": 1039,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe171",
    "testId": 171,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164",
    "testDepth": 1,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171",
    "access": null,
    "description": "when scheduled",
    "lineNumber": 92
  },
  {
    "__docId__": 1040,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it172",
    "testId": 172,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171.it172",
    "access": null,
    "description": "should emit one value from a callback",
    "lineNumber": 93
  },
  {
    "__docId__": 1041,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it173",
    "testId": 173,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171.it173",
    "access": null,
    "description": "should error if callback throws",
    "lineNumber": 108
  },
  {
    "__docId__": 1042,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it174",
    "testId": 174,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171.it174",
    "access": null,
    "description": "should raise error from callback",
    "lineNumber": 124
  },
  {
    "__docId__": 1043,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it175",
    "testId": 175,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171.it175",
    "access": null,
    "description": "should error if selector throws",
    "lineNumber": 142
  },
  {
    "__docId__": 1044,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it176",
    "testId": 176,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171",
    "testDepth": 2,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.describe171.it176",
    "access": null,
    "description": "should use a selector",
    "lineNumber": 161
  },
  {
    "__docId__": 1045,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it177",
    "testId": 177,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164",
    "testDepth": 1,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.it177",
    "access": null,
    "description": "should pass multiple inner arguments as an array",
    "lineNumber": 180
  },
  {
    "__docId__": 1046,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it178",
    "testId": 178,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164",
    "testDepth": 1,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.it178",
    "access": null,
    "description": "should pass multiple inner arguments to the selector if there is one",
    "lineNumber": 195
  },
  {
    "__docId__": 1047,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it179",
    "testId": 179,
    "memberof": "spec-js/observables/bindNodeCallback-spec.js~describe164",
    "testDepth": 1,
    "longname": "spec-js/observables/bindNodeCallback-spec.js~describe164.it179",
    "access": null,
    "description": "should cache value for next subscription and not call callbackFunc again",
    "lineNumber": 214
  },
  {
    "__docId__": 1048,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/combineLatest-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/combineLatest-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar queueScheduler = Rx.Scheduler.queue;\n/** @test {combineLatest} */\ndescribe('Observable.combineLatest', function () {\n    it('should combineLatest the provided observables', function () {\n        var firstSource = hot('----a----b----c----|');\n        var secondSource = hot('--d--e--f--g--|');\n        var expected = '----uv--wx-y--z----|';\n        var combined = Observable.combineLatest(firstSource, secondSource, function (a, b) { return '' + a + b; });\n        expectObservable(combined).toBe(expected, { u: 'ad', v: 'ae', w: 'af', x: 'bf', y: 'bg', z: 'cg' });\n    });\n    it('should combine an immediately-scheduled source with an immediately-scheduled second', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, 7, 8, queueScheduler);\n        var r = [[1, 4], [2, 4], [2, 5], [3, 5], [3, 6], [3, 7], [3, 8]];\n        //type definition need to be updated\n        Observable.combineLatest(a, b, queueScheduler).subscribe(function (vals) {\n            chai_1.expect(vals).to.deep.equal(r.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(r.length).to.equal(0);\n            done();\n        });\n    });\n    it('should accept array of observables', function () {\n        var firstSource = hot('----a----b----c----|');\n        var secondSource = hot('--d--e--f--g--|');\n        var expected = '----uv--wx-y--z----|';\n        var combined = Observable.combineLatest([firstSource, secondSource], function (a, b) { return '' + a + b; });\n        expectObservable(combined).toBe(expected, { u: 'ad', v: 'ae', w: 'af', x: 'bf', y: 'bg', z: 'cg' });\n    });\n    it('should work with two nevers', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('-');\n        var e2subs = '^';\n        var expected = '-';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with never and empty', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var expected = '-';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with empty and never', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('-');\n        var e2subs = '^';\n        var expected = '-';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with empty and empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var expected = '|';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot-empty and hot-single', function () {\n        var values = {\n            a: 1,\n            b: 2,\n            c: 3,\n            r: 1 + 3 //a + c\n        };\n        var e1 = hot('-a-^-|', values);\n        var e1subs = '^ !';\n        var e2 = hot('-b-^-c-|', values);\n        var e2subs = '^   !';\n        var expected = '----|';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot-single and hot-empty', function () {\n        var values = {\n            a: 1, b: 2, c: 3\n        };\n        var e1 = hot('-a-^-|', values);\n        var e1subs = '^ !';\n        var e2 = hot('-b-^-c-|', values);\n        var e2subs = '^   !';\n        var expected = '----|';\n        var result = Observable.combineLatest(e2, e1, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot-single and never', function () {\n        var values = {\n            a: 1\n        };\n        var e1 = hot('-a-^-|', values);\n        var e1subs = '^ !';\n        var e2 = hot('------', values); //never\n        var e2subs = '^  ';\n        var expected = '-'; //never\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with never and hot-single', function () {\n        var values = {\n            a: 1, b: 2\n        };\n        var e1 = hot('--------', values); //never\n        var e1subs = '^    ';\n        var e2 = hot('-a-^-b-|', values);\n        var e2subs = '^   !';\n        var expected = '-----'; //never\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot and hot', function () {\n        var e1 = hot('--a--^--b--c--|', { a: 'a', b: 'b', c: 'c' });\n        var e1subs = '^        !';\n        var e2 = hot('---e-^---f--g--|', { e: 'e', f: 'f', g: 'g' });\n        var e2subs = '^         !';\n        var expected = '----x-yz--|';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'bf', y: 'cf', z: 'cg' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with empty and error', function () {\n        var e1 = hot('----------|'); //empty\n        var e1subs = '^     !';\n        var e2 = hot('------#', null, 'shazbot!'); //error\n        var e2subs = '^     !';\n        var expected = '------#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'shazbot!');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with error and empty', function () {\n        var e1 = hot('--^---#', null, 'too bad, honk'); //error\n        var e1subs = '^   !';\n        var e2 = hot('--^--------|'); //empty\n        var e2subs = '^   !';\n        var expected = '----#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'too bad, honk');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot and throw', function () {\n        var e1 = hot('-a-^--b--c--|', { a: 1, b: 2, c: 3 });\n        var e1subs = '^ !';\n        var e2 = hot('---^-#', null, 'bazinga');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bazinga');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and hot', function () {\n        var e1 = hot('---^-#', null, 'bazinga');\n        var e1subs = '^ !';\n        var e2 = hot('-a-^--b--c--|', { a: 1, b: 2, c: 3 });\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bazinga');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and throw', function () {\n        var e1 = hot('---^----#', null, 'jenga');\n        var e1subs = '^ !';\n        var e2 = hot('---^-#', null, 'bazinga');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bazinga');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with error and throw', function () {\n        var e1 = hot('-a-^--b--#', { a: 1, b: 2 }, 'wokka wokka');\n        var e1subs = '^ !';\n        var e2 = hot('---^-#', null, 'flurp');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'flurp');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and error', function () {\n        var e1 = hot('---^-#', null, 'flurp');\n        var e1subs = '^ !';\n        var e2 = hot('-a-^--b--#', { a: 1, b: 2 }, 'wokka wokka');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'flurp');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with never and throw', function () {\n        var e1 = hot('---^-----------');\n        var e1subs = '^     !';\n        var e2 = hot('---^-----#', null, 'wokka wokka');\n        var e2subs = '^     !';\n        var expected = '------#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and never', function () {\n        var e1 = hot('---^----#', null, 'wokka wokka');\n        var e1subs = '^    !';\n        var e2 = hot('---^-----------');\n        var e2subs = '^    !';\n        var expected = '-----#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with some and throw', function () {\n        var e1 = hot('---^----a---b--|', { a: 1, b: 2 });\n        var e1subs = '^  !';\n        var e2 = hot('---^--#', null, 'wokka wokka');\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { a: 1, b: 2 }, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and some', function () {\n        var e1 = hot('---^--#', null, 'wokka wokka');\n        var e1subs = '^  !';\n        var e2 = hot('---^----a---b--|', { a: 1, b: 2 });\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { a: 1, b: 2 }, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle throw after complete left', function () {\n        var left = hot('--a--^--b---|', { a: 1, b: 2 });\n        var leftSubs = '^      !';\n        var right = hot('-----^--------#', null, 'bad things');\n        var rightSubs = '^        !';\n        var expected = '---------#';\n        var result = Observable.combineLatest(left, right, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bad things');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle throw after complete right', function () {\n        var left = hot('-----^--------#', null, 'bad things');\n        var leftSubs = '^        !';\n        var right = hot('--a--^--b---|', { a: 1, b: 2 });\n        var rightSubs = '^      !';\n        var expected = '---------#';\n        var result = Observable.combineLatest(left, right, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bad things');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle interleaved with tail', function () {\n        var e1 = hot('-a--^--b---c---|', { a: 'a', b: 'b', c: 'c' });\n        var e1subs = '^          !';\n        var e2 = hot('--d-^----e---f--|', { d: 'd', e: 'e', f: 'f' });\n        var e2subs = '^           !';\n        var expected = '-----x-y-z--|';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'be', y: 'ce', z: 'cf' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle two consecutive hot observables', function () {\n        var e1 = hot('--a--^--b--c--|', { a: 'a', b: 'b', c: 'c' });\n        var e1subs = '^        !';\n        var e2 = hot('-----^----------d--e--f--|', { d: 'd', e: 'e', f: 'f' });\n        var e2subs = '^                   !';\n        var expected = '-----------x--y--z--|';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'cd', y: 'ce', z: 'cf' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle two consecutive hot observables with error left', function () {\n        var left = hot('--a--^--b--c--#', { a: 'a', b: 'b', c: 'c' }, 'jenga');\n        var leftSubs = '^        !';\n        var right = hot('-----^----------d--e--f--|', { d: 'd', e: 'e', f: 'f' });\n        var rightSubs = '^        !';\n        var expected = '---------#';\n        var result = Observable.combineLatest(left, right, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'jenga');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle two consecutive hot observables with error right', function () {\n        var left = hot('--a--^--b--c--|', { a: 'a', b: 'b', c: 'c' });\n        var leftSubs = '^        !';\n        var right = hot('-----^----------d--e--f--#', { d: 'd', e: 'e', f: 'f' }, 'dun dun dun');\n        var rightSubs = '^                   !';\n        var expected = '-----------x--y--z--#';\n        var result = Observable.combineLatest(left, right, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'cd', y: 'ce', z: 'cf' }, 'dun dun dun');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle selector throwing', function () {\n        var e1 = hot('--a--^--b--|', { a: 1, b: 2 });\n        var e1subs = '^  !';\n        var e2 = hot('--c--^--d--|', { c: 3, d: 4 });\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = Observable.combineLatest(e1, e2, function (x, y) { throw 'ha ha ' + x + ', ' + y; });\n        expectObservable(result).toBe(expected, null, 'ha ha 2, 4');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--^--b--c---d-| ');\n        var e1subs = '^        !    ';\n        var e2 = hot('---e-^---f--g---h-|');\n        var e2subs = '^        !    ';\n        var expected = '----x-yz--    ';\n        var unsub = '         !    ';\n        var values = { x: 'bf', y: 'cf', z: 'cg' };\n        var result = Observable.combineLatest(e1, e2, function (x, y) { return x + y; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--^--b--c---d-| ');\n        var e1subs = '^        !    ';\n        var e2 = hot('---e-^---f--g---h-|');\n        var e2subs = '^        !    ';\n        var expected = '----x-yz--    ';\n        var unsub = '         !    ';\n        var values = { x: 'bf', y: 'cf', z: 'cg' };\n        var result = Observable.combineLatest(e1.mergeMap(function (x) { return Observable.of(x); }), e2.mergeMap(function (x) { return Observable.of(x); }), function (x, y) { return x + y; }).mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should support promises', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var b;\n            var c;\n            var o1 = Observable.combineLatest(a, b, c);\n            var o2 = Observable.combineLatest(a, b, c, function (aa, bb, cc) { return !!aa && !!bb && cc; });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support observables', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var b;\n            var c;\n            var o1 = Observable.combineLatest(a, b, c);\n            var o2 = Observable.combineLatest(a, b, c, function (aa, bb, cc) { return !!aa && !!bb && cc; });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support mixed observables and promises', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var b;\n            var c;\n            var d;\n            var o1 = Observable.combineLatest(a, b, c, d);\n            var o2 = Observable.combineLatest(a, b, c, d, function (aa, bb, cc, dd) { return !!aa && !!bb && cc && !!dd.length; });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support arrays of promises', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.combineLatest(a);\n            var o2 = Observable.combineLatest.apply(Observable, a);\n            var o3 = Observable.combineLatest(a, function () {\n                var x = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    x[_i - 0] = arguments[_i];\n                }\n                return x.length;\n            });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support arrays of observables', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.combineLatest(a);\n            var o2 = Observable.combineLatest.apply(Observable, a);\n            var o3 = Observable.combineLatest(a, function () {\n                var x = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    x[_i - 0] = arguments[_i];\n                }\n                return x.length;\n            });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should return Array<T> when given a single promise', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.combineLatest(a);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should return Array<T> when given a single observable', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.combineLatest(a);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n});\n//# sourceMappingURL=combineLatest-spec.js.map"
  },
  {
    "__docId__": 1049,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe180",
    "testId": 180,
    "memberof": "spec-js/observables/combineLatest-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180",
    "access": null,
    "description": "Observable.combineLatest",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{combineLatest}"
      }
    ],
    "testTargets": [
      "combineLatest"
    ]
  },
  {
    "__docId__": 1050,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it181",
    "testId": 181,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it181",
    "access": null,
    "description": "should combineLatest the provided observables",
    "lineNumber": 8
  },
  {
    "__docId__": 1051,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it182",
    "testId": 182,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it182",
    "access": null,
    "description": "should combine an immediately-scheduled source with an immediately-scheduled second",
    "lineNumber": 15
  },
  {
    "__docId__": 1052,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it183",
    "testId": 183,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it183",
    "access": null,
    "description": "should accept array of observables",
    "lineNumber": 29
  },
  {
    "__docId__": 1053,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it184",
    "testId": 184,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it184",
    "access": null,
    "description": "should work with two nevers",
    "lineNumber": 36
  },
  {
    "__docId__": 1054,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it185",
    "testId": 185,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it185",
    "access": null,
    "description": "should work with never and empty",
    "lineNumber": 47
  },
  {
    "__docId__": 1055,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it186",
    "testId": 186,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it186",
    "access": null,
    "description": "should work with empty and never",
    "lineNumber": 58
  },
  {
    "__docId__": 1056,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it187",
    "testId": 187,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it187",
    "access": null,
    "description": "should work with empty and empty",
    "lineNumber": 69
  },
  {
    "__docId__": 1057,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it188",
    "testId": 188,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it188",
    "access": null,
    "description": "should work with hot-empty and hot-single",
    "lineNumber": 80
  },
  {
    "__docId__": 1058,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it189",
    "testId": 189,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it189",
    "access": null,
    "description": "should work with hot-single and hot-empty",
    "lineNumber": 97
  },
  {
    "__docId__": 1059,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it190",
    "testId": 190,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it190",
    "access": null,
    "description": "should work with hot-single and never",
    "lineNumber": 111
  },
  {
    "__docId__": 1060,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it191",
    "testId": 191,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it191",
    "access": null,
    "description": "should work with never and hot-single",
    "lineNumber": 125
  },
  {
    "__docId__": 1061,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it192",
    "testId": 192,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it192",
    "access": null,
    "description": "should work with hot and hot",
    "lineNumber": 139
  },
  {
    "__docId__": 1062,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it193",
    "testId": 193,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it193",
    "access": null,
    "description": "should work with empty and error",
    "lineNumber": 150
  },
  {
    "__docId__": 1063,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it194",
    "testId": 194,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it194",
    "access": null,
    "description": "should work with error and empty",
    "lineNumber": 161
  },
  {
    "__docId__": 1064,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it195",
    "testId": 195,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it195",
    "access": null,
    "description": "should work with hot and throw",
    "lineNumber": 172
  },
  {
    "__docId__": 1065,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it196",
    "testId": 196,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it196",
    "access": null,
    "description": "should work with throw and hot",
    "lineNumber": 183
  },
  {
    "__docId__": 1066,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it197",
    "testId": 197,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it197",
    "access": null,
    "description": "should work with throw and throw",
    "lineNumber": 194
  },
  {
    "__docId__": 1067,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it198",
    "testId": 198,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it198",
    "access": null,
    "description": "should work with error and throw",
    "lineNumber": 205
  },
  {
    "__docId__": 1068,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it199",
    "testId": 199,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it199",
    "access": null,
    "description": "should work with throw and error",
    "lineNumber": 216
  },
  {
    "__docId__": 1069,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it200",
    "testId": 200,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it200",
    "access": null,
    "description": "should work with never and throw",
    "lineNumber": 227
  },
  {
    "__docId__": 1070,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it201",
    "testId": 201,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it201",
    "access": null,
    "description": "should work with throw and never",
    "lineNumber": 238
  },
  {
    "__docId__": 1071,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it202",
    "testId": 202,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it202",
    "access": null,
    "description": "should work with some and throw",
    "lineNumber": 249
  },
  {
    "__docId__": 1072,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it203",
    "testId": 203,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it203",
    "access": null,
    "description": "should work with throw and some",
    "lineNumber": 260
  },
  {
    "__docId__": 1073,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it204",
    "testId": 204,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it204",
    "access": null,
    "description": "should handle throw after complete left",
    "lineNumber": 271
  },
  {
    "__docId__": 1074,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it205",
    "testId": 205,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it205",
    "access": null,
    "description": "should handle throw after complete right",
    "lineNumber": 282
  },
  {
    "__docId__": 1075,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it206",
    "testId": 206,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it206",
    "access": null,
    "description": "should handle interleaved with tail",
    "lineNumber": 293
  },
  {
    "__docId__": 1076,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it207",
    "testId": 207,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it207",
    "access": null,
    "description": "should handle two consecutive hot observables",
    "lineNumber": 304
  },
  {
    "__docId__": 1077,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it208",
    "testId": 208,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it208",
    "access": null,
    "description": "should handle two consecutive hot observables with error left",
    "lineNumber": 315
  },
  {
    "__docId__": 1078,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it209",
    "testId": 209,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it209",
    "access": null,
    "description": "should handle two consecutive hot observables with error right",
    "lineNumber": 326
  },
  {
    "__docId__": 1079,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it210",
    "testId": 210,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it210",
    "access": null,
    "description": "should handle selector throwing",
    "lineNumber": 337
  },
  {
    "__docId__": 1080,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it211",
    "testId": 211,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it211",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 348
  },
  {
    "__docId__": 1081,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it212",
    "testId": 212,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it212",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 361
  },
  {
    "__docId__": 1082,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it213",
    "testId": 213,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it213",
    "access": null,
    "description": "should support promises",
    "lineNumber": 374
  },
  {
    "__docId__": 1083,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it214",
    "testId": 214,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it214",
    "access": null,
    "description": "should support observables",
    "lineNumber": 385
  },
  {
    "__docId__": 1084,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it215",
    "testId": 215,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it215",
    "access": null,
    "description": "should support mixed observables and promises",
    "lineNumber": 396
  },
  {
    "__docId__": 1085,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it216",
    "testId": 216,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it216",
    "access": null,
    "description": "should support arrays of promises",
    "lineNumber": 408
  },
  {
    "__docId__": 1086,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it217",
    "testId": 217,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it217",
    "access": null,
    "description": "should support arrays of observables",
    "lineNumber": 424
  },
  {
    "__docId__": 1087,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it218",
    "testId": 218,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it218",
    "access": null,
    "description": "should return Array<T> when given a single promise",
    "lineNumber": 440
  },
  {
    "__docId__": 1088,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it219",
    "testId": 219,
    "memberof": "spec-js/observables/combineLatest-spec.js~describe180",
    "testDepth": 1,
    "longname": "spec-js/observables/combineLatest-spec.js~describe180.it219",
    "access": null,
    "description": "should return Array<T> when given a single observable",
    "lineNumber": 448
  },
  {
    "__docId__": 1089,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/concat-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/concat-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar queueScheduler = Rx.Scheduler.queue;\n/** @test {concat} */\ndescribe('Observable.concat', function () {\n    it('should emit elements from multiple sources', function () {\n        var e1 = cold('-a-b-c-|');\n        var e1subs = '^      !';\n        var e2 = cold('-0-1-|');\n        var e2subs = '       ^    !';\n        var e3 = cold('-w-x-y-z-|');\n        var e3subs = '            ^        !';\n        var expected = '-a-b-c--0-1--w-x-y-z-|';\n        expectObservable(Observable.concat(e1, e2, e3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should concat the same cold observable multiple times', function () {\n        var inner = cold('--i-j-k-l-|                              ');\n        var innersubs = ['^         !                              ',\n            '          ^         !                    ',\n            '                    ^         !          ',\n            '                              ^         !'];\n        var expected = '--i-j-k-l---i-j-k-l---i-j-k-l---i-j-k-l-|';\n        var result = Observable.concat(inner, inner, inner, inner);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should concat the same cold observable multiple times, ' +\n        'but the result is unsubscribed early', function () {\n        var inner = cold('--i-j-k-l-|     ');\n        var unsub = '               !';\n        var innersubs = ['^         !     ',\n            '          ^    !'];\n        var expected = '--i-j-k-l---i-j-';\n        var result = Observable.concat(inner, inner, inner, inner);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var inner = cold('--i-j-k-l-|     ');\n        var innersubs = ['^         !     ',\n            '          ^    !'];\n        var expected = '--i-j-k-l---i-j-';\n        var unsub = '               !';\n        var innerWrapped = inner.mergeMap(function (x) { return Observable.of(x); });\n        var result = Observable\n            .concat(innerWrapped, innerWrapped, innerWrapped, innerWrapped)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should complete without emit if both sources are empty', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('----|');\n        var e2subs = '  ^   !';\n        var expected = '------|';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if first source does not completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('--|');\n        var e2subs = [];\n        var expected = '-';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if second source does not completes', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('---');\n        var e2subs = '  ^';\n        var expected = '---';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if both sources do not complete', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('-');\n        var e2subs = [];\n        var expected = '-';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error when first source is empty, second source raises error', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('----#');\n        var e2subs = '  ^   !';\n        var expected = '------#';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error when first source raises error, second source is empty', function () {\n        var e1 = cold('---#');\n        var e1subs = '^  !';\n        var e2 = cold('----|');\n        var e2subs = [];\n        var expected = '---#';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise first error when both source raise error', function () {\n        var e1 = cold('---#');\n        var e1subs = '^  !';\n        var e2 = cold('------#');\n        var e2subs = [];\n        var expected = '---#';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should concat if first source emits once, second source is empty', function () {\n        var e1 = cold('--a--|');\n        var e1subs = '^    !';\n        var e2 = cold('--------|');\n        var e2subs = '     ^       !';\n        var expected = '--a----------|';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should concat if first source is empty, second source emits once', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('--a--|');\n        var e2subs = '  ^    !';\n        var expected = '----a--|';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit element from first source, and should not complete if second ' +\n        'source does not completes', function () {\n        var e1 = cold('--a--|');\n        var e1subs = '^    !';\n        var e2 = cold('-');\n        var e2subs = '     ^';\n        var expected = '--a---';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if first source does not complete', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('--a--|');\n        var e2subs = [];\n        var expected = '-';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit elements from each source when source emit once', function () {\n        var e1 = cold('---a|');\n        var e1subs = '^   !';\n        var e2 = cold('-----b--|');\n        var e2subs = '    ^       !';\n        var expected = '---a-----b--|';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should unsubscribe to inner source if outer is unsubscribed early', function () {\n        var e1 = cold('---a-a--a|            ');\n        var e1subs = '^        !            ';\n        var e2 = cold('-----b-b--b-|');\n        var e2subs = '         ^       !    ';\n        var unsub = '                 !    ';\n        var expected = '---a-a--a-----b-b     ';\n        expectObservable(Observable.concat(e1, e2), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error from first source and does not emit from second source', function () {\n        var e1 = cold('--#');\n        var e1subs = '^ !';\n        var e2 = cold('----a--|');\n        var e2subs = [];\n        var expected = '--#';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit element from first source then raise error from second source', function () {\n        var e1 = cold('--a--|');\n        var e1subs = '^    !';\n        var e2 = cold('-------#');\n        var e2subs = '     ^      !';\n        var expected = '--a---------#';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit all elements from both hot observable sources if first source ' +\n        'completes before second source starts emit', function () {\n        var e1 = hot('--a--b-|');\n        var e1subs = '^      !';\n        var e2 = hot('--------x--y--|');\n        var e2subs = '       ^      !';\n        var expected = '--a--b--x--y--|';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit elements from second source regardless of completion time ' +\n        'when second source is cold observable', function () {\n        var e1 = hot('--a--b--c---|');\n        var e1subs = '^           !';\n        var e2 = cold('-x-y-z-|');\n        var e2subs = '            ^      !';\n        var expected = '--a--b--c----x-y-z-|';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not emit collapsing element from second source', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^          !';\n        var e2 = hot('--------x--y--z--|');\n        var e2subs = '           ^     !';\n        var expected = '--a--b--c--y--z--|';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should return empty if concatenating an empty source', function () {\n        var e1 = cold('|');\n        var e1subs = ['(^!)', '(^!)'];\n        var expected = '|';\n        var result = Observable.concat(e1, e1);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should error immediately if given a just-throw source', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        var result = Observable.concat(e1, e1);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit elements from second source regardless of completion time ' +\n        'when second source is cold observable', function () {\n        var e1 = hot('--a--b--c---|');\n        var e1subs = '^           !';\n        var e2 = cold('-x-y-z-|');\n        var e2subs = '            ^      !';\n        var expected = '--a--b--c----x-y-z-|';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not emit collapsing element from second source', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^          !';\n        var e2 = hot('--------x--y--z--|');\n        var e2subs = '           ^     !';\n        var expected = '--a--b--c--y--z--|';\n        expectObservable(Observable.concat(e1, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should concat an immediately-scheduled source with an immediately-scheduled second', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, 7, 8, queueScheduler);\n        var r = [1, 2, 3, 4, 5, 6, 7, 8];\n        Observable.concat(a, b, queueScheduler).subscribe(function (vals) {\n            chai_1.expect(vals).to.equal(r.shift());\n        }, null, done);\n    });\n    it('should use the scheduler even when one Observable is concat\\'d', function (done) {\n        var e1Subscribed = false;\n        var e1 = Observable.defer(function () {\n            e1Subscribed = true;\n            return Observable.of('a');\n        });\n        Observable\n            .concat(e1, Rx.Scheduler.async)\n            .subscribe({\n            error: done,\n            complete: function () {\n                chai_1.expect(e1Subscribed).to.be.true;\n                done();\n            }\n        });\n        chai_1.expect(e1Subscribed).to.be.false;\n    });\n});\n//# sourceMappingURL=concat-spec.js.map"
  },
  {
    "__docId__": 1090,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe220",
    "testId": 220,
    "memberof": "spec-js/observables/concat-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/concat-spec.js~describe220",
    "access": null,
    "description": "Observable.concat",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{concat}"
      }
    ],
    "testTargets": [
      "concat"
    ]
  },
  {
    "__docId__": 1091,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it221",
    "testId": 221,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it221",
    "access": null,
    "description": "should emit elements from multiple sources",
    "lineNumber": 8
  },
  {
    "__docId__": 1092,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it222",
    "testId": 222,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it222",
    "access": null,
    "description": "should concat the same cold observable multiple times",
    "lineNumber": 21
  },
  {
    "__docId__": 1093,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it223",
    "testId": 223,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it223",
    "access": null,
    "lineNumber": 32
  },
  {
    "__docId__": 1094,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it224",
    "testId": 224,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it224",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 43
  },
  {
    "__docId__": 1095,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it225",
    "testId": 225,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it225",
    "access": null,
    "description": "should complete without emit if both sources are empty",
    "lineNumber": 56
  },
  {
    "__docId__": 1096,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it226",
    "testId": 226,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it226",
    "access": null,
    "description": "should not complete if first source does not completes",
    "lineNumber": 66
  },
  {
    "__docId__": 1097,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it227",
    "testId": 227,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it227",
    "access": null,
    "description": "should not complete if second source does not completes",
    "lineNumber": 76
  },
  {
    "__docId__": 1098,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it228",
    "testId": 228,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it228",
    "access": null,
    "description": "should not complete if both sources do not complete",
    "lineNumber": 86
  },
  {
    "__docId__": 1099,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it229",
    "testId": 229,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it229",
    "access": null,
    "description": "should raise error when first source is empty, second source raises error",
    "lineNumber": 96
  },
  {
    "__docId__": 1100,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it230",
    "testId": 230,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it230",
    "access": null,
    "description": "should raise error when first source raises error, second source is empty",
    "lineNumber": 106
  },
  {
    "__docId__": 1101,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it231",
    "testId": 231,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it231",
    "access": null,
    "description": "should raise first error when both source raise error",
    "lineNumber": 116
  },
  {
    "__docId__": 1102,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it232",
    "testId": 232,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it232",
    "access": null,
    "description": "should concat if first source emits once, second source is empty",
    "lineNumber": 126
  },
  {
    "__docId__": 1103,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it233",
    "testId": 233,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it233",
    "access": null,
    "description": "should concat if first source is empty, second source emits once",
    "lineNumber": 136
  },
  {
    "__docId__": 1104,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it234",
    "testId": 234,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it234",
    "access": null,
    "lineNumber": 146
  },
  {
    "__docId__": 1105,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it235",
    "testId": 235,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it235",
    "access": null,
    "description": "should not complete if first source does not complete",
    "lineNumber": 157
  },
  {
    "__docId__": 1106,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it236",
    "testId": 236,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it236",
    "access": null,
    "description": "should emit elements from each source when source emit once",
    "lineNumber": 167
  },
  {
    "__docId__": 1107,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it237",
    "testId": 237,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it237",
    "access": null,
    "description": "should unsubscribe to inner source if outer is unsubscribed early",
    "lineNumber": 177
  },
  {
    "__docId__": 1108,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it238",
    "testId": 238,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it238",
    "access": null,
    "description": "should raise error from first source and does not emit from second source",
    "lineNumber": 188
  },
  {
    "__docId__": 1109,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it239",
    "testId": 239,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it239",
    "access": null,
    "description": "should emit element from first source then raise error from second source",
    "lineNumber": 198
  },
  {
    "__docId__": 1110,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it240",
    "testId": 240,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it240",
    "access": null,
    "lineNumber": 208
  },
  {
    "__docId__": 1111,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it241",
    "testId": 241,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it241",
    "access": null,
    "lineNumber": 219
  },
  {
    "__docId__": 1112,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it242",
    "testId": 242,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it242",
    "access": null,
    "description": "should not emit collapsing element from second source",
    "lineNumber": 230
  },
  {
    "__docId__": 1113,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it243",
    "testId": 243,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it243",
    "access": null,
    "description": "should return empty if concatenating an empty source",
    "lineNumber": 240
  },
  {
    "__docId__": 1114,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it244",
    "testId": 244,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it244",
    "access": null,
    "description": "should error immediately if given a just-throw source",
    "lineNumber": 248
  },
  {
    "__docId__": 1115,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it245",
    "testId": 245,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it245",
    "access": null,
    "lineNumber": 256
  },
  {
    "__docId__": 1116,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it246",
    "testId": 246,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it246",
    "access": null,
    "description": "should not emit collapsing element from second source",
    "lineNumber": 267
  },
  {
    "__docId__": 1117,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it247",
    "testId": 247,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it247",
    "access": null,
    "description": "should concat an immediately-scheduled source with an immediately-scheduled second",
    "lineNumber": 277
  },
  {
    "__docId__": 1118,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it248",
    "testId": 248,
    "memberof": "spec-js/observables/concat-spec.js~describe220",
    "testDepth": 1,
    "longname": "spec-js/observables/concat-spec.js~describe220.it248",
    "access": null,
    "description": "should use the scheduler even when one Observable is concat'd",
    "lineNumber": 285
  },
  {
    "__docId__": 1119,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/defer-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/defer-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {defer} */\ndescribe('Observable.defer', function () {\n    asDiagram('defer(() => Observable.of(a, b, c))')('should defer the creation of a simple Observable', function () {\n        var expected = '-a--b--c--|';\n        var e1 = Observable.defer(function () { return cold('-a--b--c--|'); });\n        expectObservable(e1).toBe(expected);\n    });\n    it('should create an observable from the provided observable factory', function () {\n        var source = hot('--a--b--c--|');\n        var sourceSubs = '^          !';\n        var expected = '--a--b--c--|';\n        var e1 = Observable.defer(function () { return source; });\n        expectObservable(e1).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should create an observable from completed', function () {\n        var source = hot('|');\n        var sourceSubs = '(^!)';\n        var expected = '|';\n        var e1 = Observable.defer(function () { return source; });\n        expectObservable(e1).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should accept factory returns promise resolves', function (done) {\n        var expected = 42;\n        var e1 = Observable.defer(function () {\n            return new Promise(function (resolve) { resolve(expected); });\n        });\n        e1.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected);\n            done();\n        }, function (x) {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should accept factory returns promise rejects', function (done) {\n        var expected = 42;\n        var e1 = Observable.defer(function () {\n            return new Promise(function (resolve, reject) { reject(expected); });\n        });\n        e1.subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.equal(expected);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should create an observable from error', function () {\n        var source = hot('#');\n        var sourceSubs = '(^!)';\n        var expected = '#';\n        var e1 = Observable.defer(function () { return source; });\n        expectObservable(e1).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should create an observable when factory throws', function () {\n        var e1 = Observable.defer(function () {\n            throw 'error';\n        });\n        var expected = '#';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var source = hot('--a--b--c--|');\n        var sourceSubs = '^     !     ';\n        var expected = '--a--b-     ';\n        var unsub = '      !     ';\n        var e1 = Observable.defer(function () { return source; });\n        expectObservable(e1, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = hot('--a--b--c--|');\n        var sourceSubs = '^     !     ';\n        var expected = '--a--b-     ';\n        var unsub = '      !     ';\n        var e1 = Observable.defer(function () { return source.mergeMap(function (x) { return Observable.of(x); }); })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(e1, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n});\n//# sourceMappingURL=defer-spec.js.map"
  },
  {
    "__docId__": 1120,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe249",
    "testId": 249,
    "memberof": "spec-js/observables/defer-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/defer-spec.js~describe249",
    "access": null,
    "description": "Observable.defer",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{defer}"
      }
    ],
    "testTargets": [
      "defer"
    ]
  },
  {
    "__docId__": 1121,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it250",
    "testId": 250,
    "memberof": "spec-js/observables/defer-spec.js~describe249",
    "testDepth": 1,
    "longname": "spec-js/observables/defer-spec.js~describe249.it250",
    "access": null,
    "description": "should create an observable from the provided observable factory",
    "lineNumber": 12
  },
  {
    "__docId__": 1122,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it251",
    "testId": 251,
    "memberof": "spec-js/observables/defer-spec.js~describe249",
    "testDepth": 1,
    "longname": "spec-js/observables/defer-spec.js~describe249.it251",
    "access": null,
    "description": "should create an observable from completed",
    "lineNumber": 20
  },
  {
    "__docId__": 1123,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it252",
    "testId": 252,
    "memberof": "spec-js/observables/defer-spec.js~describe249",
    "testDepth": 1,
    "longname": "spec-js/observables/defer-spec.js~describe249.it252",
    "access": null,
    "description": "should accept factory returns promise resolves",
    "lineNumber": 28
  },
  {
    "__docId__": 1124,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it253",
    "testId": 253,
    "memberof": "spec-js/observables/defer-spec.js~describe249",
    "testDepth": 1,
    "longname": "spec-js/observables/defer-spec.js~describe249.it253",
    "access": null,
    "description": "should accept factory returns promise rejects",
    "lineNumber": 40
  },
  {
    "__docId__": 1125,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it254",
    "testId": 254,
    "memberof": "spec-js/observables/defer-spec.js~describe249",
    "testDepth": 1,
    "longname": "spec-js/observables/defer-spec.js~describe249.it254",
    "access": null,
    "description": "should create an observable from error",
    "lineNumber": 54
  },
  {
    "__docId__": 1126,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it255",
    "testId": 255,
    "memberof": "spec-js/observables/defer-spec.js~describe249",
    "testDepth": 1,
    "longname": "spec-js/observables/defer-spec.js~describe249.it255",
    "access": null,
    "description": "should create an observable when factory throws",
    "lineNumber": 62
  },
  {
    "__docId__": 1127,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it256",
    "testId": 256,
    "memberof": "spec-js/observables/defer-spec.js~describe249",
    "testDepth": 1,
    "longname": "spec-js/observables/defer-spec.js~describe249.it256",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 69
  },
  {
    "__docId__": 1128,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it257",
    "testId": 257,
    "memberof": "spec-js/observables/defer-spec.js~describe249",
    "testDepth": 1,
    "longname": "spec-js/observables/defer-spec.js~describe249.it257",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 78
  },
  {
    "__docId__": 1129,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/dom/ajax-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/dom/ajax-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../../dist/cjs/Rx');\nvar root_1 = require('../../../dist/cjs/util/root');\nvar ajax_helper_1 = require('../../helpers/ajax-helper');\n/** @test {ajax} */\ndescribe('Observable.ajax', function () {\n    var gXHR;\n    var rXHR;\n    var sandbox;\n    beforeEach(function () {\n        sandbox = sinon.sandbox.create();\n        gXHR = global.XMLHttpRequest;\n        rXHR = root_1.root.XMLHttpRequest;\n        global.XMLHttpRequest = ajax_helper_1.MockXMLHttpRequest;\n        root_1.root.XMLHttpRequest = ajax_helper_1.MockXMLHttpRequest;\n    });\n    afterEach(function () {\n        sandbox.restore();\n        ajax_helper_1.MockXMLHttpRequest.clearRequest();\n        global.XMLHttpRequest = gXHR;\n        root_1.root.XMLHttpRequest = rXHR;\n        root_1.root.XDomainRequest = null;\n        root_1.root.ActiveXObject = null;\n    });\n    it('should create default XMLHttpRequest for non CORS', function () {\n        var obj = {\n            url: '/',\n            method: ''\n        };\n        Rx.Observable.ajax(obj).subscribe();\n        chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.withCredentials).to.be.false;\n    });\n    it('should try to create AXObject for XHR in old version of IE', function () {\n        var axObjectStub = sandbox.stub();\n        axObjectStub.returns(sinon.stub(new ajax_helper_1.MockXMLHttpRequest()));\n        root_1.root.ActiveXObject = axObjectStub;\n        root_1.root.XMLHttpRequest = null;\n        var obj = {\n            url: '/',\n            method: ''\n        };\n        Rx.Observable.ajax(obj).subscribe();\n        chai_1.expect(axObjectStub).to.have.been.called;\n    });\n    it('should throw if not able to create XMLHttpRequest', function () {\n        root_1.root.XMLHttpRequest = null;\n        root_1.root.ActiveXObject = null;\n        var obj = {\n            url: '/',\n            method: ''\n        };\n        chai_1.expect(function () {\n            Rx.Observable.ajax(obj).subscribe();\n        }).to.throw();\n    });\n    it('should create XMLHttpRequest for CORS', function () {\n        var obj = {\n            url: '/',\n            method: '',\n            crossDomain: true,\n            withCredentials: true\n        };\n        Rx.Observable.ajax(obj).subscribe();\n        chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.withCredentials).to.be.true;\n    });\n    it('should try to create XDomainRequest for CORS if XMLHttpRequest is not available', function () {\n        var xDomainStub = sandbox.stub();\n        xDomainStub.returns(sinon.stub(new ajax_helper_1.MockXMLHttpRequest()));\n        root_1.root.XDomainRequest = xDomainStub;\n        root_1.root.XMLHttpRequest = null;\n        var obj = {\n            url: '/',\n            method: '',\n            crossDomain: true,\n            withCredentials: true\n        };\n        Rx.Observable.ajax(obj).subscribe();\n        chai_1.expect(xDomainStub).to.have.been.called;\n    });\n    it('should throw if not able to create CORS request', function () {\n        root_1.root.XMLHttpRequest = null;\n        root_1.root.XDomainRequest = null;\n        var obj = {\n            url: '/',\n            method: '',\n            crossDomain: true,\n            withCredentials: true\n        };\n        chai_1.expect(function () {\n            Rx.Observable.ajax(obj).subscribe();\n        }).to.throw();\n    });\n    it('should set headers', function () {\n        var obj = {\n            url: '/talk-to-me-goose',\n            headers: {\n                'Content-Type': 'kenny/loggins',\n                'Fly-Into-The': 'Dangah Zone!',\n                'Take-A-Ride-Into-The': 'Danger ZoooOoone!'\n            },\n            method: ''\n        };\n        Rx.Observable.ajax(obj).subscribe();\n        var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n        chai_1.expect(request.url).to.equal('/talk-to-me-goose');\n        chai_1.expect(request.requestHeaders).to.deep.equal({\n            'Content-Type': 'kenny/loggins',\n            'Fly-Into-The': 'Dangah Zone!',\n            'Take-A-Ride-Into-The': 'Danger ZoooOoone!',\n            'X-Requested-With': 'XMLHttpRequest'\n        });\n    });\n    it('should not set default Content-Type header when no body is sent', function () {\n        var obj = {\n            url: '/talk-to-me-goose',\n            method: 'GET'\n        };\n        Rx.Observable.ajax(obj).subscribe();\n        var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n        chai_1.expect(request.url).to.equal('/talk-to-me-goose');\n        chai_1.expect(request.requestHeaders).to.not.have.keys('Content-Type');\n    });\n    it('should error if createXHR throws', function () {\n        var error;\n        var obj = {\n            url: '/flibbertyJibbet',\n            responseType: 'text',\n            createXHR: function () {\n                throw new Error('wokka wokka');\n            }\n        };\n        Rx.Observable.ajax(obj)\n            .subscribe(function (x) {\n            throw 'should not next';\n        }, function (err) {\n            error = err;\n        }, function () {\n            throw 'should not complete';\n        });\n        chai_1.expect(error).to.be.an('error', 'wokka wokka');\n    });\n    it('should succeed on 200', function () {\n        var expected = { foo: 'bar' };\n        var result;\n        var complete = false;\n        var obj = {\n            url: '/flibbertyJibbet',\n            responseType: 'text',\n            method: ''\n        };\n        Rx.Observable.ajax(obj)\n            .subscribe(function (x) {\n            result = x;\n        }, null, function () {\n            complete = true;\n        });\n        chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n        ajax_helper_1.MockXMLHttpRequest.mostRecent.respondWith({\n            'status': 200,\n            'contentType': 'application/json',\n            'responseText': JSON.stringify(expected)\n        });\n        chai_1.expect(result.xhr).exist;\n        chai_1.expect(result.response).to.deep.equal(JSON.stringify({ foo: 'bar' }));\n        chai_1.expect(complete).to.be.true;\n    });\n    it('should fail on 404', function () {\n        var error;\n        var obj = {\n            url: '/flibbertyJibbet',\n            normalizeError: function (e, xhr, type) {\n                return xhr.response || xhr.responseText;\n            },\n            responseType: 'text',\n            method: ''\n        };\n        Rx.Observable.ajax(obj)\n            .subscribe(function (x) {\n            throw 'should not next';\n        }, function (err) {\n            error = err;\n        }, function () {\n            throw 'should not complete';\n        });\n        chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n        ajax_helper_1.MockXMLHttpRequest.mostRecent.respondWith({\n            'status': 404,\n            'contentType': 'text/plain',\n            'responseText': 'Wee! I am text!'\n        });\n        chai_1.expect(error instanceof Rx.AjaxError).to.be.true;\n        chai_1.expect(error.message).to.equal('ajax error 404');\n        chai_1.expect(error.status).to.equal(404);\n    });\n    it('should fail on 404', function () {\n        var error;\n        var obj = {\n            url: '/flibbertyJibbet',\n            normalizeError: function (e, xhr, type) {\n                return xhr.response || xhr.responseText;\n            },\n            responseType: 'text',\n            method: ''\n        };\n        Rx.Observable.ajax(obj).subscribe(function (x) {\n            throw 'should not next';\n        }, function (err) {\n            error = err;\n        }, function () {\n            throw 'should not complete';\n        });\n        chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n        ajax_helper_1.MockXMLHttpRequest.mostRecent.respondWith({\n            'status': 300,\n            'contentType': 'text/plain',\n            'responseText': 'Wee! I am text!'\n        });\n        chai_1.expect(error instanceof Rx.AjaxError).to.be.true;\n        chai_1.expect(error.message).to.equal('ajax error 300');\n        chai_1.expect(error.status).to.equal(300);\n    });\n    it('should succeed no settings', function () {\n        var expected = JSON.stringify({ foo: 'bar' });\n        Rx.Observable.ajax('/flibbertyJibbet')\n            .subscribe(function (x) {\n            chai_1.expect(x.status).to.equal(200);\n            chai_1.expect(x.xhr.method).to.equal('GET');\n            chai_1.expect(x.xhr.responseText).to.equal(expected);\n        }, function () {\n            throw 'should not have been called';\n        });\n        chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n        ajax_helper_1.MockXMLHttpRequest.mostRecent.respondWith({\n            'status': 200,\n            'contentType': 'text/plain',\n            'responseText': expected\n        });\n    });\n    it('should fail no settings', function () {\n        var expected = JSON.stringify({ foo: 'bar' });\n        Rx.Observable.ajax('/flibbertyJibbet')\n            .subscribe(function () {\n            throw 'should not have been called';\n        }, function (x) {\n            chai_1.expect(x.status).to.equal(500);\n            chai_1.expect(x.xhr.method).to.equal('GET');\n            chai_1.expect(x.xhr.responseText).to.equal(expected);\n        }, function () {\n            throw 'should not have been called';\n        });\n        chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n        ajax_helper_1.MockXMLHttpRequest.mostRecent.respondWith({\n            'status': 500,\n            'contentType': 'text/plain',\n            'responseText': expected\n        });\n    });\n    describe('ajax request body', function () {\n        var rFormData;\n        beforeEach(function () {\n            rFormData = root_1.root.FormData;\n            root_1.root.FormData = root_1.root.FormData || (function () {\n                function class_1() {\n                }\n                return class_1;\n            }());\n        });\n        afterEach(function () {\n            root_1.root.FormData = rFormData;\n        });\n        it('can take string body', function () {\n            var obj = {\n                url: '/flibbertyJibbet',\n                method: '',\n                body: 'foobar'\n            };\n            Rx.Observable.ajax(obj).subscribe();\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.data).to.equal('foobar');\n        });\n        it('can take FormData body', function () {\n            var body = new root_1.root.FormData();\n            var obj = {\n                url: '/flibbertyJibbet',\n                method: '',\n                body: body\n            };\n            Rx.Observable.ajax(obj).subscribe();\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.data).to.deep.equal(body);\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.requestHeaders).to.deep.equal({\n                'X-Requested-With': 'XMLHttpRequest',\n            });\n        });\n        it('should not fail when FormData is undefined', function () {\n            root_1.root.FormData = void 0;\n            var obj = {\n                url: '/flibbertyJibbet',\n                method: '',\n                headers: {\n                    'Content-Type': 'application/x-www-form-urlencoded'\n                },\n                body: { '🌟': '🚀' }\n            };\n            Rx.Observable.ajax(obj).subscribe();\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n        });\n        it('should send by form-urlencoded format', function () {\n            var body = {\n                '🌟': '🚀'\n            };\n            var obj = {\n                url: '/flibbertyJibbet',\n                method: '',\n                headers: {\n                    'Content-Type': 'application/x-www-form-urlencoded'\n                },\n                body: body\n            };\n            Rx.Observable.ajax(obj).subscribe();\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.data).to.equal('%F0%9F%8C%9F=%F0%9F%9A%80');\n        });\n        it('should send by JSON', function () {\n            var body = {\n                '🌟': '🚀'\n            };\n            var obj = {\n                url: '/flibbertyJibbet',\n                method: '',\n                headers: {\n                    'Content-Type': 'application/json'\n                },\n                body: body\n            };\n            Rx.Observable.ajax(obj).subscribe();\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.url).to.equal('/flibbertyJibbet');\n            chai_1.expect(ajax_helper_1.MockXMLHttpRequest.mostRecent.data).to.equal('{\"🌟\":\"🚀\"}');\n        });\n    });\n    describe('ajax.get', function () {\n        it('should succeed on 200', function () {\n            var expected = { foo: 'bar' };\n            var result;\n            var complete = false;\n            Rx.Observable\n                .ajax.get('/flibbertyJibbet')\n                .subscribe(function (x) {\n                result = x.response;\n            }, null, function () {\n                complete = true;\n            });\n            var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n            chai_1.expect(request.url).to.equal('/flibbertyJibbet');\n            request.respondWith({\n                'status': 200,\n                'contentType': 'application/json',\n                'responseText': JSON.stringify(expected)\n            });\n            chai_1.expect(result).to.deep.equal(expected);\n            chai_1.expect(complete).to.be.true;\n        });\n        it('should succeed on 204 No Content', function () {\n            var expected = null;\n            var result;\n            var complete = false;\n            Rx.Observable\n                .ajax.get('/flibbertyJibbet')\n                .subscribe(function (x) {\n                result = x.response;\n            }, null, function () {\n                complete = true;\n            });\n            var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n            chai_1.expect(request.url).to.equal('/flibbertyJibbet');\n            request.respondWith({\n                'status': 204,\n                'contentType': 'application/json',\n                'responseText': expected\n            });\n            chai_1.expect(result).to.deep.equal(expected);\n            chai_1.expect(complete).to.be.true;\n        });\n        it('should able to select json response via getJSON', function () {\n            var expected = { foo: 'bar' };\n            var result;\n            var complete = false;\n            Rx.Observable\n                .ajax.getJSON('/flibbertyJibbet')\n                .subscribe(function (x) {\n                result = x;\n            }, null, function () {\n                complete = true;\n            });\n            var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n            chai_1.expect(request.url).to.equal('/flibbertyJibbet');\n            request.respondWith({\n                'status': 200,\n                'contentType': 'application/json',\n                'responseText': JSON.stringify(expected)\n            });\n            chai_1.expect(result).to.deep.equal(expected);\n            chai_1.expect(complete).to.be.true;\n        });\n    });\n    describe('ajax.post', function () {\n        it('should succeed on 200', function () {\n            var expected = { foo: 'bar', hi: 'there you' };\n            var result;\n            var complete = false;\n            Rx.Observable\n                .ajax.post('/flibbertyJibbet', expected)\n                .subscribe(function (x) {\n                result = x;\n            }, null, function () {\n                complete = true;\n            });\n            var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n            chai_1.expect(request.method).to.equal('POST');\n            chai_1.expect(request.url).to.equal('/flibbertyJibbet');\n            chai_1.expect(request.requestHeaders).to.deep.equal({\n                'X-Requested-With': 'XMLHttpRequest',\n                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'\n            });\n            request.respondWith({\n                'status': 200,\n                'contentType': 'application/json',\n                'responseText': JSON.stringify(expected)\n            });\n            chai_1.expect(request.data).to.equal('foo=bar&hi=there%20you');\n            chai_1.expect(result.response).to.deep.equal(expected);\n            chai_1.expect(complete).to.be.true;\n        });\n        it('should succeed on 204 No Content', function () {\n            var expected = null;\n            var result;\n            var complete = false;\n            Rx.Observable\n                .ajax.post('/flibbertyJibbet', expected)\n                .subscribe(function (x) {\n                result = x;\n            }, null, function () {\n                complete = true;\n            });\n            var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n            chai_1.expect(request.method).to.equal('POST');\n            chai_1.expect(request.url).to.equal('/flibbertyJibbet');\n            chai_1.expect(request.requestHeaders).to.deep.equal({\n                'X-Requested-With': 'XMLHttpRequest',\n                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'\n            });\n            request.respondWith({\n                'status': 204,\n                'contentType': 'application/json',\n                'responseType': 'json',\n                'responseText': expected\n            });\n            chai_1.expect(result.response).to.equal(expected);\n            chai_1.expect(complete).to.be.true;\n        });\n        it('should succeed in IE on 204 No Content', function () {\n            var expected = null;\n            var result;\n            var complete = false;\n            root_1.root.XMLHttpRequest = ajax_helper_1.MockXMLHttpRequestInternetExplorer;\n            Rx.Observable\n                .ajax.post('/flibbertyJibbet', expected)\n                .subscribe(function (x) {\n                result = x;\n            }, null, function () {\n                complete = true;\n            });\n            var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n            chai_1.expect(request.method).to.equal('POST');\n            chai_1.expect(request.url).to.equal('/flibbertyJibbet');\n            chai_1.expect(request.requestHeaders).to.deep.equal({\n                'X-Requested-With': 'XMLHttpRequest',\n                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'\n            });\n            //IE behavior: IE does not provide the a responseText property, so also exercise the code which handles this.\n            request.respondWith({\n                'status': 204,\n                'contentType': 'application/json'\n            });\n            chai_1.expect(result.response).to.equal(expected);\n            chai_1.expect(complete).to.be.true;\n        });\n    });\n    it('should work fine when XMLHttpRequest onreadystatechange property is monkey patched', function () {\n        Object.defineProperty(root_1.root.XMLHttpRequest.prototype, 'onreadystatechange', {\n            set: function (fn) {\n                var _this = this;\n                var wrapFn = function (ev) {\n                    var result = fn.call(_this, ev);\n                    if (result === false) {\n                        ev.preventDefault();\n                    }\n                };\n                this['_onreadystatechange'] = wrapFn;\n            },\n            get: function () {\n                return this['_onreadystatechange'];\n            },\n            configurable: true\n        });\n        Rx.Observable.ajax({\n            url: '/flibbertyJibbet'\n        })\n            .subscribe();\n        var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n        chai_1.expect(function () {\n            request.onreadystatechange('onreadystatechange');\n        }).not.throw();\n        delete root_1.root.XMLHttpRequest.prototype.onreadystatechange;\n    });\n    it('should work fine when XMLHttpRequest ontimeout property is monkey patched', function () {\n        Object.defineProperty(root_1.root.XMLHttpRequest.prototype, 'ontimeout', {\n            set: function (fn) {\n                var _this = this;\n                var wrapFn = function (ev) {\n                    var result = fn.call(_this, ev);\n                    if (result === false) {\n                        ev.preventDefault();\n                    }\n                };\n                this['_ontimeout'] = wrapFn;\n            },\n            get: function () {\n                return this['_ontimeout'];\n            },\n            configurable: true\n        });\n        var ajaxRequest = {\n            url: '/flibbertyJibbet'\n        };\n        Rx.Observable.ajax(ajaxRequest)\n            .subscribe();\n        var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n        try {\n            request.ontimeout('ontimeout');\n        }\n        catch (e) {\n            chai_1.expect(e.message).to.equal(new Rx.AjaxTimeoutError(request, ajaxRequest).message);\n        }\n        delete root_1.root.XMLHttpRequest.prototype.ontimeout;\n    });\n    it('should work fine when XMLHttpRequest onprogress property is monkey patched', function () {\n        Object.defineProperty(root_1.root.XMLHttpRequest.prototype, 'onprogress', {\n            set: function (fn) {\n                var _this = this;\n                var wrapFn = function (ev) {\n                    var result = fn.call(_this, ev);\n                    if (result === false) {\n                        ev.preventDefault();\n                    }\n                };\n                this['_onprogress'] = wrapFn;\n            },\n            get: function () {\n                return this['_onprogress'];\n            },\n            configurable: true\n        });\n        Object.defineProperty(root_1.root.XMLHttpRequest.prototype, 'upload', {\n            get: function () {\n                return true;\n            },\n            configurable: true\n        });\n        // mock for onprogress\n        root_1.root.XDomainRequest = true;\n        Rx.Observable.ajax({\n            url: '/flibbertyJibbet',\n            progressSubscriber: {\n                next: function () {\n                    // noop\n                },\n                error: function () {\n                    // noop\n                },\n                complete: function () {\n                    // noop\n                }\n            }\n        })\n            .subscribe();\n        var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n        chai_1.expect(function () {\n            request.onprogress('onprogress');\n        }).not.throw();\n        delete root_1.root.XMLHttpRequest.prototype.onprogress;\n        delete root_1.root.XMLHttpRequest.prototype.upload;\n        delete root_1.root.XDomainRequest;\n    });\n    it('should work fine when XMLHttpRequest onerror property is monkey patched', function () {\n        Object.defineProperty(root_1.root.XMLHttpRequest.prototype, 'onerror', {\n            set: function (fn) {\n                var _this = this;\n                var wrapFn = function (ev) {\n                    var result = fn.call(_this, ev);\n                    if (result === false) {\n                        ev.preventDefault();\n                    }\n                };\n                this['_onerror'] = wrapFn;\n            },\n            get: function () {\n                return this['_onerror'];\n            },\n            configurable: true\n        });\n        Object.defineProperty(root_1.root.XMLHttpRequest.prototype, 'upload', {\n            get: function () {\n                return true;\n            },\n            configurable: true\n        });\n        // mock for onprogress\n        root_1.root.XDomainRequest = true;\n        Rx.Observable.ajax({\n            url: '/flibbertyJibbet'\n        })\n            .subscribe();\n        var request = ajax_helper_1.MockXMLHttpRequest.mostRecent;\n        try {\n            request.onerror('onerror');\n        }\n        catch (e) {\n            chai_1.expect(e.message).to.equal('ajax error');\n        }\n        delete root_1.root.XMLHttpRequest.prototype.onerror;\n        delete root_1.root.XMLHttpRequest.prototype.upload;\n        delete root_1.root.XDomainRequest;\n    });\n});\n//# sourceMappingURL=ajax-spec.js.map"
  },
  {
    "__docId__": 1130,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe258",
    "testId": 258,
    "memberof": "spec-js/observables/dom/ajax-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258",
    "access": null,
    "description": "Observable.ajax",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{ajax}"
      }
    ],
    "testTargets": [
      "ajax"
    ]
  },
  {
    "__docId__": 1131,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it259",
    "testId": 259,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it259",
    "access": null,
    "description": "should create default XMLHttpRequest for non CORS",
    "lineNumber": 27
  },
  {
    "__docId__": 1132,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it260",
    "testId": 260,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it260",
    "access": null,
    "description": "should try to create AXObject for XHR in old version of IE",
    "lineNumber": 35
  },
  {
    "__docId__": 1133,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it261",
    "testId": 261,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it261",
    "access": null,
    "description": "should throw if not able to create XMLHttpRequest",
    "lineNumber": 47
  },
  {
    "__docId__": 1134,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it262",
    "testId": 262,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it262",
    "access": null,
    "description": "should create XMLHttpRequest for CORS",
    "lineNumber": 58
  },
  {
    "__docId__": 1135,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it263",
    "testId": 263,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it263",
    "access": null,
    "description": "should try to create XDomainRequest for CORS if XMLHttpRequest is not available",
    "lineNumber": 68
  },
  {
    "__docId__": 1136,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it264",
    "testId": 264,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it264",
    "access": null,
    "description": "should throw if not able to create CORS request",
    "lineNumber": 82
  },
  {
    "__docId__": 1137,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it265",
    "testId": 265,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it265",
    "access": null,
    "description": "should set headers",
    "lineNumber": 95
  },
  {
    "__docId__": 1138,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it266",
    "testId": 266,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it266",
    "access": null,
    "description": "should not set default Content-Type header when no body is sent",
    "lineNumber": 115
  },
  {
    "__docId__": 1139,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it267",
    "testId": 267,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it267",
    "access": null,
    "description": "should error if createXHR throws",
    "lineNumber": 125
  },
  {
    "__docId__": 1140,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it268",
    "testId": 268,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it268",
    "access": null,
    "description": "should succeed on 200",
    "lineNumber": 144
  },
  {
    "__docId__": 1141,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it269",
    "testId": 269,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it269",
    "access": null,
    "description": "should fail on 404",
    "lineNumber": 169
  },
  {
    "__docId__": 1142,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it270",
    "testId": 270,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it270",
    "access": null,
    "description": "should fail on 404",
    "lineNumber": 197
  },
  {
    "__docId__": 1143,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it271",
    "testId": 271,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it271",
    "access": null,
    "description": "should succeed no settings",
    "lineNumber": 224
  },
  {
    "__docId__": 1144,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it272",
    "testId": 272,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it272",
    "access": null,
    "description": "should fail no settings",
    "lineNumber": 241
  },
  {
    "__docId__": 1145,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe273",
    "testId": 273,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe273",
    "access": null,
    "description": "ajax request body",
    "lineNumber": 260
  },
  {
    "__docId__": 1146,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it274",
    "testId": 274,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe273",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe273.it274",
    "access": null,
    "description": "can take string body",
    "lineNumber": 273
  },
  {
    "__docId__": 1147,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it275",
    "testId": 275,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe273",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe273.it275",
    "access": null,
    "description": "can take FormData body",
    "lineNumber": 283
  },
  {
    "__docId__": 1148,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it276",
    "testId": 276,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe273",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe273.it276",
    "access": null,
    "description": "should not fail when FormData is undefined",
    "lineNumber": 297
  },
  {
    "__docId__": 1149,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it277",
    "testId": 277,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe273",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe273.it277",
    "access": null,
    "description": "should send by form-urlencoded format",
    "lineNumber": 310
  },
  {
    "__docId__": 1150,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it278",
    "testId": 278,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe273",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe273.it278",
    "access": null,
    "description": "should send by JSON",
    "lineNumber": 326
  },
  {
    "__docId__": 1151,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe279",
    "testId": 279,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe279",
    "access": null,
    "description": "ajax.get",
    "lineNumber": 343
  },
  {
    "__docId__": 1152,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it280",
    "testId": 280,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe279",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe279.it280",
    "access": null,
    "description": "should succeed on 200",
    "lineNumber": 344
  },
  {
    "__docId__": 1153,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it281",
    "testId": 281,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe279",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe279.it281",
    "access": null,
    "description": "should succeed on 204 No Content",
    "lineNumber": 365
  },
  {
    "__docId__": 1154,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it282",
    "testId": 282,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe279",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe279.it282",
    "access": null,
    "description": "should able to select json response via getJSON",
    "lineNumber": 386
  },
  {
    "__docId__": 1155,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe283",
    "testId": 283,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe283",
    "access": null,
    "description": "ajax.post",
    "lineNumber": 408
  },
  {
    "__docId__": 1156,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it284",
    "testId": 284,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe283",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe283.it284",
    "access": null,
    "description": "should succeed on 200",
    "lineNumber": 409
  },
  {
    "__docId__": 1157,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it285",
    "testId": 285,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe283",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe283.it285",
    "access": null,
    "description": "should succeed on 204 No Content",
    "lineNumber": 436
  },
  {
    "__docId__": 1158,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it286",
    "testId": 286,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258.describe283",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.describe283.it286",
    "access": null,
    "description": "should succeed in IE on 204 No Content",
    "lineNumber": 463
  },
  {
    "__docId__": 1159,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it287",
    "testId": 287,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it287",
    "access": null,
    "description": "should work fine when XMLHttpRequest onreadystatechange property is monkey patched",
    "lineNumber": 491
  },
  {
    "__docId__": 1160,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it288",
    "testId": 288,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it288",
    "access": null,
    "description": "should work fine when XMLHttpRequest ontimeout property is monkey patched",
    "lineNumber": 518
  },
  {
    "__docId__": 1161,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it289",
    "testId": 289,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it289",
    "access": null,
    "description": "should work fine when XMLHttpRequest onprogress property is monkey patched",
    "lineNumber": 549
  },
  {
    "__docId__": 1162,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it290",
    "testId": 290,
    "memberof": "spec-js/observables/dom/ajax-spec.js~describe258",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/ajax-spec.js~describe258.it290",
    "access": null,
    "description": "should work fine when XMLHttpRequest onerror property is monkey patched",
    "lineNumber": 597
  },
  {
    "__docId__": 1163,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/dom/webSocket-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/dom/webSocket-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../../dist/cjs/Rx');\nvar ajax_helper_1 = require('../../helpers/ajax-helper');\nvar Observable = Rx.Observable;\nvar __ws;\nfunction setupMockWebSocket() {\n    ajax_helper_1.MockWebSocket.clearSockets();\n    __ws = __root__.WebSocket;\n    __root__.WebSocket = ajax_helper_1.MockWebSocket;\n}\nfunction teardownMockWebSocket() {\n    __root__.WebSocket = __ws;\n    ajax_helper_1.MockWebSocket.clearSockets();\n}\n/** @test {webSocket} */\ndescribe('Observable.webSocket', function () {\n    beforeEach(function () {\n        setupMockWebSocket();\n    });\n    afterEach(function () {\n        teardownMockWebSocket();\n    });\n    it('should send and receive messages', function () {\n        var messageReceived = false;\n        var subject = Observable.webSocket('ws://mysocket');\n        subject.next('ping');\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal('pong');\n            messageReceived = true;\n        });\n        var socket = ajax_helper_1.MockWebSocket.lastSocket;\n        chai_1.expect(socket.url).to.equal('ws://mysocket');\n        socket.open();\n        chai_1.expect(socket.lastMessageSent).to.equal('ping');\n        socket.triggerMessage(JSON.stringify('pong'));\n        chai_1.expect(messageReceived).to.be.true;\n        subject.unsubscribe();\n    });\n    it('should allow the user to chain operators', function () {\n        var messageReceived = false;\n        var subject = Observable.webSocket('ws://mysocket');\n        subject\n            .map(function (x) { return x + '?'; })\n            .map(function (x) { return x + '!'; })\n            .map(function (x) { return x + '!'; })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal('pong?!!');\n            messageReceived = true;\n        });\n        var socket = ajax_helper_1.MockWebSocket.lastSocket;\n        socket.open();\n        socket.triggerMessage(JSON.stringify('pong'));\n        chai_1.expect(messageReceived).to.be.true;\n        subject.unsubscribe();\n    });\n    it('receive multiple messages', function () {\n        var expected = ['what', 'do', 'you', 'do', 'with', 'a', 'drunken', 'sailor?'];\n        var results = [];\n        var subject = Observable.webSocket('ws://mysocket');\n        subject.subscribe(function (x) {\n            results.push(x);\n        });\n        var socket = ajax_helper_1.MockWebSocket.lastSocket;\n        socket.open();\n        expected.forEach(function (x) {\n            socket.triggerMessage(JSON.stringify(x));\n        });\n        chai_1.expect(results).to.deep.equal(expected);\n        subject.unsubscribe();\n    });\n    it('should queue messages prior to subscription', function () {\n        var expected = ['make', 'him', 'walk', 'the', 'plank'];\n        var subject = Observable.webSocket('ws://mysocket');\n        expected.forEach(function (x) {\n            subject.next(x);\n        });\n        var socket = ajax_helper_1.MockWebSocket.lastSocket;\n        chai_1.expect(socket).not.exist;\n        subject.subscribe();\n        socket = ajax_helper_1.MockWebSocket.lastSocket;\n        chai_1.expect(socket.sent.length).to.equal(0);\n        socket.open();\n        chai_1.expect(socket.sent.length).to.equal(expected.length);\n        subject.unsubscribe();\n    });\n    it('should send messages immediately if already open', function () {\n        var subject = Observable.webSocket('ws://mysocket');\n        subject.subscribe();\n        var socket = ajax_helper_1.MockWebSocket.lastSocket;\n        socket.open();\n        subject.next('avast!');\n        chai_1.expect(socket.lastMessageSent).to.equal('avast!');\n        subject.next('ye swab!');\n        chai_1.expect(socket.lastMessageSent).to.equal('ye swab!');\n        subject.unsubscribe();\n    });\n    it('should close the socket when completed', function () {\n        var subject = Observable.webSocket('ws://mysocket');\n        subject.subscribe();\n        var socket = ajax_helper_1.MockWebSocket.lastSocket;\n        socket.open();\n        chai_1.expect(socket.readyState).to.equal(1); // open\n        sinon.spy(socket, 'close');\n        chai_1.expect(socket.close).not.have.been.called;\n        subject.complete();\n        chai_1.expect(socket.close).have.been.called;\n        chai_1.expect(socket.readyState).to.equal(3); // closed\n        subject.unsubscribe();\n        socket.close.restore();\n    });\n    it('should close the socket with a code and a reason when errored', function () {\n        var subject = Observable.webSocket('ws://mysocket');\n        subject.subscribe();\n        var socket = ajax_helper_1.MockWebSocket.lastSocket;\n        socket.open();\n        sinon.spy(socket, 'close');\n        chai_1.expect(socket.close).not.have.been.called;\n        subject.error({ code: 1337, reason: 'Too bad, so sad :(' });\n        chai_1.expect(socket.close).have.been.calledWith(1337, 'Too bad, so sad :(');\n        subject.unsubscribe();\n        socket.close.restore();\n    });\n    it('should allow resubscription after closure via complete', function () {\n        var subject = Observable.webSocket('ws://mysocket');\n        subject.subscribe();\n        var socket1 = ajax_helper_1.MockWebSocket.lastSocket;\n        socket1.open();\n        subject.complete();\n        subject.next('a mariner yer not. yarrr.');\n        subject.subscribe();\n        var socket2 = ajax_helper_1.MockWebSocket.lastSocket;\n        socket2.open();\n        chai_1.expect(socket2).not.to.equal(socket1);\n        chai_1.expect(socket2.lastMessageSent).to.equal('a mariner yer not. yarrr.');\n        subject.unsubscribe();\n    });\n    it('should allow resubscription after closure via error', function () {\n        var subject = Observable.webSocket('ws://mysocket');\n        subject.subscribe();\n        var socket1 = ajax_helper_1.MockWebSocket.lastSocket;\n        socket1.open();\n        subject.error({ code: 1337 });\n        subject.next('yo-ho! yo-ho!');\n        subject.subscribe();\n        var socket2 = ajax_helper_1.MockWebSocket.lastSocket;\n        socket2.open();\n        chai_1.expect(socket2).not.to.equal(socket1);\n        chai_1.expect(socket2.lastMessageSent).to.equal('yo-ho! yo-ho!');\n        subject.unsubscribe();\n    });\n    it('should have a default resultSelector that parses message data as JSON', function () {\n        var result;\n        var expected = { mork: 'shazbot!' };\n        var subject = Observable.webSocket('ws://mysocket');\n        subject.subscribe(function (x) {\n            result = x;\n        });\n        var socket = ajax_helper_1.MockWebSocket.lastSocket;\n        socket.open();\n        socket.triggerMessage(JSON.stringify(expected));\n        chai_1.expect(result).to.deep.equal(expected);\n        subject.unsubscribe();\n    });\n    describe('with a config object', function () {\n        it('should send and receive messages', function () {\n            var messageReceived = false;\n            var subject = Observable.webSocket({ url: 'ws://mysocket' });\n            subject.next('ping');\n            subject.subscribe(function (x) {\n                chai_1.expect(x).to.equal('pong');\n                messageReceived = true;\n            });\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            chai_1.expect(socket.url).to.equal('ws://mysocket');\n            socket.open();\n            chai_1.expect(socket.lastMessageSent).to.equal('ping');\n            socket.triggerMessage(JSON.stringify('pong'));\n            chai_1.expect(messageReceived).to.be.true;\n            subject.unsubscribe();\n        });\n        it('should take a protocol and set it properly on the web socket', function () {\n            var subject = Observable.webSocket({\n                url: 'ws://mysocket',\n                protocol: 'someprotocol'\n            });\n            subject.subscribe();\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            chai_1.expect(socket.protocol).to.equal('someprotocol');\n            subject.unsubscribe();\n        });\n        it('should take a resultSelector', function () {\n            var results = [];\n            var subject = Observable.webSocket({\n                url: 'ws://mysocket',\n                resultSelector: function (e) {\n                    return e.data + '!';\n                }\n            });\n            subject.subscribe(function (x) {\n                results.push(x);\n            });\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            ['ahoy', 'yarr', 'shove off'].forEach(function (x) {\n                socket.triggerMessage(x);\n            });\n            chai_1.expect(results).to.deep.equal(['ahoy!', 'yarr!', 'shove off!']);\n            subject.unsubscribe();\n        });\n        it('if the resultSelector fails it should go down the error path', function () {\n            var subject = Observable.webSocket({\n                url: 'ws://mysocket',\n                resultSelector: function (e) {\n                    throw new Error('I am a bad error');\n                }\n            });\n            subject.subscribe(function (x) {\n                chai_1.expect(x).to.equal('this should not happen');\n            }, function (err) {\n                chai_1.expect(err).to.be.an('error', 'I am a bad error');\n            });\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            socket.triggerMessage('weee!');\n            subject.unsubscribe();\n        });\n        it('should accept a closingObserver', function () {\n            var calls = 0;\n            var subject = Observable.webSocket({\n                url: 'ws://mysocket',\n                closingObserver: {\n                    next: function (x) {\n                        calls++;\n                        chai_1.expect(x).to.be.an('undefined');\n                    }\n                }\n            });\n            subject.subscribe();\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            chai_1.expect(calls).to.equal(0);\n            subject.complete();\n            chai_1.expect(calls).to.equal(1);\n            subject.subscribe();\n            socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            subject.error({ code: 1337 });\n            chai_1.expect(calls).to.equal(2);\n            subject.unsubscribe();\n        });\n        it('should accept a closeObserver', function () {\n            var expected = [{ wasClean: true }, { wasClean: false }];\n            var closes = [];\n            var subject = Observable.webSocket({\n                url: 'ws://mysocket',\n                closeObserver: {\n                    next: function (e) {\n                        closes.push(e);\n                    }\n                }\n            });\n            subject.subscribe();\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            chai_1.expect(closes.length).to.equal(0);\n            socket.triggerClose(expected[0]);\n            chai_1.expect(closes.length).to.equal(1);\n            subject.subscribe(null, function (err) {\n                chai_1.expect(err).to.equal(expected[1]);\n            });\n            socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            socket.triggerClose(expected[1]);\n            chai_1.expect(closes.length).to.equal(2);\n            chai_1.expect(closes[0]).to.equal(expected[0]);\n            chai_1.expect(closes[1]).to.equal(expected[1]);\n            subject.unsubscribe();\n        });\n        it('should handle constructor errors', function () {\n            var subject = Observable.webSocket({\n                url: 'bad_url',\n                WebSocketCtor: function (url, protocol) {\n                    throw new Error(\"connection refused\");\n                }\n            });\n            subject.subscribe(function (x) {\n                chai_1.expect(x).to.equal('this should not happen');\n            }, function (err) {\n                chai_1.expect(err).to.be.an('error', 'connection refused');\n            });\n            subject.unsubscribe();\n        });\n    });\n    describe('multiplex', function () {\n        it('should be retryable', function () {\n            var results = [];\n            var subject = Observable.webSocket('ws://websocket');\n            var source = subject.multiplex(function () {\n                return { sub: 'foo' };\n            }, function () {\n                return { unsub: 'foo' };\n            }, function (value) {\n                return value.name === 'foo';\n            });\n            source\n                .retry(1)\n                .map(function (x) { return x.value; })\n                .take(2)\n                .subscribe(function (x) {\n                results.push(x);\n            });\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            chai_1.expect(socket.lastMessageSent).to.deep.equal({ sub: 'foo' });\n            socket.triggerClose({ wasClean: false }); // Bad connection\n            var socket2 = ajax_helper_1.MockWebSocket.lastSocket;\n            chai_1.expect(socket2).not.to.equal(socket);\n            socket2.open();\n            chai_1.expect(socket2.lastMessageSent).to.deep.equal({ sub: 'foo' });\n            socket2.triggerMessage(JSON.stringify({ name: 'foo', value: 'test' }));\n            socket2.triggerMessage(JSON.stringify({ name: 'foo', value: 'this' }));\n            chai_1.expect(results).to.deep.equal(['test', 'this']);\n        });\n        it('should be repeatable', function () {\n            var results = [];\n            var subject = Observable.webSocket('ws://websocket');\n            var source = subject.multiplex(function () {\n                return { sub: 'foo' };\n            }, function () {\n                return { unsub: 'foo' };\n            }, function (value) {\n                return value.name === 'foo';\n            });\n            source\n                .repeat(2)\n                .map(function (x) { return x.value; })\n                .subscribe(function (x) {\n                results.push(x);\n            });\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            chai_1.expect(socket.lastMessageSent).to.deep.equal({ sub: 'foo' }, 'first multiplexed sub');\n            socket.triggerMessage(JSON.stringify({ name: 'foo', value: 'test' }));\n            socket.triggerMessage(JSON.stringify({ name: 'foo', value: 'this' }));\n            socket.triggerClose({ wasClean: true });\n            var socket2 = ajax_helper_1.MockWebSocket.lastSocket;\n            chai_1.expect(socket2).not.to.equal(socket, 'a new socket was not created');\n            socket2.open();\n            chai_1.expect(socket2.lastMessageSent).to.deep.equal({ sub: 'foo' }, 'second multiplexed sub');\n            socket2.triggerMessage(JSON.stringify({ name: 'foo', value: 'test' }));\n            socket2.triggerMessage(JSON.stringify({ name: 'foo', value: 'this' }));\n            socket2.triggerClose({ wasClean: true });\n            chai_1.expect(results).to.deep.equal(['test', 'this', 'test', 'this'], 'results were not equal');\n        });\n        it('should multiplex over the websocket', function () {\n            var results = [];\n            var subject = Observable.webSocket('ws://websocket');\n            var source = subject.multiplex(function () {\n                return { sub: 'foo' };\n            }, function () {\n                return { unsub: 'foo' };\n            }, function (value) {\n                return value.name === 'foo';\n            });\n            var sub = source.subscribe(function (x) {\n                results.push(x.value);\n            });\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            chai_1.expect(socket.lastMessageSent).to.deep.equal({ sub: 'foo' });\n            [1, 2, 3, 4, 5].map(function (x) {\n                return {\n                    name: x % 3 === 0 ? 'bar' : 'foo',\n                    value: x\n                };\n            }).forEach(function (x) {\n                socket.triggerMessage(JSON.stringify(x));\n            });\n            chai_1.expect(results).to.deep.equal([1, 2, 4, 5]);\n            sinon.spy(socket, 'close');\n            sub.unsubscribe();\n            chai_1.expect(socket.lastMessageSent).to.deep.equal({ unsub: 'foo' });\n            chai_1.expect(socket.close).have.been.called;\n            socket.close.restore();\n        });\n        it('should keep the same socket for multiple multiplex subscriptions', function () {\n            var socketSubject = Rx.Observable.webSocket({ url: 'ws://mysocket' });\n            var results = [];\n            var socketMessages = [\n                { id: 'A' },\n                { id: 'B' },\n                { id: 'A' },\n                { id: 'B' },\n                { id: 'B' },\n            ];\n            var sub1 = socketSubject.multiplex(function () { return 'no-op'; }, function () { return results.push('A unsub'); }, function (req) { return req.id === 'A'; })\n                .takeWhile(function (req) { return !req.complete; })\n                .subscribe(function () { return results.push('A next'); }, function (e) { return results.push('A error ' + e); }, function () { return results.push('A complete'); });\n            socketSubject.multiplex(function () { return 'no-op'; }, function () { return results.push('B unsub'); }, function (req) { return req.id === 'B'; })\n                .subscribe(function () { return results.push('B next'); }, function (e) { return results.push('B error ' + e); }, function () { return results.push('B complete'); });\n            // Setup socket and send messages\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            socketMessages.forEach(function (msg, i) {\n                if (i === 1) {\n                    sub1.unsubscribe();\n                    chai_1.expect(socketSubject.socket).to.equal(socket);\n                }\n                socket.triggerMessage(JSON.stringify(msg));\n            });\n            socket.triggerClose({ wasClean: true });\n            chai_1.expect(results).to.deep.equal([\n                'A next',\n                'A unsub',\n                'B next',\n                'B next',\n                'B next',\n                'B complete',\n                'B unsub',\n            ]);\n        });\n        it('should not close the socket until all subscriptions complete', function () {\n            var socketSubject = Rx.Observable.webSocket({ url: 'ws://mysocket' });\n            var results = [];\n            var socketMessages = [\n                { id: 'A' },\n                { id: 'B' },\n                { id: 'A', complete: true },\n                { id: 'B' },\n                { id: 'B', complete: true },\n            ];\n            socketSubject.multiplex(function () { return 'no-op'; }, function () { return results.push('A unsub'); }, function (req) { return req.id === 'A'; })\n                .takeWhile(function (req) { return !req.complete; })\n                .subscribe(function () { return results.push('A next'); }, function (e) { return results.push('A error ' + e); }, function () { return results.push('A complete'); });\n            socketSubject.multiplex(function () { return 'no-op'; }, function () { return results.push('B unsub'); }, function (req) { return req.id === 'B'; })\n                .takeWhile(function (req) { return !req.complete; })\n                .subscribe(function () { return results.push('B next'); }, function (e) { return results.push('B error ' + e); }, function () { return results.push('B complete'); });\n            // Setup socket and send messages\n            var socket = ajax_helper_1.MockWebSocket.lastSocket;\n            socket.open();\n            socketMessages.forEach(function (msg) {\n                socket.triggerMessage(JSON.stringify(msg));\n            });\n            chai_1.expect(results).to.deep.equal([\n                'A next',\n                'B next',\n                'A complete',\n                'A unsub',\n                'B next',\n                'B complete',\n                'B unsub',\n            ]);\n        });\n    });\n});\n//# sourceMappingURL=webSocket-spec.js.map"
  },
  {
    "__docId__": 1164,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe291",
    "testId": 291,
    "memberof": "spec-js/observables/dom/webSocket-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "access": null,
    "description": "Observable.webSocket",
    "lineNumber": 18,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{webSocket}"
      }
    ],
    "testTargets": [
      "webSocket"
    ]
  },
  {
    "__docId__": 1165,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it292",
    "testId": 292,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it292",
    "access": null,
    "description": "should send and receive messages",
    "lineNumber": 25
  },
  {
    "__docId__": 1166,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it293",
    "testId": 293,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it293",
    "access": null,
    "description": "should allow the user to chain operators",
    "lineNumber": 41
  },
  {
    "__docId__": 1167,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it294",
    "testId": 294,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it294",
    "access": null,
    "description": "receive multiple messages",
    "lineNumber": 58
  },
  {
    "__docId__": 1168,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it295",
    "testId": 295,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it295",
    "access": null,
    "description": "should queue messages prior to subscription",
    "lineNumber": 73
  },
  {
    "__docId__": 1169,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it296",
    "testId": 296,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it296",
    "access": null,
    "description": "should send messages immediately if already open",
    "lineNumber": 88
  },
  {
    "__docId__": 1170,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it297",
    "testId": 297,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it297",
    "access": null,
    "description": "should close the socket when completed",
    "lineNumber": 99
  },
  {
    "__docId__": 1171,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it298",
    "testId": 298,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it298",
    "access": null,
    "description": "should close the socket with a code and a reason when errored",
    "lineNumber": 113
  },
  {
    "__docId__": 1172,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it299",
    "testId": 299,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it299",
    "access": null,
    "description": "should allow resubscription after closure via complete",
    "lineNumber": 125
  },
  {
    "__docId__": 1173,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it300",
    "testId": 300,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it300",
    "access": null,
    "description": "should allow resubscription after closure via error",
    "lineNumber": 139
  },
  {
    "__docId__": 1174,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it301",
    "testId": 301,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.it301",
    "access": null,
    "description": "should have a default resultSelector that parses message data as JSON",
    "lineNumber": 153
  },
  {
    "__docId__": 1175,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe302",
    "testId": 302,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302",
    "access": null,
    "description": "with a config object",
    "lineNumber": 166
  },
  {
    "__docId__": 1176,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it303",
    "testId": 303,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302.it303",
    "access": null,
    "description": "should send and receive messages",
    "lineNumber": 167
  },
  {
    "__docId__": 1177,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it304",
    "testId": 304,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302.it304",
    "access": null,
    "description": "should take a protocol and set it properly on the web socket",
    "lineNumber": 183
  },
  {
    "__docId__": 1178,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it305",
    "testId": 305,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302.it305",
    "access": null,
    "description": "should take a resultSelector",
    "lineNumber": 193
  },
  {
    "__docId__": 1179,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it306",
    "testId": 306,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302.it306",
    "access": null,
    "description": "if the resultSelector fails it should go down the error path",
    "lineNumber": 212
  },
  {
    "__docId__": 1180,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it307",
    "testId": 307,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302.it307",
    "access": null,
    "description": "should accept a closingObserver",
    "lineNumber": 229
  },
  {
    "__docId__": 1181,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it308",
    "testId": 308,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302.it308",
    "access": null,
    "description": "should accept a closeObserver",
    "lineNumber": 253
  },
  {
    "__docId__": 1182,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it309",
    "testId": 309,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe302.it309",
    "access": null,
    "description": "should handle constructor errors",
    "lineNumber": 281
  },
  {
    "__docId__": 1183,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe310",
    "testId": 310,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291",
    "testDepth": 1,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310",
    "access": null,
    "description": "multiplex",
    "lineNumber": 296
  },
  {
    "__docId__": 1184,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it311",
    "testId": 311,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310.it311",
    "access": null,
    "description": "should be retryable",
    "lineNumber": 297
  },
  {
    "__docId__": 1185,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it312",
    "testId": 312,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310.it312",
    "access": null,
    "description": "should be repeatable",
    "lineNumber": 326
  },
  {
    "__docId__": 1186,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it313",
    "testId": 313,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310.it313",
    "access": null,
    "description": "should multiplex over the websocket",
    "lineNumber": 357
  },
  {
    "__docId__": 1187,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it314",
    "testId": 314,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310.it314",
    "access": null,
    "description": "should keep the same socket for multiple multiplex subscriptions",
    "lineNumber": 388
  },
  {
    "__docId__": 1188,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it315",
    "testId": 315,
    "memberof": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310",
    "testDepth": 2,
    "longname": "spec-js/observables/dom/webSocket-spec.js~describe291.describe310.it315",
    "access": null,
    "description": "should not close the socket until all subscriptions complete",
    "lineNumber": 424
  },
  {
    "__docId__": 1189,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/empty-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/empty-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {empty} */\ndescribe('Observable.empty', function () {\n    asDiagram('empty')('should create a cold observable with only complete', function () {\n        var expected = '|';\n        var e1 = Observable.empty();\n        expectObservable(e1).toBe(expected);\n    });\n});\n//# sourceMappingURL=empty-spec.js.map"
  },
  {
    "__docId__": 1190,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe316",
    "testId": 316,
    "memberof": "spec-js/observables/empty-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/empty-spec.js~describe316",
    "access": null,
    "description": "Observable.empty",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{empty}"
      }
    ],
    "testTargets": [
      "empty"
    ]
  },
  {
    "__docId__": 1191,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/forkJoin-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/forkJoin-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar test_helper_1 = require('../helpers/test-helper');\nvar Observable = Rx.Observable;\n/** @test {forkJoin} */\ndescribe('Observable.forkJoin', function () {\n    it('should join the last values of the provided observables into an array', function () {\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'), hot('(b|)'), hot('--1--2--3--|'));\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: ['d', 'b', '3'] });\n    });\n    it('should allow emit null or undefined', function () {\n        var e2 = Observable.forkJoin(hot('--a--b--c--d--|', { d: null }), hot('(b|)'), hot('--1--2--3--|'), hot('-----r--t--u--|', { u: undefined }));\n        var expected2 = '--------------(x|)';\n        expectObservable(e2).toBe(expected2, { x: [null, 'b', '3', undefined] });\n    });\n    it('should join the last values of the provided observables with selector', function () {\n        function selector(x, y, z) {\n            return x + y + z;\n        }\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'), hot('(b|)'), hot('--1--2--3--|'), selector);\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: 'db3' });\n    });\n    it('should accept single observable', function () {\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'));\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: ['d'] });\n    });\n    it('should accept array of observable contains single', function () {\n        var e1 = Observable.forkJoin([hot('--a--b--c--d--|')]);\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: ['d'] });\n    });\n    it('should accept single observable with selector', function () {\n        function selector(x) {\n            return x + x;\n        }\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'), selector);\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: 'dd' });\n    });\n    it('should accept array of observable contains single with selector', function () {\n        function selector(x) {\n            return x + x;\n        }\n        var e1 = Observable.forkJoin([hot('--a--b--c--d--|')], selector);\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: 'dd' });\n    });\n    it('should accept lowercase-o observables', function () {\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'), hot('(b|)'), test_helper_1.lowerCaseO('1', '2', '3'));\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: ['d', 'b', '3'] });\n    });\n    it('should accept empty lowercase-o observables', function () {\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'), hot('(b|)'), test_helper_1.lowerCaseO());\n        var expected = '|';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should accept promise', function (done) {\n        var e1 = Observable.forkJoin(Observable.of(1), Promise.resolve(2));\n        e1.subscribe(function (x) {\n            chai_1.expect(x).to.deep.equal([1, 2]);\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should accept array of observables', function () {\n        var e1 = Observable.forkJoin([hot('--a--b--c--d--|'),\n            hot('(b|)'),\n            hot('--1--2--3--|')]);\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: ['d', 'b', '3'] });\n    });\n    it('should accept array of observables with selector', function () {\n        function selector(x, y, z) {\n            return x + y + z;\n        }\n        var e1 = Observable.forkJoin([hot('--a--b--c--d--|'),\n            hot('(b|)'),\n            hot('--1--2--3--|')], selector);\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: 'db3' });\n    });\n    it('should not emit if any of source observable is empty', function () {\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'), hot('(b|)'), hot('------------------|'));\n        var expected = '------------------|';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should complete early if any of source is empty and completes before than others', function () {\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'), hot('(b|)'), hot('---------|'));\n        var expected = '---------|';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should complete when all sources are empty', function () {\n        var e1 = Observable.forkJoin(hot('--------------|'), hot('---------|'));\n        var expected = '---------|';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should complete if source is not provided', function () {\n        var e1 = Observable.forkJoin();\n        var expected = '|';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should complete if sources list is empty', function () {\n        var e1 = Observable.forkJoin([]);\n        var expected = '|';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should complete when any of source is empty with selector', function () {\n        function selector(x, y) {\n            return x + y;\n        }\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'), hot('---------|'), selector);\n        var expected = '---------|';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should emit results by resultselector', function () {\n        function selector(x, y) {\n            return x + y;\n        }\n        var e1 = Observable.forkJoin(hot('--a--b--c--d--|'), hot('---2-----|'), selector);\n        var expected = '--------------(x|)';\n        expectObservable(e1).toBe(expected, { x: 'd2' });\n    });\n    it('should raise error when any of source raises error with empty observable', function () {\n        var e1 = Observable.forkJoin(hot('------#'), hot('---------|'));\n        var expected = '------#';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should raise error when any of source raises error with selector with empty observable', function () {\n        function selector(x, y) {\n            return x + y;\n        }\n        var e1 = Observable.forkJoin(hot('------#'), hot('---------|'), selector);\n        var expected = '------#';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should raise error when source raises error', function () {\n        var e1 = Observable.forkJoin(hot('------#'), hot('---a-----|'));\n        var expected = '------#';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should raise error when source raises error with selector', function () {\n        function selector(x, y) {\n            return x + y;\n        }\n        var e1 = Observable.forkJoin(hot('------#'), hot('-------b-|'), selector);\n        var expected = '------#';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--^--b--c---d-| ');\n        var e1subs = '^        !    ';\n        var e2 = hot('---e-^---f--g---h-|');\n        var e2subs = '^        !    ';\n        var expected = '----------    ';\n        var unsub = '         !    ';\n        var result = Observable.forkJoin(e1, e2);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should support promises', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var b;\n            var c;\n            var o1 = Observable.forkJoin(a, b, c);\n            var o2 = Observable.forkJoin(a, b, c, function (aa, bb, cc) { return !!aa && !!bb && cc; });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support observables', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var b;\n            var c;\n            var o1 = Observable.forkJoin(a, b, c);\n            var o2 = Observable.forkJoin(a, b, c, function (aa, bb, cc) { return !!aa && !!bb && cc; });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support mixed observables and promises', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var b;\n            var c;\n            var d;\n            var o1 = Observable.forkJoin(a, b, c, d);\n            var o2 = Observable.forkJoin(a, b, c, d, function (aa, bb, cc, dd) { return !!aa && !!bb && cc && !!dd.length; });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support arrays of promises', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.forkJoin(a);\n            var o2 = Observable.forkJoin.apply(Observable, a);\n            var o3 = Observable.forkJoin(a, function () {\n                var x = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    x[_i - 0] = arguments[_i];\n                }\n                return x.length;\n            });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support arrays of observables', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.forkJoin(a);\n            var o2 = Observable.forkJoin.apply(Observable, a);\n            var o3 = Observable.forkJoin(a, function () {\n                var x = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    x[_i - 0] = arguments[_i];\n                }\n                return x.length;\n            });\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should return Array<T> when given a single promise', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.forkJoin(a);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should return Array<T> when given a single observable', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.forkJoin(a);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n});\n//# sourceMappingURL=forkJoin-spec.js.map"
  },
  {
    "__docId__": 1192,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe317",
    "testId": 317,
    "memberof": "spec-js/observables/forkJoin-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317",
    "access": null,
    "description": "Observable.forkJoin",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{forkJoin}"
      }
    ],
    "testTargets": [
      "forkJoin"
    ]
  },
  {
    "__docId__": 1193,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it318",
    "testId": 318,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it318",
    "access": null,
    "description": "should join the last values of the provided observables into an array",
    "lineNumber": 8
  },
  {
    "__docId__": 1194,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it319",
    "testId": 319,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it319",
    "access": null,
    "description": "should allow emit null or undefined",
    "lineNumber": 13
  },
  {
    "__docId__": 1195,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it320",
    "testId": 320,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it320",
    "access": null,
    "description": "should join the last values of the provided observables with selector",
    "lineNumber": 18
  },
  {
    "__docId__": 1196,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it321",
    "testId": 321,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it321",
    "access": null,
    "description": "should accept single observable",
    "lineNumber": 26
  },
  {
    "__docId__": 1197,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it322",
    "testId": 322,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it322",
    "access": null,
    "description": "should accept array of observable contains single",
    "lineNumber": 31
  },
  {
    "__docId__": 1198,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it323",
    "testId": 323,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it323",
    "access": null,
    "description": "should accept single observable with selector",
    "lineNumber": 36
  },
  {
    "__docId__": 1199,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it324",
    "testId": 324,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it324",
    "access": null,
    "description": "should accept array of observable contains single with selector",
    "lineNumber": 44
  },
  {
    "__docId__": 1200,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it325",
    "testId": 325,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it325",
    "access": null,
    "description": "should accept lowercase-o observables",
    "lineNumber": 52
  },
  {
    "__docId__": 1201,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it326",
    "testId": 326,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it326",
    "access": null,
    "description": "should accept empty lowercase-o observables",
    "lineNumber": 57
  },
  {
    "__docId__": 1202,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it327",
    "testId": 327,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it327",
    "access": null,
    "description": "should accept promise",
    "lineNumber": 62
  },
  {
    "__docId__": 1203,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it328",
    "testId": 328,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it328",
    "access": null,
    "description": "should accept array of observables",
    "lineNumber": 72
  },
  {
    "__docId__": 1204,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it329",
    "testId": 329,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it329",
    "access": null,
    "description": "should accept array of observables with selector",
    "lineNumber": 79
  },
  {
    "__docId__": 1205,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it330",
    "testId": 330,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it330",
    "access": null,
    "description": "should not emit if any of source observable is empty",
    "lineNumber": 89
  },
  {
    "__docId__": 1206,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it331",
    "testId": 331,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it331",
    "access": null,
    "description": "should complete early if any of source is empty and completes before than others",
    "lineNumber": 94
  },
  {
    "__docId__": 1207,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it332",
    "testId": 332,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it332",
    "access": null,
    "description": "should complete when all sources are empty",
    "lineNumber": 99
  },
  {
    "__docId__": 1208,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it333",
    "testId": 333,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it333",
    "access": null,
    "description": "should complete if source is not provided",
    "lineNumber": 104
  },
  {
    "__docId__": 1209,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it334",
    "testId": 334,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it334",
    "access": null,
    "description": "should complete if sources list is empty",
    "lineNumber": 109
  },
  {
    "__docId__": 1210,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it335",
    "testId": 335,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it335",
    "access": null,
    "description": "should complete when any of source is empty with selector",
    "lineNumber": 114
  },
  {
    "__docId__": 1211,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it336",
    "testId": 336,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it336",
    "access": null,
    "description": "should emit results by resultselector",
    "lineNumber": 122
  },
  {
    "__docId__": 1212,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it337",
    "testId": 337,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it337",
    "access": null,
    "description": "should raise error when any of source raises error with empty observable",
    "lineNumber": 130
  },
  {
    "__docId__": 1213,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it338",
    "testId": 338,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it338",
    "access": null,
    "description": "should raise error when any of source raises error with selector with empty observable",
    "lineNumber": 135
  },
  {
    "__docId__": 1214,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it339",
    "testId": 339,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it339",
    "access": null,
    "description": "should raise error when source raises error",
    "lineNumber": 143
  },
  {
    "__docId__": 1215,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it340",
    "testId": 340,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it340",
    "access": null,
    "description": "should raise error when source raises error with selector",
    "lineNumber": 148
  },
  {
    "__docId__": 1216,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it341",
    "testId": 341,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it341",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 156
  },
  {
    "__docId__": 1217,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it342",
    "testId": 342,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it342",
    "access": null,
    "description": "should support promises",
    "lineNumber": 168
  },
  {
    "__docId__": 1218,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it343",
    "testId": 343,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it343",
    "access": null,
    "description": "should support observables",
    "lineNumber": 179
  },
  {
    "__docId__": 1219,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it344",
    "testId": 344,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it344",
    "access": null,
    "description": "should support mixed observables and promises",
    "lineNumber": 190
  },
  {
    "__docId__": 1220,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it345",
    "testId": 345,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it345",
    "access": null,
    "description": "should support arrays of promises",
    "lineNumber": 202
  },
  {
    "__docId__": 1221,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it346",
    "testId": 346,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it346",
    "access": null,
    "description": "should support arrays of observables",
    "lineNumber": 218
  },
  {
    "__docId__": 1222,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it347",
    "testId": 347,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it347",
    "access": null,
    "description": "should return Array<T> when given a single promise",
    "lineNumber": 234
  },
  {
    "__docId__": 1223,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it348",
    "testId": 348,
    "memberof": "spec-js/observables/forkJoin-spec.js~describe317",
    "testDepth": 1,
    "longname": "spec-js/observables/forkJoin-spec.js~describe317.it348",
    "access": null,
    "description": "should return Array<T> when given a single observable",
    "lineNumber": 242
  },
  {
    "__docId__": 1224,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/from-promise-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/from-promise-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {fromPromise} */\ndescribe('Observable.fromPromise', function () {\n    it('should emit one value from a resolved promise', function (done) {\n        var promise = Promise.resolve(42);\n        Observable.fromPromise(promise)\n            .subscribe(function (x) { chai_1.expect(x).to.equal(42); }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should raise error from a rejected promise', function (done) {\n        var promise = Promise.reject('bad');\n        Observable.fromPromise(promise)\n            .subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (e) {\n            chai_1.expect(e).to.equal('bad');\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should share the underlying promise with multiple subscribers', function (done) {\n        var promise = Promise.resolve(42);\n        var observable = Observable.fromPromise(promise);\n        observable\n            .subscribe(function (x) { chai_1.expect(x).to.equal(42); }, function (x) {\n            done(new Error('should not be called'));\n        }, null);\n        setTimeout(function () {\n            observable\n                .subscribe(function (x) { chai_1.expect(x).to.equal(42); }, function (x) {\n                done(new Error('should not be called'));\n            }, function () {\n                done();\n            });\n        });\n    });\n    it('should accept already-resolved Promise', function (done) {\n        var promise = Promise.resolve(42);\n        promise.then(function (x) {\n            chai_1.expect(x).to.equal(42);\n            Observable.fromPromise(promise)\n                .subscribe(function (y) { chai_1.expect(y).to.equal(42); }, function (x) {\n                done(new Error('should not be called'));\n            }, function () {\n                done();\n            });\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should emit a value from a resolved promise on a separate scheduler', function (done) {\n        var promise = Promise.resolve(42);\n        Observable.fromPromise(promise, Rx.Scheduler.asap)\n            .subscribe(function (x) { chai_1.expect(x).to.equal(42); }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should raise error from a rejected promise on a separate scheduler', function (done) {\n        var promise = Promise.reject('bad');\n        Observable.fromPromise(promise, Rx.Scheduler.asap)\n            .subscribe(function (x) { done(new Error('should not be called')); }, function (e) {\n            chai_1.expect(e).to.equal('bad');\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should share the underlying promise with multiple subscribers on a separate scheduler', function (done) {\n        var promise = Promise.resolve(42);\n        var observable = Observable.fromPromise(promise, Rx.Scheduler.asap);\n        observable\n            .subscribe(function (x) { chai_1.expect(x).to.equal(42); }, function (x) {\n            done(new Error('should not be called'));\n        }, null);\n        setTimeout(function () {\n            observable\n                .subscribe(function (x) { chai_1.expect(x).to.equal(42); }, function (x) {\n                done(new Error('should not be called'));\n            }, function () {\n                done();\n            });\n        });\n    });\n    it('should not emit, throw or complete if immediately unsubscribed', function (done) {\n        var nextSpy = sinon.spy();\n        var throwSpy = sinon.spy();\n        var completeSpy = sinon.spy();\n        var promise = Promise.resolve(42);\n        var subscription = Observable.fromPromise(promise)\n            .subscribe(nextSpy, throwSpy, completeSpy);\n        subscription.unsubscribe();\n        setTimeout(function () {\n            chai_1.expect(nextSpy).not.have.been.called;\n            chai_1.expect(throwSpy).not.have.been.called;\n            chai_1.expect(completeSpy).not.have.been.called;\n            done();\n        });\n    });\n    if (typeof process === 'object' && Object.prototype.toString.call(process) === '[object process]') {\n        it('should globally throw unhandled errors on process', function (done) {\n            var originalException = process.listeners('uncaughtException');\n            process.removeAllListeners('uncaughtException');\n            process.once('uncaughtException', function (error) {\n                chai_1.expect(error).to.be.an('error', 'fail');\n                originalException.forEach(function (l) { return process.addListener('uncaughtException', l); });\n                done();\n            });\n            Observable.fromPromise(Promise.reject('bad'))\n                .subscribe(function (x) { done(new Error('should not be called')); }, function (e) {\n                chai_1.expect(e).to.equal('bad');\n                throw new Error('fail');\n            }, function () {\n                done(new Error('should not be called'));\n            });\n        });\n    }\n    else if (typeof window === 'object' &&\n        (Object.prototype.toString.call(window) === '[object global]' || Object.prototype.toString.call(window) === '[object Window]')) {\n        it('should globally throw unhandled errors on window', function (done) {\n            var expected = ['Uncaught fail', 'fail', 'Script error.', 'uncaught exception: fail'];\n            var current = window.onerror;\n            window.onerror = null;\n            var invoked = false;\n            function onException(e) {\n                if (invoked) {\n                    return;\n                }\n                invoked = true;\n                chai_1.expect(expected).to.contain(e);\n                window.onerror = current;\n                done();\n            }\n            window.onerror = onException;\n            Observable.fromPromise(Promise.reject('bad'))\n                .subscribe(function (x) { done(new Error('should not be called')); }, function (e) {\n                chai_1.expect(e).to.equal('bad');\n                throw 'fail';\n            }, function () {\n                done(new Error('should not be called'));\n            });\n        });\n    }\n});\n//# sourceMappingURL=from-promise-spec.js.map"
  },
  {
    "__docId__": 1225,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe349",
    "testId": 349,
    "memberof": "spec-js/observables/from-promise-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/from-promise-spec.js~describe349",
    "access": null,
    "description": "Observable.fromPromise",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{fromPromise}"
      }
    ],
    "testTargets": [
      "fromPromise"
    ]
  },
  {
    "__docId__": 1226,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it350",
    "testId": 350,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it350",
    "access": null,
    "description": "should emit one value from a resolved promise",
    "lineNumber": 8
  },
  {
    "__docId__": 1227,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it351",
    "testId": 351,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it351",
    "access": null,
    "description": "should raise error from a rejected promise",
    "lineNumber": 17
  },
  {
    "__docId__": 1228,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it352",
    "testId": 352,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it352",
    "access": null,
    "description": "should share the underlying promise with multiple subscribers",
    "lineNumber": 29
  },
  {
    "__docId__": 1229,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it353",
    "testId": 353,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it353",
    "access": null,
    "description": "should accept already-resolved Promise",
    "lineNumber": 45
  },
  {
    "__docId__": 1230,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it354",
    "testId": 354,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it354",
    "access": null,
    "description": "should emit a value from a resolved promise on a separate scheduler",
    "lineNumber": 59
  },
  {
    "__docId__": 1231,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it355",
    "testId": 355,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it355",
    "access": null,
    "description": "should raise error from a rejected promise on a separate scheduler",
    "lineNumber": 68
  },
  {
    "__docId__": 1232,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it356",
    "testId": 356,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it356",
    "access": null,
    "description": "should share the underlying promise with multiple subscribers on a separate scheduler",
    "lineNumber": 78
  },
  {
    "__docId__": 1233,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it357",
    "testId": 357,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it357",
    "access": null,
    "description": "should not emit, throw or complete if immediately unsubscribed",
    "lineNumber": 94
  },
  {
    "__docId__": 1234,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it358",
    "testId": 358,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it358",
    "access": null,
    "description": "should globally throw unhandled errors on process",
    "lineNumber": 110
  },
  {
    "__docId__": 1235,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it359",
    "testId": 359,
    "memberof": "spec-js/observables/from-promise-spec.js~describe349",
    "testDepth": 1,
    "longname": "spec-js/observables/from-promise-spec.js~describe349.it359",
    "access": null,
    "description": "should globally throw unhandled errors on window",
    "lineNumber": 129
  },
  {
    "__docId__": 1236,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/from-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/from-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {from} */\ndescribe('Observable.from', function () {\n    asDiagram('from([10, 20, 30])')('should create an observable from an array', function () {\n        var e1 = Observable.from([10, 20, 30])\n            .concatMap(function (x, i) { return Observable.of(x).delay(i === 0 ? 0 : 20, rxTestScheduler); });\n        var expected = 'x-y-(z|)';\n        expectObservable(e1).toBe(expected, { x: 10, y: 20, z: 30 });\n    });\n    it('should throw for non observable object', function () {\n        var r = function () {\n            Observable.from({}).subscribe();\n        };\n        chai_1.expect(r).to.throw();\n    });\n    it('should return T for ObservableLike objects', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var o1 = Observable.from([], Rx.Scheduler.asap);\n            var o2 = Observable.from(Observable.empty());\n            var o3 = Observable.from(new Promise(function (resolve) { return resolve(); }));\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should return T for arrays', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var o1 = Observable.from([], Rx.Scheduler.asap);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    var fakervable = function () {\n        var values = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            values[_i - 0] = arguments[_i];\n        }\n        return ((_a = {},\n            _a[Symbol.observable] = function () { return ({\n                subscribe: function (observer) {\n                    for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n                        var value = values_1[_i];\n                        observer.next(value);\n                    }\n                    observer.complete();\n                }\n            }); },\n            _a\n        ));\n        var _a;\n    };\n    var fakerator = function () {\n        var values = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            values[_i - 0] = arguments[_i];\n        }\n        return ((_a = {},\n            _a[Symbol.iterator] = function () {\n                var clone = values.slice();\n                return {\n                    next: function () { return ({\n                        done: clone.length <= 0,\n                        value: clone.shift()\n                    }); }\n                };\n            },\n            _a\n        ));\n        var _a;\n    };\n    var sources = [\n        { name: 'observable', value: Observable.of('x') },\n        { name: 'observable-like', value: fakervable('x') },\n        { name: 'array', value: ['x'] },\n        { name: 'promise', value: Promise.resolve('x') },\n        { name: 'iterator', value: fakerator('x') },\n        { name: 'array-like', value: (_a = {}, _a[0] = 'x', _a.length = 1, _a) },\n        { name: 'string', value: 'x' },\n        { name: 'arguments', value: function (x) { return arguments; }('x') },\n    ];\n    var _loop_1 = function(source) {\n        it(\"should accept \" + source.name, function (done) {\n            var nextInvoked = false;\n            Observable.from(source.value)\n                .subscribe(function (x) {\n                nextInvoked = true;\n                chai_1.expect(x).to.equal('x');\n            }, function (x) {\n                done(new Error('should not be called'));\n            }, function () {\n                chai_1.expect(nextInvoked).to.equal(true);\n                done();\n            });\n        });\n        it(\"should accept \" + source.name + \" and scheduler\", function (done) {\n            var nextInvoked = false;\n            Observable.from(source.value, Rx.Scheduler.async)\n                .subscribe(function (x) {\n                nextInvoked = true;\n                chai_1.expect(x).to.equal('x');\n            }, function (x) {\n                done(new Error('should not be called'));\n            }, function () {\n                chai_1.expect(nextInvoked).to.equal(true);\n                done();\n            });\n            chai_1.expect(nextInvoked).to.equal(false);\n        });\n    };\n    for (var _i = 0, sources_1 = sources; _i < sources_1.length; _i++) {\n        var source = sources_1[_i];\n        _loop_1(source);\n    }\n    var _a;\n});\n//# sourceMappingURL=from-spec.js.map"
  },
  {
    "__docId__": 1237,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe360",
    "testId": 360,
    "memberof": "spec-js/observables/from-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/from-spec.js~describe360",
    "access": null,
    "description": "Observable.from",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{from}"
      }
    ],
    "testTargets": [
      "from"
    ]
  },
  {
    "__docId__": 1238,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it361",
    "testId": 361,
    "memberof": "spec-js/observables/from-spec.js~describe360",
    "testDepth": 1,
    "longname": "spec-js/observables/from-spec.js~describe360.it361",
    "access": null,
    "description": "should throw for non observable object",
    "lineNumber": 13
  },
  {
    "__docId__": 1239,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it362",
    "testId": 362,
    "memberof": "spec-js/observables/from-spec.js~describe360",
    "testDepth": 1,
    "longname": "spec-js/observables/from-spec.js~describe360.it362",
    "access": null,
    "description": "should return T for ObservableLike objects",
    "lineNumber": 19
  },
  {
    "__docId__": 1240,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it363",
    "testId": 363,
    "memberof": "spec-js/observables/from-spec.js~describe360",
    "testDepth": 1,
    "longname": "spec-js/observables/from-spec.js~describe360.it363",
    "access": null,
    "description": "should return T for arrays",
    "lineNumber": 28
  },
  {
    "__docId__": 1241,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it364",
    "testId": 364,
    "memberof": "spec-js/observables/from-spec.js~describe360",
    "testDepth": 1,
    "longname": "spec-js/observables/from-spec.js~describe360.it364",
    "access": null,
    "lineNumber": 84
  },
  {
    "__docId__": 1242,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it365",
    "testId": 365,
    "memberof": "spec-js/observables/from-spec.js~describe360",
    "testDepth": 1,
    "longname": "spec-js/observables/from-spec.js~describe360.it365",
    "access": null,
    "lineNumber": 97
  },
  {
    "__docId__": 1243,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/fromEvent-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/fromEvent-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {fromEvent} */\ndescribe('Observable.fromEvent', function () {\n    asDiagram('fromEvent(element, \\'click\\')')('should create an observable of click on the element', function () {\n        var target = {\n            addEventListener: function (eventType, listener) {\n                Observable.timer(50, 20, rxTestScheduler)\n                    .mapTo('ev')\n                    .take(2)\n                    .concat(Observable.never())\n                    .subscribe(listener);\n            },\n            removeEventListener: function () { return void 0; },\n            dispatchEvent: function () { return void 0; },\n        };\n        var e1 = Observable.fromEvent(target, 'click');\n        var expected = '-----x-x---';\n        expectObservable(e1).toBe(expected, { x: 'ev' });\n    });\n    it('should setup an event observable on objects with \"on\" and \"off\" ', function () {\n        var onEventName;\n        var onHandler;\n        var offEventName;\n        var offHandler;\n        var obj = {\n            on: function (a, b) {\n                onEventName = a;\n                onHandler = b;\n            },\n            off: function (a, b) {\n                offEventName = a;\n                offHandler = b;\n            }\n        };\n        var subscription = Observable.fromEvent(obj, 'click')\n            .subscribe(function () {\n            //noop\n        });\n        subscription.unsubscribe();\n        chai_1.expect(onEventName).to.equal('click');\n        chai_1.expect(typeof onHandler).to.equal('function');\n        chai_1.expect(offEventName).to.equal(onEventName);\n        chai_1.expect(offHandler).to.equal(onHandler);\n    });\n    it('should setup an event observable on objects with \"addEventListener\" and \"removeEventListener\" ', function () {\n        var onEventName;\n        var onHandler;\n        var offEventName;\n        var offHandler;\n        var obj = {\n            addEventListener: function (a, b, useCapture) {\n                onEventName = a;\n                onHandler = b;\n            },\n            removeEventListener: function (a, b, useCapture) {\n                offEventName = a;\n                offHandler = b;\n            }\n        };\n        var subscription = Observable.fromEvent(obj, 'click')\n            .subscribe(function () {\n            //noop\n        });\n        subscription.unsubscribe();\n        chai_1.expect(onEventName).to.equal('click');\n        chai_1.expect(typeof onHandler).to.equal('function');\n        chai_1.expect(offEventName).to.equal(onEventName);\n        chai_1.expect(offHandler).to.equal(onHandler);\n    });\n    it('should setup an event observable on objects with \"addListener\" and \"removeListener\" ', function () {\n        var onEventName;\n        var onHandler;\n        var offEventName;\n        var offHandler;\n        var obj = {\n            addListener: function (a, b) {\n                onEventName = a;\n                onHandler = b;\n            },\n            removeListener: function (a, b) {\n                offEventName = a;\n                offHandler = b;\n            }\n        };\n        var subscription = Observable.fromEvent(obj, 'click')\n            .subscribe(function () {\n            //noop\n        });\n        subscription.unsubscribe();\n        chai_1.expect(onEventName).to.equal('click');\n        chai_1.expect(typeof onHandler).to.equal('function');\n        chai_1.expect(offEventName).to.equal(onEventName);\n        chai_1.expect(offHandler).to.equal(onHandler);\n    });\n    it('should error on invalid event targets', function () {\n        var obj = {\n            addListener: function () {\n                //noop\n            }\n        };\n        var subscribe = function () { return Observable.fromEvent(obj, 'click').subscribe(); };\n        chai_1.expect(subscribe).to.throw(TypeError, 'Invalid event target');\n    });\n    it('should pass through options to addEventListener', function () {\n        var actualOptions;\n        var expectedOptions = { capture: true, passive: true };\n        var obj = {\n            addEventListener: function (a, b, c) {\n                actualOptions = c;\n            },\n            removeEventListener: function (a, b, c) {\n                //noop\n            }\n        };\n        var subscription = Observable.fromEvent(obj, 'click', expectedOptions)\n            .subscribe(function () {\n            //noop\n        });\n        subscription.unsubscribe();\n        chai_1.expect(actualOptions).to.equal(expectedOptions);\n    });\n    it('should pass through events that occur', function (done) {\n        var send;\n        var obj = {\n            on: function (name, handler) {\n                send = handler;\n            },\n            off: function () {\n                //noop\n            }\n        };\n        Observable.fromEvent(obj, 'click').take(1)\n            .subscribe(function (e) {\n            chai_1.expect(e).to.equal('test');\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        send('test');\n    });\n    it('should pass through events that occur and use the selector if provided', function (done) {\n        var send;\n        var obj = {\n            on: function (name, handler) {\n                send = handler;\n            },\n            off: function () {\n                //noop\n            }\n        };\n        function selector(x) {\n            return x + '!';\n        }\n        Observable.fromEvent(obj, 'click', selector).take(1)\n            .subscribe(function (e) {\n            chai_1.expect(e).to.equal('test!');\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        send('test');\n    });\n    it('should not fail if no event arguments are passed and the selector does not return', function (done) {\n        var send;\n        var obj = {\n            on: function (name, handler) {\n                send = handler;\n            },\n            off: function () {\n                //noop\n            }\n        };\n        function selector() {\n            //noop\n        }\n        Observable.fromEvent(obj, 'click', selector).take(1)\n            .subscribe(function (e) {\n            chai_1.expect(e).not.exist;\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        send();\n    });\n    it('should return a value from the selector if no event arguments are passed', function (done) {\n        var send;\n        var obj = {\n            on: function (name, handler) {\n                send = handler;\n            },\n            off: function () {\n                //noop\n            }\n        };\n        function selector() {\n            return 'no arguments';\n        }\n        Observable.fromEvent(obj, 'click', selector).take(1)\n            .subscribe(function (e) {\n            chai_1.expect(e).to.equal('no arguments');\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        send();\n    });\n    it('should pass multiple arguments to selector from event emitter', function (done) {\n        var send;\n        var obj = {\n            on: function (name, handler) {\n                send = handler;\n            },\n            off: function () {\n                //noop\n            }\n        };\n        function selector(x, y, z) {\n            return [].slice.call(arguments);\n        }\n        Observable.fromEvent(obj, 'click', selector).take(1)\n            .subscribe(function (e) {\n            chai_1.expect(e).to.deep.equal([1, 2, 3]);\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        send(1, 2, 3);\n    });\n});\n//# sourceMappingURL=fromEvent-spec.js.map"
  },
  {
    "__docId__": 1244,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe366",
    "testId": 366,
    "memberof": "spec-js/observables/fromEvent-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366",
    "access": null,
    "description": "Observable.fromEvent",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{fromEvent}"
      }
    ],
    "testTargets": [
      "fromEvent"
    ]
  },
  {
    "__docId__": 1245,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it367",
    "testId": 367,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it367",
    "access": null,
    "description": "should setup an event observable on objects with \"on\" and \"off\" ",
    "lineNumber": 23
  },
  {
    "__docId__": 1246,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it368",
    "testId": 368,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it368",
    "access": null,
    "description": "should setup an event observable on objects with \"addEventListener\" and \"removeEventListener\" ",
    "lineNumber": 48
  },
  {
    "__docId__": 1247,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it369",
    "testId": 369,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it369",
    "access": null,
    "description": "should setup an event observable on objects with \"addListener\" and \"removeListener\" ",
    "lineNumber": 73
  },
  {
    "__docId__": 1248,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it370",
    "testId": 370,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it370",
    "access": null,
    "description": "should error on invalid event targets",
    "lineNumber": 98
  },
  {
    "__docId__": 1249,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it371",
    "testId": 371,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it371",
    "access": null,
    "description": "should pass through options to addEventListener",
    "lineNumber": 107
  },
  {
    "__docId__": 1250,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it372",
    "testId": 372,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it372",
    "access": null,
    "description": "should pass through events that occur",
    "lineNumber": 125
  },
  {
    "__docId__": 1251,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it373",
    "testId": 373,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it373",
    "access": null,
    "description": "should pass through events that occur and use the selector if provided",
    "lineNumber": 145
  },
  {
    "__docId__": 1252,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it374",
    "testId": 374,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it374",
    "access": null,
    "description": "should not fail if no event arguments are passed and the selector does not return",
    "lineNumber": 168
  },
  {
    "__docId__": 1253,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it375",
    "testId": 375,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it375",
    "access": null,
    "description": "should return a value from the selector if no event arguments are passed",
    "lineNumber": 191
  },
  {
    "__docId__": 1254,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it376",
    "testId": 376,
    "memberof": "spec-js/observables/fromEvent-spec.js~describe366",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEvent-spec.js~describe366.it376",
    "access": null,
    "description": "should pass multiple arguments to selector from event emitter",
    "lineNumber": 214
  },
  {
    "__docId__": 1255,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/fromEventPattern-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/fromEventPattern-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {fromEventPattern} */\ndescribe('Observable.fromEventPattern', function () {\n    asDiagram('fromEventPattern(addHandler, removeHandler)')('should create an observable from the handler API', function () {\n        function addHandler(h) {\n            Observable.timer(50, 20, rxTestScheduler)\n                .mapTo('ev')\n                .take(2)\n                .concat(Observable.never())\n                .subscribe(h);\n        }\n        var e1 = Observable.fromEventPattern(addHandler, function () { return void 0; });\n        var expected = '-----x-x---';\n        expectObservable(e1).toBe(expected, { x: 'ev' });\n    });\n    it('should call addHandler on subscription', function () {\n        var addHandlerCalledWith;\n        var addHandler = function (h) {\n            addHandlerCalledWith = h;\n        };\n        var removeHandler = function () {\n            //noop\n        };\n        Observable.fromEventPattern(addHandler, removeHandler)\n            .subscribe(function () {\n            //noop\n        });\n        chai_1.expect(addHandlerCalledWith).to.be.a('function');\n    });\n    it('should call removeHandler on unsubscription', function () {\n        var removeHandlerCalledWith;\n        var addHandler = function () {\n            //noop\n        };\n        var removeHandler = function (h) {\n            removeHandlerCalledWith = h;\n        };\n        var subscription = Observable.fromEventPattern(addHandler, removeHandler)\n            .subscribe(function () {\n            //noop\n        });\n        subscription.unsubscribe();\n        chai_1.expect(removeHandlerCalledWith).to.be.a('function');\n    });\n    it('should send errors in addHandler down the error path', function () {\n        Observable.fromEventPattern(function (h) {\n            throw 'bad';\n        }, function () {\n            //noop\n        }).subscribe(function () {\n            //noop\n        }, function (err) {\n            chai_1.expect(err).to.equal('bad');\n        });\n    });\n    it('should accept a selector that maps outgoing values', function (done) {\n        var target;\n        var trigger = function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i - 0] = arguments[_i];\n            }\n            if (target) {\n                target.apply(null, arguments);\n            }\n        };\n        var addHandler = function (handler) {\n            target = handler;\n        };\n        var removeHandler = function (handler) {\n            target = null;\n        };\n        var selector = function (a, b) {\n            return a + b + '!';\n        };\n        Observable.fromEventPattern(addHandler, removeHandler, selector).take(1)\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal('testme!');\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        trigger('test', 'me');\n    });\n    it('should send errors in the selector down the error path', function (done) {\n        var target;\n        var trigger = function (value) {\n            if (target) {\n                target(value);\n            }\n        };\n        var addHandler = function (handler) {\n            target = handler;\n        };\n        var removeHandler = function (handler) {\n            target = null;\n        };\n        var selector = function (x) {\n            throw 'bad';\n        };\n        Observable.fromEventPattern(addHandler, removeHandler, selector)\n            .subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (err) {\n            chai_1.expect(err).to.equal('bad');\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n        trigger('test');\n    });\n});\n//# sourceMappingURL=fromEventPattern-spec.js.map"
  },
  {
    "__docId__": 1256,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe377",
    "testId": 377,
    "memberof": "spec-js/observables/fromEventPattern-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/fromEventPattern-spec.js~describe377",
    "access": null,
    "description": "Observable.fromEventPattern",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{fromEventPattern}"
      }
    ],
    "testTargets": [
      "fromEventPattern"
    ]
  },
  {
    "__docId__": 1257,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it378",
    "testId": 378,
    "memberof": "spec-js/observables/fromEventPattern-spec.js~describe377",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEventPattern-spec.js~describe377.it378",
    "access": null,
    "description": "should call addHandler on subscription",
    "lineNumber": 19
  },
  {
    "__docId__": 1258,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it379",
    "testId": 379,
    "memberof": "spec-js/observables/fromEventPattern-spec.js~describe377",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEventPattern-spec.js~describe377.it379",
    "access": null,
    "description": "should call removeHandler on unsubscription",
    "lineNumber": 33
  },
  {
    "__docId__": 1259,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it380",
    "testId": 380,
    "memberof": "spec-js/observables/fromEventPattern-spec.js~describe377",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEventPattern-spec.js~describe377.it380",
    "access": null,
    "description": "should send errors in addHandler down the error path",
    "lineNumber": 48
  },
  {
    "__docId__": 1260,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it381",
    "testId": 381,
    "memberof": "spec-js/observables/fromEventPattern-spec.js~describe377",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEventPattern-spec.js~describe377.it381",
    "access": null,
    "description": "should accept a selector that maps outgoing values",
    "lineNumber": 59
  },
  {
    "__docId__": 1261,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it382",
    "testId": 382,
    "memberof": "spec-js/observables/fromEventPattern-spec.js~describe377",
    "testDepth": 1,
    "longname": "spec-js/observables/fromEventPattern-spec.js~describe377.it382",
    "access": null,
    "description": "should send errors in the selector down the error path",
    "lineNumber": 89
  },
  {
    "__docId__": 1262,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/generate-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/generate-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nrequire('../../dist/cjs/add/observable/generate');\nvar chai_1 = require('chai');\nvar Observable = Rx.Observable;\nfunction err() {\n    throw 'error';\n}\ndescribe('Observable.generate', function () {\n    asDiagram('generate(1, x => false, x => x + 1)')('should complete if condition does not meet', function () {\n        var source = Observable.generate(1, function (x) { return false; }, function (x) { return x + 1; });\n        var expected = '|';\n        expectObservable(source).toBe(expected);\n    });\n    asDiagram('generate(1, x => x == 1, x => x + 1)')('should produce first value immediately', function () {\n        var source = Observable.generate(1, function (x) { return x == 1; }, function (x) { return x + 1; });\n        var expected = '(1|)';\n        expectObservable(source).toBe(expected, { '1': 1 });\n    });\n    asDiagram('generate(1, x => x < 3, x => x + 1)')('should produce all values synchronously', function () {\n        var source = Observable.generate(1, function (x) { return x < 3; }, function (x) { return x + 1; });\n        var expected = '(12|)';\n        expectObservable(source).toBe(expected, { '1': 1, '2': 2 });\n    });\n    it('should use result selector', function () {\n        var source = Observable.generate(1, function (x) { return x < 3; }, function (x) { return x + 1; }, function (x) { return (x + 1).toString(); });\n        var expected = '(23|)';\n        expectObservable(source).toBe(expected);\n    });\n    it('should allow omit condition', function () {\n        var source = Observable.generate({\n            initialState: 1,\n            iterate: function (x) { return x + 1; },\n            resultSelector: function (x) { return x.toString(); }\n        }).take(5);\n        var expected = '(12345|)';\n        expectObservable(source).toBe(expected);\n    });\n    it('should stop producing when unsubscribed', function () {\n        var source = Observable.generate(1, function (x) { return x < 4; }, function (x) { return x + 1; });\n        var count = 0;\n        var subscriber = new Rx.Subscriber(function (x) {\n            count++;\n            if (x == 2) {\n                subscriber.unsubscribe();\n            }\n        });\n        source.subscribe(subscriber);\n        chai_1.expect(count).to.be.equal(2);\n    });\n    it('should accept a scheduler', function () {\n        var source = Observable.generate({\n            initialState: 1,\n            condition: function (x) { return x < 4; },\n            iterate: function (x) { return x + 1; },\n            resultSelector: function (x) { return x; },\n            scheduler: rxTestScheduler\n        });\n        var expected = '(123|)';\n        var count = 0;\n        source.subscribe(function (x) { return count++; });\n        chai_1.expect(count).to.be.equal(0);\n        rxTestScheduler.flush();\n        chai_1.expect(count).to.be.equal(3);\n        expectObservable(source).toBe(expected, { '1': 1, '2': 2, '3': 3 });\n    });\n    it('should allow minimal possible options', function () {\n        var source = Observable.generate({\n            initialState: 1,\n            iterate: function (x) { return x * 2; }\n        }).take(3);\n        var expected = '(124|)';\n        expectObservable(source).toBe(expected, { '1': 1, '2': 2, '4': 4 });\n    });\n    it('should emit error if result selector throws', function () {\n        var source = Observable.generate({\n            initialState: 1,\n            iterate: function (x) { return x * 2; },\n            resultSelector: err\n        });\n        var expected = '(#)';\n        expectObservable(source).toBe(expected);\n    });\n    it('should emit error if result selector throws on scheduler', function () {\n        var source = Observable.generate({\n            initialState: 1,\n            iterate: function (x) { return x * 2; },\n            resultSelector: err,\n            scheduler: rxTestScheduler\n        });\n        var expected = '(#)';\n        expectObservable(source).toBe(expected);\n    });\n    it('should emit error after first value if iterate function throws', function () {\n        var source = Observable.generate({\n            initialState: 1,\n            iterate: err\n        });\n        var expected = '(1#)';\n        expectObservable(source).toBe(expected, { '1': 1 });\n    });\n    it('should emit error after first value if iterate function throws on scheduler', function () {\n        var source = Observable.generate({\n            initialState: 1,\n            iterate: err,\n            scheduler: rxTestScheduler\n        });\n        var expected = '(1#)';\n        expectObservable(source).toBe(expected, { '1': 1 });\n    });\n    it('should emit error if condition function throws', function () {\n        var source = Observable.generate({\n            initialState: 1,\n            iterate: function (x) { return x + 1; },\n            condition: err\n        });\n        var expected = '(#)';\n        expectObservable(source).toBe(expected);\n    });\n    it('should emit error if condition function throws on scheduler', function () {\n        var source = Observable.generate({\n            initialState: 1,\n            iterate: function (x) { return x + 1; },\n            condition: err,\n            scheduler: rxTestScheduler\n        });\n        var expected = '(#)';\n        expectObservable(source).toBe(expected);\n    });\n});\n//# sourceMappingURL=generate-spec.js.map"
  },
  {
    "__docId__": 1263,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe383",
    "testId": 383,
    "memberof": "spec-js/observables/generate-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/generate-spec.js~describe383",
    "access": null,
    "description": "Observable.generate",
    "lineNumber": 9
  },
  {
    "__docId__": 1264,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it384",
    "testId": 384,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it384",
    "access": null,
    "description": "should use result selector",
    "lineNumber": 25
  },
  {
    "__docId__": 1265,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it385",
    "testId": 385,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it385",
    "access": null,
    "description": "should allow omit condition",
    "lineNumber": 30
  },
  {
    "__docId__": 1266,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it386",
    "testId": 386,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it386",
    "access": null,
    "description": "should stop producing when unsubscribed",
    "lineNumber": 39
  },
  {
    "__docId__": 1267,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it387",
    "testId": 387,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it387",
    "access": null,
    "description": "should accept a scheduler",
    "lineNumber": 51
  },
  {
    "__docId__": 1268,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it388",
    "testId": 388,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it388",
    "access": null,
    "description": "should allow minimal possible options",
    "lineNumber": 67
  },
  {
    "__docId__": 1269,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it389",
    "testId": 389,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it389",
    "access": null,
    "description": "should emit error if result selector throws",
    "lineNumber": 75
  },
  {
    "__docId__": 1270,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it390",
    "testId": 390,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it390",
    "access": null,
    "description": "should emit error if result selector throws on scheduler",
    "lineNumber": 84
  },
  {
    "__docId__": 1271,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it391",
    "testId": 391,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it391",
    "access": null,
    "description": "should emit error after first value if iterate function throws",
    "lineNumber": 94
  },
  {
    "__docId__": 1272,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it392",
    "testId": 392,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it392",
    "access": null,
    "description": "should emit error after first value if iterate function throws on scheduler",
    "lineNumber": 102
  },
  {
    "__docId__": 1273,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it393",
    "testId": 393,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it393",
    "access": null,
    "description": "should emit error if condition function throws",
    "lineNumber": 111
  },
  {
    "__docId__": 1274,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it394",
    "testId": 394,
    "memberof": "spec-js/observables/generate-spec.js~describe383",
    "testDepth": 1,
    "longname": "spec-js/observables/generate-spec.js~describe383.it394",
    "access": null,
    "description": "should emit error if condition function throws on scheduler",
    "lineNumber": 120
  },
  {
    "__docId__": 1275,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/if-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/if-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\ndescribe('Observable.if', function () {\n    it('should subscribe to thenSource when the conditional returns true', function () {\n        var e1 = Observable.if(function () { return true; }, Observable.of('a'));\n        var expected = '(a|)';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should subscribe to elseSource when the conditional returns false', function () {\n        var e1 = Observable.if(function () { return false; }, Observable.of('a'), Observable.of('b'));\n        var expected = '(b|)';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should complete without an elseSource when the conditional returns false', function () {\n        var e1 = Observable.if(function () { return false; }, Observable.of('a'));\n        var expected = '|';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should raise error when conditional throws', function () {\n        var e1 = Observable.if((function () {\n            throw 'error';\n        }), Observable.of('a'));\n        var expected = '#';\n        expectObservable(e1).toBe(expected);\n    });\n    it('should accept resolved promise as thenSource', function (done) {\n        var expected = 42;\n        var e1 = Observable.if(function () { return true; }, new Promise(function (resolve) { resolve(expected); }));\n        e1.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should accept resolved promise as elseSource', function (done) {\n        var expected = 42;\n        var e1 = Observable.if(function () { return false; }, Observable.of('a'), new Promise(function (resolve) { resolve(expected); }));\n        e1.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should accept rejected promise as elseSource', function (done) {\n        var expected = 42;\n        var e1 = Observable.if(function () { return false; }, Observable.of('a'), new Promise(function (resolve, reject) { reject(expected); }));\n        e1.subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.equal(expected);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should accept rejected promise as thenSource', function (done) {\n        var expected = 42;\n        var e1 = Observable.if(function () { return true; }, new Promise(function (resolve, reject) { reject(expected); }));\n        e1.subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.equal(expected);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n});\n//# sourceMappingURL=if-spec.js.map"
  },
  {
    "__docId__": 1276,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe395",
    "testId": 395,
    "memberof": "spec-js/observables/if-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/if-spec.js~describe395",
    "access": null,
    "description": "Observable.if",
    "lineNumber": 5
  },
  {
    "__docId__": 1277,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it396",
    "testId": 396,
    "memberof": "spec-js/observables/if-spec.js~describe395",
    "testDepth": 1,
    "longname": "spec-js/observables/if-spec.js~describe395.it396",
    "access": null,
    "description": "should subscribe to thenSource when the conditional returns true",
    "lineNumber": 6
  },
  {
    "__docId__": 1278,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it397",
    "testId": 397,
    "memberof": "spec-js/observables/if-spec.js~describe395",
    "testDepth": 1,
    "longname": "spec-js/observables/if-spec.js~describe395.it397",
    "access": null,
    "description": "should subscribe to elseSource when the conditional returns false",
    "lineNumber": 11
  },
  {
    "__docId__": 1279,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it398",
    "testId": 398,
    "memberof": "spec-js/observables/if-spec.js~describe395",
    "testDepth": 1,
    "longname": "spec-js/observables/if-spec.js~describe395.it398",
    "access": null,
    "description": "should complete without an elseSource when the conditional returns false",
    "lineNumber": 16
  },
  {
    "__docId__": 1280,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it399",
    "testId": 399,
    "memberof": "spec-js/observables/if-spec.js~describe395",
    "testDepth": 1,
    "longname": "spec-js/observables/if-spec.js~describe395.it399",
    "access": null,
    "description": "should raise error when conditional throws",
    "lineNumber": 21
  },
  {
    "__docId__": 1281,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it400",
    "testId": 400,
    "memberof": "spec-js/observables/if-spec.js~describe395",
    "testDepth": 1,
    "longname": "spec-js/observables/if-spec.js~describe395.it400",
    "access": null,
    "description": "should accept resolved promise as thenSource",
    "lineNumber": 28
  },
  {
    "__docId__": 1282,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it401",
    "testId": 401,
    "memberof": "spec-js/observables/if-spec.js~describe395",
    "testDepth": 1,
    "longname": "spec-js/observables/if-spec.js~describe395.it401",
    "access": null,
    "description": "should accept resolved promise as elseSource",
    "lineNumber": 39
  },
  {
    "__docId__": 1283,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it402",
    "testId": 402,
    "memberof": "spec-js/observables/if-spec.js~describe395",
    "testDepth": 1,
    "longname": "spec-js/observables/if-spec.js~describe395.it402",
    "access": null,
    "description": "should accept rejected promise as elseSource",
    "lineNumber": 50
  },
  {
    "__docId__": 1284,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it403",
    "testId": 403,
    "memberof": "spec-js/observables/if-spec.js~describe395",
    "testDepth": 1,
    "longname": "spec-js/observables/if-spec.js~describe395.it403",
    "access": null,
    "description": "should accept rejected promise as thenSource",
    "lineNumber": 62
  },
  {
    "__docId__": 1285,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/interval-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/interval-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar asap = Rx.Scheduler.asap;\nvar queue = Rx.Scheduler.queue;\nvar animationFrame = Rx.Scheduler.animationFrame;\n/** @test {interval} */\ndescribe('Observable.interval', function () {\n    asDiagram('interval(1000)')('should create an observable emitting periodically', function () {\n        var e1 = Observable.interval(20, rxTestScheduler)\n            .take(6) // make it actually finite, so it can be rendered\n            .concat(Observable.never()); // but pretend it's infinite by not completing\n        var expected = '--a-b-c-d-e-f-';\n        var values = {\n            a: 0,\n            b: 1,\n            c: 2,\n            d: 3,\n            e: 4,\n            f: 5,\n        };\n        expectObservable(e1).toBe(expected, values);\n    });\n    it('should set up an interval', function () {\n        var expected = '----------0---------1---------2---------3---------4---------5---------6-----';\n        expectObservable(Observable.interval(100, rxTestScheduler)).toBe(expected, [0, 1, 2, 3, 4, 5, 6]);\n    });\n    it('should specify default scheduler if incorrect scheduler specified', function () {\n        var scheduler = Observable.interval(10, sinon.stub()).scheduler;\n        chai_1.expect(scheduler).to.equal(Rx.Scheduler.async);\n    });\n    it('should emit when relative interval set to zero', function () {\n        var e1 = Observable.interval(0, rxTestScheduler).take(7);\n        var expected = '(0123456|)';\n        expectObservable(e1).toBe(expected, [0, 1, 2, 3, 4, 5, 6]);\n    });\n    it('should consider negative interval as zero', function () {\n        var e1 = Observable.interval(-1, rxTestScheduler).take(7);\n        var expected = '(0123456|)';\n        expectObservable(e1).toBe(expected, [0, 1, 2, 3, 4, 5, 6]);\n    });\n    it('should emit values until unsubscribed', function (done) {\n        var values = [];\n        var expected = [0, 1, 2, 3, 4, 5, 6];\n        var e1 = Observable.interval(5);\n        var subscription = e1.subscribe(function (x) {\n            values.push(x);\n            if (x === 6) {\n                subscription.unsubscribe();\n                chai_1.expect(values).to.deep.equal(expected);\n                done();\n            }\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should create an observable emitting periodically with the AsapScheduler', function (done) {\n        var sandbox = sinon.sandbox.create();\n        var fakeTimer = sandbox.useFakeTimers();\n        var interval = 10;\n        var events = [0, 1, 2, 3, 4, 5];\n        var source = Observable.interval(interval, asap).take(6);\n        source.subscribe({\n            next: function (x) {\n                chai_1.expect(x).to.equal(events.shift());\n            },\n            error: function (e) {\n                sandbox.restore();\n                done(e);\n            },\n            complete: function () {\n                chai_1.expect(asap.actions.length).to.equal(0);\n                chai_1.expect(asap.scheduled).to.equal(undefined);\n                sandbox.restore();\n                done();\n            }\n        });\n        var i = -1, n = events.length;\n        while (++i < n) {\n            fakeTimer.tick(interval);\n        }\n    });\n    it('should create an observable emitting periodically with the QueueScheduler', function (done) {\n        var sandbox = sinon.sandbox.create();\n        var fakeTimer = sandbox.useFakeTimers();\n        var interval = 10;\n        var events = [0, 1, 2, 3, 4, 5];\n        var source = Observable.interval(interval, queue).take(6);\n        source.subscribe({\n            next: function (x) {\n                chai_1.expect(x).to.equal(events.shift());\n            },\n            error: function (e) {\n                sandbox.restore();\n                done(e);\n            },\n            complete: function () {\n                chai_1.expect(queue.actions.length).to.equal(0);\n                chai_1.expect(queue.scheduled).to.equal(undefined);\n                sandbox.restore();\n                done();\n            }\n        });\n        var i = -1, n = events.length;\n        while (++i < n) {\n            fakeTimer.tick(interval);\n        }\n    });\n    it('should create an observable emitting periodically with the AnimationFrameScheduler', function (done) {\n        var sandbox = sinon.sandbox.create();\n        var fakeTimer = sandbox.useFakeTimers();\n        var interval = 10;\n        var events = [0, 1, 2, 3, 4, 5];\n        var source = Observable.interval(interval, animationFrame).take(6);\n        source.subscribe({\n            next: function (x) {\n                chai_1.expect(x).to.equal(events.shift());\n            },\n            error: function (e) {\n                sandbox.restore();\n                done(e);\n            },\n            complete: function () {\n                chai_1.expect(animationFrame.actions.length).to.equal(0);\n                chai_1.expect(animationFrame.scheduled).to.equal(undefined);\n                sandbox.restore();\n                done();\n            }\n        });\n        var i = -1, n = events.length;\n        while (++i < n) {\n            fakeTimer.tick(interval);\n        }\n    });\n});\n//# sourceMappingURL=interval-spec.js.map"
  },
  {
    "__docId__": 1286,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe404",
    "testId": 404,
    "memberof": "spec-js/observables/interval-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/interval-spec.js~describe404",
    "access": null,
    "description": "Observable.interval",
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{interval}"
      }
    ],
    "testTargets": [
      "interval"
    ]
  },
  {
    "__docId__": 1287,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it405",
    "testId": 405,
    "memberof": "spec-js/observables/interval-spec.js~describe404",
    "testDepth": 1,
    "longname": "spec-js/observables/interval-spec.js~describe404.it405",
    "access": null,
    "description": "should set up an interval",
    "lineNumber": 26
  },
  {
    "__docId__": 1288,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it406",
    "testId": 406,
    "memberof": "spec-js/observables/interval-spec.js~describe404",
    "testDepth": 1,
    "longname": "spec-js/observables/interval-spec.js~describe404.it406",
    "access": null,
    "description": "should specify default scheduler if incorrect scheduler specified",
    "lineNumber": 30
  },
  {
    "__docId__": 1289,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it407",
    "testId": 407,
    "memberof": "spec-js/observables/interval-spec.js~describe404",
    "testDepth": 1,
    "longname": "spec-js/observables/interval-spec.js~describe404.it407",
    "access": null,
    "description": "should emit when relative interval set to zero",
    "lineNumber": 34
  },
  {
    "__docId__": 1290,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it408",
    "testId": 408,
    "memberof": "spec-js/observables/interval-spec.js~describe404",
    "testDepth": 1,
    "longname": "spec-js/observables/interval-spec.js~describe404.it408",
    "access": null,
    "description": "should consider negative interval as zero",
    "lineNumber": 39
  },
  {
    "__docId__": 1291,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it409",
    "testId": 409,
    "memberof": "spec-js/observables/interval-spec.js~describe404",
    "testDepth": 1,
    "longname": "spec-js/observables/interval-spec.js~describe404.it409",
    "access": null,
    "description": "should emit values until unsubscribed",
    "lineNumber": 44
  },
  {
    "__docId__": 1292,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it410",
    "testId": 410,
    "memberof": "spec-js/observables/interval-spec.js~describe404",
    "testDepth": 1,
    "longname": "spec-js/observables/interval-spec.js~describe404.it410",
    "access": null,
    "description": "should create an observable emitting periodically with the AsapScheduler",
    "lineNumber": 61
  },
  {
    "__docId__": 1293,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it411",
    "testId": 411,
    "memberof": "spec-js/observables/interval-spec.js~describe404",
    "testDepth": 1,
    "longname": "spec-js/observables/interval-spec.js~describe404.it411",
    "access": null,
    "description": "should create an observable emitting periodically with the QueueScheduler",
    "lineNumber": 87
  },
  {
    "__docId__": 1294,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it412",
    "testId": 412,
    "memberof": "spec-js/observables/interval-spec.js~describe404",
    "testDepth": 1,
    "longname": "spec-js/observables/interval-spec.js~describe404.it412",
    "access": null,
    "description": "should create an observable emitting periodically with the AnimationFrameScheduler",
    "lineNumber": 113
  },
  {
    "__docId__": 1295,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/merge-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/merge-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {merge} */\ndescribe('Observable.merge(...observables)', function () {\n    it('should merge cold and cold', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^                      !';\n        var expected = '---a--x--b--y--c--z----|';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should return itself when try to merge single observable', function () {\n        var e1 = Observable.of('a');\n        var result = Observable.merge(e1);\n        chai_1.expect(e1).to.equal(result);\n    });\n    it('should merge hot and hot', function () {\n        var e1 = hot('---a---^-b-----c----|');\n        var e1subs = '^            !';\n        var e2 = hot('-----x-^----y-----z----|');\n        var e2subs = '^               !';\n        var expected = '--b--y--c--z----|';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge hot and cold', function () {\n        var e1 = hot('---a-^---b-----c----|');\n        var e1subs = '^              !';\n        var e2 = cold('--x-----y-----z----|');\n        var e2subs = '^                  !';\n        var expected = '--x-b---y-c---z----|';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge parallel emissions', function () {\n        var e1 = hot('---a----b----c----|');\n        var e1subs = '^                 !';\n        var e2 = hot('---x----y----z----|');\n        var e2subs = '^                 !';\n        var expected = '---(ax)-(by)-(cz)-|';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge empty and empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe('|');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge three empties', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var e3 = cold('|');\n        var e3subs = '(^!)';\n        var result = Observable.merge(e1, e2, e3);\n        expectObservable(result).toBe('|');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should merge never and empty', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe('-');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge never and never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('-');\n        var e2subs = '^';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe('-');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge empty and throw', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('#');\n        var e2subs = '(^!)';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe('#');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge hot and throw', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '(^!)';\n        var e2 = cold('#');\n        var e2subs = '(^!)';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe('#');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge never and throw', function () {\n        var e1 = cold('-');\n        var e1subs = '(^!)';\n        var e2 = cold('#');\n        var e2subs = '(^!)';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe('#');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge empty and eventual error', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = hot('-------#');\n        var e2subs = '^------!';\n        var expected = '-------#';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge hot and error', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^      !    ';\n        var e2 = hot('-------#    ');\n        var e2subs = '^      !    ';\n        var expected = '--a--b-#    ';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge never and error', function () {\n        var e1 = hot('-');\n        var e1subs = '^      !';\n        var e2 = hot('-------#');\n        var e2subs = '^      !';\n        var expected = '-------#';\n        var result = Observable.merge(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n});\ndescribe('Observable.merge(...observables, Scheduler, number)', function () {\n    it('should handle concurrency limits', function () {\n        var e1 = cold('---a---b---c---|');\n        var e2 = cold('-d---e---f--|');\n        var e3 = cold('---x---y---z---|');\n        var expected = '-d-a-e-b-f-c---x---y---z---|';\n        expectObservable(Observable.merge(e1, e2, e3, 2)).toBe(expected);\n    });\n    it('should handle scheduler', function () {\n        var e1 = Observable.of('a');\n        var e2 = Observable.of('b').delay(20, rxTestScheduler);\n        var expected = 'a-(b|)';\n        expectObservable(Observable.merge(e1, e2, rxTestScheduler)).toBe(expected);\n    });\n    it('should handle scheduler with concurrency limits', function () {\n        var e1 = cold('---a---b---c---|');\n        var e2 = cold('-d---e---f--|');\n        var e3 = cold('---x---y---z---|');\n        var expected = '-d-a-e-b-f-c---x---y---z---|';\n        expectObservable(Observable.merge(e1, e2, e3, 2, rxTestScheduler)).toBe(expected);\n    });\n    it('should use the scheduler even when one Observable is merged', function (done) {\n        var e1Subscribed = false;\n        var e1 = Observable.defer(function () {\n            e1Subscribed = true;\n            return Observable.of('a');\n        });\n        Observable\n            .merge(e1, Rx.Scheduler.async)\n            .subscribe({\n            error: done,\n            complete: function () {\n                chai_1.expect(e1Subscribed).to.be.true;\n                done();\n            }\n        });\n        chai_1.expect(e1Subscribed).to.be.false;\n    });\n});\n//# sourceMappingURL=merge-spec.js.map"
  },
  {
    "__docId__": 1296,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe413",
    "testId": 413,
    "memberof": "spec-js/observables/merge-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/merge-spec.js~describe413",
    "access": null,
    "description": "Observable.merge(...observables)",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{merge}"
      }
    ],
    "testTargets": [
      "merge"
    ]
  },
  {
    "__docId__": 1297,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it414",
    "testId": 414,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it414",
    "access": null,
    "description": "should merge cold and cold",
    "lineNumber": 7
  },
  {
    "__docId__": 1298,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it415",
    "testId": 415,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it415",
    "access": null,
    "description": "should return itself when try to merge single observable",
    "lineNumber": 18
  },
  {
    "__docId__": 1299,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it416",
    "testId": 416,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it416",
    "access": null,
    "description": "should merge hot and hot",
    "lineNumber": 23
  },
  {
    "__docId__": 1300,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it417",
    "testId": 417,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it417",
    "access": null,
    "description": "should merge hot and cold",
    "lineNumber": 34
  },
  {
    "__docId__": 1301,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it418",
    "testId": 418,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it418",
    "access": null,
    "description": "should merge parallel emissions",
    "lineNumber": 45
  },
  {
    "__docId__": 1302,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it419",
    "testId": 419,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it419",
    "access": null,
    "description": "should merge empty and empty",
    "lineNumber": 56
  },
  {
    "__docId__": 1303,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it420",
    "testId": 420,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it420",
    "access": null,
    "description": "should merge three empties",
    "lineNumber": 66
  },
  {
    "__docId__": 1304,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it421",
    "testId": 421,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it421",
    "access": null,
    "description": "should merge never and empty",
    "lineNumber": 79
  },
  {
    "__docId__": 1305,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it422",
    "testId": 422,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it422",
    "access": null,
    "description": "should merge never and never",
    "lineNumber": 89
  },
  {
    "__docId__": 1306,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it423",
    "testId": 423,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it423",
    "access": null,
    "description": "should merge empty and throw",
    "lineNumber": 99
  },
  {
    "__docId__": 1307,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it424",
    "testId": 424,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it424",
    "access": null,
    "description": "should merge hot and throw",
    "lineNumber": 109
  },
  {
    "__docId__": 1308,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it425",
    "testId": 425,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it425",
    "access": null,
    "description": "should merge never and throw",
    "lineNumber": 119
  },
  {
    "__docId__": 1309,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it426",
    "testId": 426,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it426",
    "access": null,
    "description": "should merge empty and eventual error",
    "lineNumber": 129
  },
  {
    "__docId__": 1310,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it427",
    "testId": 427,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it427",
    "access": null,
    "description": "should merge hot and error",
    "lineNumber": 140
  },
  {
    "__docId__": 1311,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it428",
    "testId": 428,
    "memberof": "spec-js/observables/merge-spec.js~describe413",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe413.it428",
    "access": null,
    "description": "should merge never and error",
    "lineNumber": 151
  },
  {
    "__docId__": 1312,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe429",
    "testId": 429,
    "memberof": "spec-js/observables/merge-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/merge-spec.js~describe429",
    "access": null,
    "description": "Observable.merge(...observables, Scheduler, number)",
    "lineNumber": 163
  },
  {
    "__docId__": 1313,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it430",
    "testId": 430,
    "memberof": "spec-js/observables/merge-spec.js~describe429",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe429.it430",
    "access": null,
    "description": "should handle concurrency limits",
    "lineNumber": 164
  },
  {
    "__docId__": 1314,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it431",
    "testId": 431,
    "memberof": "spec-js/observables/merge-spec.js~describe429",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe429.it431",
    "access": null,
    "description": "should handle scheduler",
    "lineNumber": 171
  },
  {
    "__docId__": 1315,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it432",
    "testId": 432,
    "memberof": "spec-js/observables/merge-spec.js~describe429",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe429.it432",
    "access": null,
    "description": "should handle scheduler with concurrency limits",
    "lineNumber": 177
  },
  {
    "__docId__": 1316,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it433",
    "testId": 433,
    "memberof": "spec-js/observables/merge-spec.js~describe429",
    "testDepth": 1,
    "longname": "spec-js/observables/merge-spec.js~describe429.it433",
    "access": null,
    "description": "should use the scheduler even when one Observable is merged",
    "lineNumber": 184
  },
  {
    "__docId__": 1317,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/never-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/never-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {never} */\ndescribe('Observable.never', function () {\n    asDiagram('never')('should create a cold observable that never emits', function () {\n        var expected = '-';\n        var e1 = Observable.never();\n        expectObservable(e1).toBe(expected);\n    });\n});\n//# sourceMappingURL=never-spec.js.map"
  },
  {
    "__docId__": 1318,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe434",
    "testId": 434,
    "memberof": "spec-js/observables/never-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/never-spec.js~describe434",
    "access": null,
    "description": "Observable.never",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{never}"
      }
    ],
    "testTargets": [
      "never"
    ]
  },
  {
    "__docId__": 1319,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/of-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/of-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar ArrayObservable_1 = require('../../dist/cjs/observable/ArrayObservable');\nvar ScalarObservable_1 = require('../../dist/cjs/observable/ScalarObservable');\nvar EmptyObservable_1 = require('../../dist/cjs/observable/EmptyObservable');\nvar Observable = Rx.Observable;\n/** @test {of} */\ndescribe('Observable.of', function () {\n    asDiagram('of(1, 2, 3)')('should create a cold observable that emits 1, 2, 3', function () {\n        var e1 = Observable.of(1, 2, 3)\n            .concatMap(function (x, i) { return Observable.of(x).delay(i === 0 ? 0 : 20, rxTestScheduler); });\n        var expected = 'x-y-(z|)';\n        expectObservable(e1).toBe(expected, { x: 1, y: 2, z: 3 });\n    });\n    it('should create an observable from the provided values', function (done) {\n        var x = { foo: 'bar' };\n        var expected = [1, 'a', x];\n        var i = 0;\n        Observable.of(1, 'a', x)\n            .subscribe(function (y) {\n            chai_1.expect(y).to.equal(expected[i++]);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should return a scalar observable if only passed one value', function () {\n        var obs = Observable.of('one');\n        chai_1.expect(obs instanceof ScalarObservable_1.ScalarObservable).to.be.true;\n    });\n    it('should return a scalar observable if only passed one value and a scheduler', function () {\n        var obs = Observable.of('one', Rx.Scheduler.queue);\n        chai_1.expect(obs instanceof ScalarObservable_1.ScalarObservable).to.be.true;\n    });\n    it('should return an array observable if passed many values', function () {\n        var obs = Observable.of('one', 'two', 'three');\n        chai_1.expect(obs instanceof ArrayObservable_1.ArrayObservable).to.be.true;\n    });\n    it('should return an empty observable if passed no values', function () {\n        var obs = Observable.of();\n        chai_1.expect(obs instanceof EmptyObservable_1.EmptyObservable).to.be.true;\n    });\n    it('should return an empty observable if passed only a scheduler', function () {\n        var obs = Observable.of(Rx.Scheduler.queue);\n        chai_1.expect(obs instanceof EmptyObservable_1.EmptyObservable).to.be.true;\n    });\n    it('should emit one value', function (done) {\n        var calls = 0;\n        Observable.of(42).subscribe(function (x) {\n            chai_1.expect(++calls).to.equal(1);\n            chai_1.expect(x).to.equal(42);\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should handle an Observable as the only value', function () {\n        var source = Observable.of(Observable.of('a', 'b', 'c', rxTestScheduler), rxTestScheduler);\n        chai_1.expect(source instanceof ScalarObservable_1.ScalarObservable).to.be.true;\n        var result = source.concatAll();\n        expectObservable(result).toBe('(abc|)');\n    });\n    it('should handle many Observable as the given values', function () {\n        var source = Observable.of(Observable.of('a', 'b', 'c', rxTestScheduler), Observable.of('d', 'e', 'f', rxTestScheduler), rxTestScheduler);\n        chai_1.expect(source instanceof ArrayObservable_1.ArrayObservable).to.be.true;\n        var result = source.concatAll();\n        expectObservable(result).toBe('(abcdef|)');\n    });\n});\n//# sourceMappingURL=of-spec.js.map"
  },
  {
    "__docId__": 1320,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe435",
    "testId": 435,
    "memberof": "spec-js/observables/of-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/of-spec.js~describe435",
    "access": null,
    "description": "Observable.of",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{of}"
      }
    ],
    "testTargets": [
      "of"
    ]
  },
  {
    "__docId__": 1321,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it436",
    "testId": 436,
    "memberof": "spec-js/observables/of-spec.js~describe435",
    "testDepth": 1,
    "longname": "spec-js/observables/of-spec.js~describe435.it436",
    "access": null,
    "description": "should create an observable from the provided values",
    "lineNumber": 16
  },
  {
    "__docId__": 1322,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it437",
    "testId": 437,
    "memberof": "spec-js/observables/of-spec.js~describe435",
    "testDepth": 1,
    "longname": "spec-js/observables/of-spec.js~describe435.it437",
    "access": null,
    "description": "should return a scalar observable if only passed one value",
    "lineNumber": 29
  },
  {
    "__docId__": 1323,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it438",
    "testId": 438,
    "memberof": "spec-js/observables/of-spec.js~describe435",
    "testDepth": 1,
    "longname": "spec-js/observables/of-spec.js~describe435.it438",
    "access": null,
    "description": "should return a scalar observable if only passed one value and a scheduler",
    "lineNumber": 33
  },
  {
    "__docId__": 1324,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it439",
    "testId": 439,
    "memberof": "spec-js/observables/of-spec.js~describe435",
    "testDepth": 1,
    "longname": "spec-js/observables/of-spec.js~describe435.it439",
    "access": null,
    "description": "should return an array observable if passed many values",
    "lineNumber": 37
  },
  {
    "__docId__": 1325,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it440",
    "testId": 440,
    "memberof": "spec-js/observables/of-spec.js~describe435",
    "testDepth": 1,
    "longname": "spec-js/observables/of-spec.js~describe435.it440",
    "access": null,
    "description": "should return an empty observable if passed no values",
    "lineNumber": 41
  },
  {
    "__docId__": 1326,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it441",
    "testId": 441,
    "memberof": "spec-js/observables/of-spec.js~describe435",
    "testDepth": 1,
    "longname": "spec-js/observables/of-spec.js~describe435.it441",
    "access": null,
    "description": "should return an empty observable if passed only a scheduler",
    "lineNumber": 45
  },
  {
    "__docId__": 1327,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it442",
    "testId": 442,
    "memberof": "spec-js/observables/of-spec.js~describe435",
    "testDepth": 1,
    "longname": "spec-js/observables/of-spec.js~describe435.it442",
    "access": null,
    "description": "should emit one value",
    "lineNumber": 49
  },
  {
    "__docId__": 1328,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it443",
    "testId": 443,
    "memberof": "spec-js/observables/of-spec.js~describe435",
    "testDepth": 1,
    "longname": "spec-js/observables/of-spec.js~describe435.it443",
    "access": null,
    "description": "should handle an Observable as the only value",
    "lineNumber": 60
  },
  {
    "__docId__": 1329,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it444",
    "testId": 444,
    "memberof": "spec-js/observables/of-spec.js~describe435",
    "testDepth": 1,
    "longname": "spec-js/observables/of-spec.js~describe435.it444",
    "access": null,
    "description": "should handle many Observable as the given values",
    "lineNumber": 66
  },
  {
    "__docId__": 1330,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/onErrorResumeNext-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/onErrorResumeNext-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\ndescribe('Observable.onErrorResumeNext', function () {\n    it('should continue with observables', function () {\n        var source = hot('--a--b--#');\n        var next1 = cold('--c--d--#');\n        var next2 = cold('--e--#');\n        var next3 = cold('--f--g--|');\n        var subs = '^                            !';\n        var expected = '--a--b----c--d----e----f--g--|';\n        expectObservable(Observable.onErrorResumeNext(source, next1, next2, next3)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should continue array of observables', function () {\n        var source = hot('--a--b--#');\n        var next = [source,\n            cold('--c--d--#'),\n            cold('--e--#'),\n            cold('--f--g--|')];\n        var subs = '^                            !';\n        var expected = '--a--b----c--d----e----f--g--|';\n        expectObservable(Observable.onErrorResumeNext(next)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should complete single observable throws', function () {\n        var source = hot('#');\n        var subs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.onErrorResumeNext(source)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=onErrorResumeNext-spec.js.map"
  },
  {
    "__docId__": 1331,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe445",
    "testId": 445,
    "memberof": "spec-js/observables/onErrorResumeNext-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/onErrorResumeNext-spec.js~describe445",
    "access": null,
    "description": "Observable.onErrorResumeNext",
    "lineNumber": 4
  },
  {
    "__docId__": 1332,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it446",
    "testId": 446,
    "memberof": "spec-js/observables/onErrorResumeNext-spec.js~describe445",
    "testDepth": 1,
    "longname": "spec-js/observables/onErrorResumeNext-spec.js~describe445.it446",
    "access": null,
    "description": "should continue with observables",
    "lineNumber": 5
  },
  {
    "__docId__": 1333,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it447",
    "testId": 447,
    "memberof": "spec-js/observables/onErrorResumeNext-spec.js~describe445",
    "testDepth": 1,
    "longname": "spec-js/observables/onErrorResumeNext-spec.js~describe445.it447",
    "access": null,
    "description": "should continue array of observables",
    "lineNumber": 15
  },
  {
    "__docId__": 1334,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it448",
    "testId": 448,
    "memberof": "spec-js/observables/onErrorResumeNext-spec.js~describe445",
    "testDepth": 1,
    "longname": "spec-js/observables/onErrorResumeNext-spec.js~describe445.it448",
    "access": null,
    "description": "should complete single observable throws",
    "lineNumber": 26
  },
  {
    "__docId__": 1335,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/pairs-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/pairs-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\ndescribe('Observable.pairs', function () {\n    asDiagram('pairs({a: 1, b:2})')('should create an observable emits key-value pair', function () {\n        var e1 = Observable.pairs({ a: 1, b: 2 }, rxTestScheduler);\n        var expected = '(ab|)';\n        var values = {\n            a: ['a', 1],\n            b: ['b', 2]\n        };\n        expectObservable(e1).toBe(expected, values);\n    });\n    it('should create an observable without scheduler', function (done) {\n        var expected = [\n            ['a', 1],\n            ['b', 2],\n            ['c', 3]\n        ];\n        Observable.pairs({ a: 1, b: 2, c: 3 }).subscribe(function (x) {\n            chai_1.expect(x).to.deep.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected).to.be.empty;\n            done();\n        });\n    });\n    it('should work with empty object', function () {\n        var e1 = Observable.pairs({}, rxTestScheduler);\n        var expected = '|';\n        expectObservable(e1).toBe(expected);\n    });\n});\n//# sourceMappingURL=pairs-spec.js.map"
  },
  {
    "__docId__": 1336,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe449",
    "testId": 449,
    "memberof": "spec-js/observables/pairs-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/pairs-spec.js~describe449",
    "access": null,
    "description": "Observable.pairs",
    "lineNumber": 5
  },
  {
    "__docId__": 1337,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it450",
    "testId": 450,
    "memberof": "spec-js/observables/pairs-spec.js~describe449",
    "testDepth": 1,
    "longname": "spec-js/observables/pairs-spec.js~describe449.it450",
    "access": null,
    "description": "should create an observable without scheduler",
    "lineNumber": 15
  },
  {
    "__docId__": 1338,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it451",
    "testId": 451,
    "memberof": "spec-js/observables/pairs-spec.js~describe449",
    "testDepth": 1,
    "longname": "spec-js/observables/pairs-spec.js~describe449.it451",
    "access": null,
    "description": "should work with empty object",
    "lineNumber": 30
  },
  {
    "__docId__": 1339,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/race-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/race-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {race} */\ndescribe('Observable.race', function () {\n    it('should race a single observable', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var expected = '---a-----b-----c----|';\n        var result = Observable.race(e1);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should race cold and cold', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b-----c----|';\n        var result = Observable.race(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should race hot and hot', function () {\n        var e1 = hot('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = hot('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b-----c----|';\n        var result = Observable.race(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should race hot and cold', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = hot('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b-----c----|';\n        var result = Observable.race(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should race 2nd and 1st', function () {\n        var e1 = cold('------x-----y-----z----|');\n        var e1subs = '^  !';\n        var e2 = cold('---a-----b-----c----|');\n        var e2subs = '^                   !';\n        var expected = '---a-----b-----c----|';\n        var result = Observable.race(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should race emit and complete', function () {\n        var e1 = cold('-----|');\n        var e1subs = '^    !';\n        var e2 = hot('------x-----y-----z----|');\n        var e2subs = '^    !';\n        var expected = '-----|';\n        var result = Observable.race(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^           !';\n        var e2 = hot('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b---';\n        var unsub = '            !';\n        var result = Observable.race(e1, e2);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--^--b--c---d-| ');\n        var e1subs = '^        !    ';\n        var e2 = hot('---e-^---f--g---h-|');\n        var e2subs = '^  !    ';\n        var expected = '---b--c---    ';\n        var unsub = '         !    ';\n        var result = Observable.race(e1.mergeMap(function (x) { return Observable.of(x); }), e2.mergeMap(function (x) { return Observable.of(x); })).mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should never emit when given non emitting sources', function () {\n        var e1 = cold('---|');\n        var e2 = cold('---|');\n        var e1subs = '^  !';\n        var expected = '---|';\n        var source = Observable.race(e1, e2);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should throw when error occurs mid stream', function () {\n        var e1 = cold('---a-----#');\n        var e1subs = '^        !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----#';\n        var result = Observable.race(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should throw when error occurs before a winner is found', function () {\n        var e1 = cold('---#');\n        var e1subs = '^  !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = Observable.race(e1, e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('handle empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        var source = Observable.race(e1);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('handle never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var source = Observable.race(e1);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('handle throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        var source = Observable.race(e1);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=race-spec.js.map"
  },
  {
    "__docId__": 1340,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe452",
    "testId": 452,
    "memberof": "spec-js/observables/race-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/race-spec.js~describe452",
    "access": null,
    "description": "Observable.race",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{race}"
      }
    ],
    "testTargets": [
      "race"
    ]
  },
  {
    "__docId__": 1341,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it453",
    "testId": 453,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it453",
    "access": null,
    "description": "should race a single observable",
    "lineNumber": 6
  },
  {
    "__docId__": 1342,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it454",
    "testId": 454,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it454",
    "access": null,
    "description": "should race cold and cold",
    "lineNumber": 14
  },
  {
    "__docId__": 1343,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it455",
    "testId": 455,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it455",
    "access": null,
    "description": "should race hot and hot",
    "lineNumber": 25
  },
  {
    "__docId__": 1344,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it456",
    "testId": 456,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it456",
    "access": null,
    "description": "should race hot and cold",
    "lineNumber": 36
  },
  {
    "__docId__": 1345,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it457",
    "testId": 457,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it457",
    "access": null,
    "description": "should race 2nd and 1st",
    "lineNumber": 47
  },
  {
    "__docId__": 1346,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it458",
    "testId": 458,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it458",
    "access": null,
    "description": "should race emit and complete",
    "lineNumber": 58
  },
  {
    "__docId__": 1347,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it459",
    "testId": 459,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it459",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 69
  },
  {
    "__docId__": 1348,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it460",
    "testId": 460,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it460",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 81
  },
  {
    "__docId__": 1349,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it461",
    "testId": 461,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it461",
    "access": null,
    "description": "should never emit when given non emitting sources",
    "lineNumber": 93
  },
  {
    "__docId__": 1350,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it462",
    "testId": 462,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it462",
    "access": null,
    "description": "should throw when error occurs mid stream",
    "lineNumber": 102
  },
  {
    "__docId__": 1351,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it463",
    "testId": 463,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it463",
    "access": null,
    "description": "should throw when error occurs before a winner is found",
    "lineNumber": 113
  },
  {
    "__docId__": 1352,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it464",
    "testId": 464,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it464",
    "access": null,
    "description": "handle empty",
    "lineNumber": 124
  },
  {
    "__docId__": 1353,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it465",
    "testId": 465,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it465",
    "access": null,
    "description": "handle never",
    "lineNumber": 132
  },
  {
    "__docId__": 1354,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it466",
    "testId": 466,
    "memberof": "spec-js/observables/race-spec.js~describe452",
    "testDepth": 1,
    "longname": "spec-js/observables/race-spec.js~describe452.it466",
    "access": null,
    "description": "handle throw",
    "lineNumber": 140
  },
  {
    "__docId__": 1355,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/range-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/range-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../dist/cjs/Rx');\nvar RangeObservable_1 = require('../../dist/cjs/observable/RangeObservable');\nvar Observable = Rx.Observable;\nvar asap = Rx.Scheduler.asap;\n/** @test {range} */\ndescribe('Observable.range', function () {\n    asDiagram('range(1, 10)')('should create an observable with numbers 1 to 10', function () {\n        var e1 = Observable.range(1, 10)\n            .concatMap(function (x, i) { return Observable.of(x).delay(i === 0 ? 0 : 20, rxTestScheduler); });\n        var expected = 'a-b-c-d-e-f-g-h-i-(j|)';\n        var values = {\n            a: 1,\n            b: 2,\n            c: 3,\n            d: 4,\n            e: 5,\n            f: 6,\n            g: 7,\n            h: 8,\n            i: 9,\n            j: 10,\n        };\n        expectObservable(e1).toBe(expected, values);\n    });\n    it('should synchronously create a range of values by default', function () {\n        var results = [];\n        Observable.range(12, 4).subscribe(function (x) {\n            results.push(x);\n        });\n        chai_1.expect(results).to.deep.equal([12, 13, 14, 15]);\n    });\n    it('should accept a scheduler', function (done) {\n        var expected = [12, 13, 14, 15];\n        sinon.spy(asap, 'schedule');\n        var source = Observable.range(12, 4, asap);\n        chai_1.expect(source.scheduler).to.deep.equal(asap);\n        source.subscribe(function (x) {\n            chai_1.expect(asap.schedule).have.been.called;\n            var exp = expected.shift();\n            chai_1.expect(x).to.equal(exp);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            asap.schedule.restore();\n            done();\n        });\n    });\n});\ndescribe('RangeObservable', function () {\n    describe('create', function () {\n        it('should create a RangeObservable', function () {\n            var observable = RangeObservable_1.RangeObservable.create(12, 4);\n            chai_1.expect(observable instanceof RangeObservable_1.RangeObservable).to.be.true;\n        });\n        it('should accept a scheduler', function () {\n            var observable = RangeObservable_1.RangeObservable.create(12, 4, asap);\n            chai_1.expect(observable.scheduler).to.deep.equal(asap);\n        });\n    });\n    describe('dispatch', function () {\n        it('should complete if index >= count', function () {\n            var o = new Rx.Subscriber();\n            var obj = sinon.stub(o);\n            var state = {\n                subscriber: obj,\n                index: 10,\n                start: 0,\n                count: 9\n            };\n            RangeObservable_1.RangeObservable.dispatch(state);\n            chai_1.expect(state.subscriber.complete).have.been.called;\n            chai_1.expect(state.subscriber.next).not.have.been.called;\n        });\n        it('should next out another value and increment the index and start', function () {\n            var o = new Rx.Subscriber();\n            var obj = sinon.stub(o);\n            var state = {\n                subscriber: obj,\n                index: 1,\n                start: 5,\n                count: 9\n            };\n            var thisArg = {\n                schedule: sinon.spy()\n            };\n            RangeObservable_1.RangeObservable.dispatch.call(thisArg, state);\n            chai_1.expect(state.subscriber.complete).not.have.been.called;\n            chai_1.expect(state.subscriber.next).have.been.calledWith(5);\n            chai_1.expect(state.start).to.equal(6);\n            chai_1.expect(state.index).to.equal(2);\n            chai_1.expect(thisArg.schedule).have.been.calledWith(state);\n        });\n    });\n});\n//# sourceMappingURL=range-spec.js.map"
  },
  {
    "__docId__": 1356,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe467",
    "testId": 467,
    "memberof": "spec-js/observables/range-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/range-spec.js~describe467",
    "access": null,
    "description": "Observable.range",
    "lineNumber": 9,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{range}"
      }
    ],
    "testTargets": [
      "range"
    ]
  },
  {
    "__docId__": 1357,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it468",
    "testId": 468,
    "memberof": "spec-js/observables/range-spec.js~describe467",
    "testDepth": 1,
    "longname": "spec-js/observables/range-spec.js~describe467.it468",
    "access": null,
    "description": "should synchronously create a range of values by default",
    "lineNumber": 28
  },
  {
    "__docId__": 1358,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it469",
    "testId": 469,
    "memberof": "spec-js/observables/range-spec.js~describe467",
    "testDepth": 1,
    "longname": "spec-js/observables/range-spec.js~describe467.it469",
    "access": null,
    "description": "should accept a scheduler",
    "lineNumber": 35
  },
  {
    "__docId__": 1359,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe470",
    "testId": 470,
    "memberof": "spec-js/observables/range-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/range-spec.js~describe470",
    "access": null,
    "description": "RangeObservable",
    "lineNumber": 52
  },
  {
    "__docId__": 1360,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe471",
    "testId": 471,
    "memberof": "spec-js/observables/range-spec.js~describe470",
    "testDepth": 1,
    "longname": "spec-js/observables/range-spec.js~describe470.describe471",
    "access": null,
    "description": "create",
    "lineNumber": 53
  },
  {
    "__docId__": 1361,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it472",
    "testId": 472,
    "memberof": "spec-js/observables/range-spec.js~describe470.describe471",
    "testDepth": 2,
    "longname": "spec-js/observables/range-spec.js~describe470.describe471.it472",
    "access": null,
    "description": "should create a RangeObservable",
    "lineNumber": 54
  },
  {
    "__docId__": 1362,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it473",
    "testId": 473,
    "memberof": "spec-js/observables/range-spec.js~describe470.describe471",
    "testDepth": 2,
    "longname": "spec-js/observables/range-spec.js~describe470.describe471.it473",
    "access": null,
    "description": "should accept a scheduler",
    "lineNumber": 58
  },
  {
    "__docId__": 1363,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe474",
    "testId": 474,
    "memberof": "spec-js/observables/range-spec.js~describe470",
    "testDepth": 1,
    "longname": "spec-js/observables/range-spec.js~describe470.describe474",
    "access": null,
    "description": "dispatch",
    "lineNumber": 63
  },
  {
    "__docId__": 1364,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it475",
    "testId": 475,
    "memberof": "spec-js/observables/range-spec.js~describe470.describe474",
    "testDepth": 2,
    "longname": "spec-js/observables/range-spec.js~describe470.describe474.it475",
    "access": null,
    "description": "should complete if index >= count",
    "lineNumber": 64
  },
  {
    "__docId__": 1365,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it476",
    "testId": 476,
    "memberof": "spec-js/observables/range-spec.js~describe470.describe474",
    "testDepth": 2,
    "longname": "spec-js/observables/range-spec.js~describe470.describe474.it476",
    "access": null,
    "description": "should next out another value and increment the index and start",
    "lineNumber": 77
  },
  {
    "__docId__": 1366,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/throw-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/throw-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar ErrorObservable_1 = require('../../dist/cjs/observable/ErrorObservable');\nvar Observable = Rx.Observable;\n/** @test {throw} */\ndescribe('Observable.throw', function () {\n    asDiagram('throw(e)')('should create a cold observable that just emits an error', function () {\n        var expected = '#';\n        var e1 = Observable.throw('error');\n        expectObservable(e1).toBe(expected);\n    });\n    it('should emit one value', function (done) {\n        var calls = 0;\n        Observable.throw('bad').subscribe(function () {\n            done(new Error('should not be called'));\n        }, function (err) {\n            chai_1.expect(++calls).to.equal(1);\n            chai_1.expect(err).to.equal('bad');\n            done();\n        });\n    });\n    it('should create expose a error property', function () {\n        var e = Observable.throw('error');\n        chai_1.expect(e['error']).to.equal('error');\n    });\n    it('should create ErrorObservable via static create function', function () {\n        var e = new ErrorObservable_1.ErrorObservable('error');\n        var r = ErrorObservable_1.ErrorObservable.create('error');\n        chai_1.expect(e).to.deep.equal(r);\n    });\n    it('should accept scheduler', function () {\n        var e = Observable.throw('error', rxTestScheduler);\n        expectObservable(e).toBe('#');\n    });\n});\n//# sourceMappingURL=throw-spec.js.map"
  },
  {
    "__docId__": 1367,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe477",
    "testId": 477,
    "memberof": "spec-js/observables/throw-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/throw-spec.js~describe477",
    "access": null,
    "description": "Observable.throw",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{throw}"
      }
    ],
    "testTargets": [
      "throw"
    ]
  },
  {
    "__docId__": 1368,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it478",
    "testId": 478,
    "memberof": "spec-js/observables/throw-spec.js~describe477",
    "testDepth": 1,
    "longname": "spec-js/observables/throw-spec.js~describe477.it478",
    "access": null,
    "description": "should emit one value",
    "lineNumber": 13
  },
  {
    "__docId__": 1369,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it479",
    "testId": 479,
    "memberof": "spec-js/observables/throw-spec.js~describe477",
    "testDepth": 1,
    "longname": "spec-js/observables/throw-spec.js~describe477.it479",
    "access": null,
    "description": "should create expose a error property",
    "lineNumber": 23
  },
  {
    "__docId__": 1370,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it480",
    "testId": 480,
    "memberof": "spec-js/observables/throw-spec.js~describe477",
    "testDepth": 1,
    "longname": "spec-js/observables/throw-spec.js~describe477.it480",
    "access": null,
    "description": "should create ErrorObservable via static create function",
    "lineNumber": 27
  },
  {
    "__docId__": 1371,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it481",
    "testId": 481,
    "memberof": "spec-js/observables/throw-spec.js~describe477",
    "testDepth": 1,
    "longname": "spec-js/observables/throw-spec.js~describe477.it481",
    "access": null,
    "description": "should accept scheduler",
    "lineNumber": 32
  },
  {
    "__docId__": 1372,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/timer-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/timer-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {timer} */\ndescribe('Observable.timer', function () {\n    asDiagram('timer(3000, 1000)')('should create an observable emitting periodically', function () {\n        var e1 = Observable.timer(60, 20, rxTestScheduler)\n            .take(4) // make it actually finite, so it can be rendered\n            .concat(Observable.never()); // but pretend it's infinite by not completing\n        var expected = '------a-b-c-d-';\n        var values = {\n            a: 0,\n            b: 1,\n            c: 2,\n            d: 3,\n        };\n        expectObservable(e1).toBe(expected, values);\n    });\n    it('should schedule a value of 0 then complete', function () {\n        var dueTime = time('-----|');\n        var expected = '-----(x|)';\n        var source = Observable.timer(dueTime, undefined, rxTestScheduler);\n        expectObservable(source).toBe(expected, { x: 0 });\n    });\n    it('should emit a single value immediately', function () {\n        var dueTime = time('|');\n        var expected = '(x|)';\n        var source = Observable.timer(dueTime, rxTestScheduler);\n        expectObservable(source).toBe(expected, { x: 0 });\n    });\n    it('should start after delay and periodically emit values', function () {\n        var dueTime = time('----|');\n        var period = time('--|');\n        var expected = '----a-b-c-d-(e|)';\n        var source = Observable.timer(dueTime, period, rxTestScheduler).take(5);\n        var values = { a: 0, b: 1, c: 2, d: 3, e: 4 };\n        expectObservable(source).toBe(expected, values);\n    });\n    it('should start immediately and periodically emit values', function () {\n        var dueTime = time('|');\n        var period = time('---|');\n        var expected = 'a--b--c--d--(e|)';\n        var source = Observable.timer(dueTime, period, rxTestScheduler).take(5);\n        var values = { a: 0, b: 1, c: 2, d: 3, e: 4 };\n        expectObservable(source).toBe(expected, values);\n    });\n    it('should stop emiting values when subscription is done', function () {\n        var dueTime = time('|');\n        var period = time('---|');\n        var expected = 'a--b--c--d--e';\n        var unsub = '^            !';\n        var source = Observable.timer(dueTime, period, rxTestScheduler);\n        var values = { a: 0, b: 1, c: 2, d: 3, e: 4 };\n        expectObservable(source, unsub).toBe(expected, values);\n    });\n    it('should schedule a value at a specified Date', function () {\n        var offset = time('----|');\n        var expected = '----(a|)';\n        var dueTime = new Date(rxTestScheduler.now() + offset);\n        var source = Observable.timer(dueTime, null, rxTestScheduler);\n        expectObservable(source).toBe(expected, { a: 0 });\n    });\n    it('should start after delay and periodically emit values', function () {\n        var offset = time('----|');\n        var period = time('--|');\n        var expected = '----a-b-c-d-(e|)';\n        var dueTime = new Date(rxTestScheduler.now() + offset);\n        var source = Observable.timer(dueTime, period, rxTestScheduler).take(5);\n        var values = { a: 0, b: 1, c: 2, d: 3, e: 4 };\n        expectObservable(source).toBe(expected, values);\n    });\n});\n//# sourceMappingURL=timer-spec.js.map"
  },
  {
    "__docId__": 1373,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe482",
    "testId": 482,
    "memberof": "spec-js/observables/timer-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/timer-spec.js~describe482",
    "access": null,
    "description": "Observable.timer",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{timer}"
      }
    ],
    "testTargets": [
      "timer"
    ]
  },
  {
    "__docId__": 1374,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it483",
    "testId": 483,
    "memberof": "spec-js/observables/timer-spec.js~describe482",
    "testDepth": 1,
    "longname": "spec-js/observables/timer-spec.js~describe482.it483",
    "access": null,
    "description": "should schedule a value of 0 then complete",
    "lineNumber": 19
  },
  {
    "__docId__": 1375,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it484",
    "testId": 484,
    "memberof": "spec-js/observables/timer-spec.js~describe482",
    "testDepth": 1,
    "longname": "spec-js/observables/timer-spec.js~describe482.it484",
    "access": null,
    "description": "should emit a single value immediately",
    "lineNumber": 25
  },
  {
    "__docId__": 1376,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it485",
    "testId": 485,
    "memberof": "spec-js/observables/timer-spec.js~describe482",
    "testDepth": 1,
    "longname": "spec-js/observables/timer-spec.js~describe482.it485",
    "access": null,
    "description": "should start after delay and periodically emit values",
    "lineNumber": 31
  },
  {
    "__docId__": 1377,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it486",
    "testId": 486,
    "memberof": "spec-js/observables/timer-spec.js~describe482",
    "testDepth": 1,
    "longname": "spec-js/observables/timer-spec.js~describe482.it486",
    "access": null,
    "description": "should start immediately and periodically emit values",
    "lineNumber": 39
  },
  {
    "__docId__": 1378,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it487",
    "testId": 487,
    "memberof": "spec-js/observables/timer-spec.js~describe482",
    "testDepth": 1,
    "longname": "spec-js/observables/timer-spec.js~describe482.it487",
    "access": null,
    "description": "should stop emiting values when subscription is done",
    "lineNumber": 47
  },
  {
    "__docId__": 1379,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it488",
    "testId": 488,
    "memberof": "spec-js/observables/timer-spec.js~describe482",
    "testDepth": 1,
    "longname": "spec-js/observables/timer-spec.js~describe482.it488",
    "access": null,
    "description": "should schedule a value at a specified Date",
    "lineNumber": 56
  },
  {
    "__docId__": 1380,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it489",
    "testId": 489,
    "memberof": "spec-js/observables/timer-spec.js~describe482",
    "testDepth": 1,
    "longname": "spec-js/observables/timer-spec.js~describe482.it489",
    "access": null,
    "description": "should start after delay and periodically emit values",
    "lineNumber": 63
  },
  {
    "__docId__": 1381,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/using-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/using-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar Subscription = Rx.Subscription;\ndescribe('Observable.using', function () {\n    it('should dispose of the resource when the subscription is disposed', function (done) {\n        var disposed = false;\n        var source = Observable.using(function () { return new Subscription(function () { return disposed = true; }); }, function (resource) { return Observable.range(0, 3); })\n            .take(2);\n        source.subscribe();\n        if (disposed) {\n            done();\n        }\n        else {\n            done(new Error('disposed should be true but was false'));\n        }\n    });\n    it('should accept factory returns promise resolves', function (done) {\n        var expected = 42;\n        var disposed = false;\n        var e1 = Observable.using(function () { return new Subscription(function () { return disposed = true; }); }, function (resource) { return new Promise(function (resolve) { resolve(expected); }); });\n        e1.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should accept factory returns promise rejects', function (done) {\n        var expected = 42;\n        var disposed = false;\n        var e1 = Observable.using(function () { return new Subscription(function () { return disposed = true; }); }, function (resource) { return new Promise(function (resolve, reject) { reject(expected); }); });\n        e1.subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.equal(expected);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should raise error when resource factory throws', function (done) {\n        var expectedError = 'expected';\n        var error = 'error';\n        var source = Observable.using(function () {\n            throw expectedError;\n        }, function (resource) {\n            throw error;\n        });\n        source.subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.equal(expectedError);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should raise error when observable factory throws', function (done) {\n        var error = 'error';\n        var disposed = false;\n        var source = Observable.using(function () { return new Subscription(function () { return disposed = true; }); }, function (resource) {\n            throw error;\n        });\n        source.subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.equal(error);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n});\n//# sourceMappingURL=using-spec.js.map"
  },
  {
    "__docId__": 1382,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe490",
    "testId": 490,
    "memberof": "spec-js/observables/using-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/using-spec.js~describe490",
    "access": null,
    "description": "Observable.using",
    "lineNumber": 6
  },
  {
    "__docId__": 1383,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it491",
    "testId": 491,
    "memberof": "spec-js/observables/using-spec.js~describe490",
    "testDepth": 1,
    "longname": "spec-js/observables/using-spec.js~describe490.it491",
    "access": null,
    "description": "should dispose of the resource when the subscription is disposed",
    "lineNumber": 7
  },
  {
    "__docId__": 1384,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it492",
    "testId": 492,
    "memberof": "spec-js/observables/using-spec.js~describe490",
    "testDepth": 1,
    "longname": "spec-js/observables/using-spec.js~describe490.it492",
    "access": null,
    "description": "should accept factory returns promise resolves",
    "lineNumber": 19
  },
  {
    "__docId__": 1385,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it493",
    "testId": 493,
    "memberof": "spec-js/observables/using-spec.js~describe490",
    "testDepth": 1,
    "longname": "spec-js/observables/using-spec.js~describe490.it493",
    "access": null,
    "description": "should accept factory returns promise rejects",
    "lineNumber": 31
  },
  {
    "__docId__": 1386,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it494",
    "testId": 494,
    "memberof": "spec-js/observables/using-spec.js~describe490",
    "testDepth": 1,
    "longname": "spec-js/observables/using-spec.js~describe490.it494",
    "access": null,
    "description": "should raise error when resource factory throws",
    "lineNumber": 44
  },
  {
    "__docId__": 1387,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it495",
    "testId": 495,
    "memberof": "spec-js/observables/using-spec.js~describe490",
    "testDepth": 1,
    "longname": "spec-js/observables/using-spec.js~describe490.it495",
    "access": null,
    "description": "should raise error when observable factory throws",
    "lineNumber": 61
  },
  {
    "__docId__": 1388,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/observables/zip-spec.js",
    "memberof": null,
    "longname": "spec-js/observables/zip-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar _this = this;\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar queueScheduler = Rx.Scheduler.queue;\n/** @test {zip} */\ndescribe('Observable.zip', function () {\n    it('should combine a source with a second', function () {\n        var a = hot('---1---2---3---');\n        var asubs = '^';\n        var b = hot('--4--5--6--7--8--');\n        var bsubs = '^';\n        var expected = '---x---y---z';\n        expectObservable(Observable.zip(a, b))\n            .toBe(expected, { x: ['1', '4'], y: ['2', '5'], z: ['3', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should zip the provided observables', function (done) {\n        var expected = ['a1', 'b2', 'c3'];\n        var i = 0;\n        Observable.zip(Observable.from(['a', 'b', 'c']), Observable.from([1, 2, 3]), function (a, b) { return a + b; })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        }, null, done);\n    });\n    it('should end once one observable completes and its buffer is empty', function () {\n        var e1 = hot('---a--b--c--|               ');\n        var e1subs = '^           !               ';\n        var e2 = hot('------d----e----f--------|  ');\n        var e2subs = '^                 !         ';\n        var e3 = hot('--------h----i----j---------'); // doesn't complete\n        var e3subs = '^                 !         ';\n        var expected = '--------x----y----(z|)      '; // e1 complete and buffer empty\n        var values = {\n            x: ['a', 'd', 'h'],\n            y: ['b', 'e', 'i'],\n            z: ['c', 'f', 'j']\n        };\n        expectObservable(Observable.zip(e1, e2, e3)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should end once one observable nexts and zips value from completed other ' +\n        'observable whose buffer is empty', function () {\n        var e1 = hot('---a--b--c--|             ');\n        var e1subs = '^           !             ';\n        var e2 = hot('------d----e----f|        ');\n        var e2subs = '^                !        ';\n        var e3 = hot('--------h----i----j-------'); // doesn't complete\n        var e3subs = '^                 !       ';\n        var expected = '--------x----y----(z|)    '; // e2 buffer empty and signaled complete\n        var values = {\n            x: ['a', 'd', 'h'],\n            y: ['b', 'e', 'i'],\n            z: ['c', 'f', 'j']\n        };\n        expectObservable(Observable.zip(e1, e2, e3)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    describe('with iterables', function () {\n        it('should zip them with values', function () {\n            var myIterator = {\n                count: 0,\n                next: function () {\n                    return { value: this.count++, done: false };\n                }\n            };\n            myIterator[Symbol.iterator] = function () { return this; };\n            var e1 = hot('---a---b---c---d---|');\n            var e1subs = '^                  !';\n            var expected = '---w---x---y---z---|';\n            var values = {\n                w: ['a', 0],\n                x: ['b', 1],\n                y: ['c', 2],\n                z: ['d', 3]\n            };\n            expectObservable(Observable.zip(e1, myIterator)).toBe(expected, values);\n            expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        });\n        it('should only call `next` as needed', function () {\n            var nextCalled = 0;\n            var myIterator = {\n                count: 0,\n                next: function () {\n                    nextCalled++;\n                    return { value: _this.count++, done: false };\n                }\n            };\n            myIterator[Symbol.iterator] = function () {\n                return this;\n            };\n            Observable.zip(Observable.of(1, 2, 3), myIterator)\n                .subscribe();\n            // since zip will call `next()` in advance, total calls when\n            // zipped with 3 other values should be 4.\n            chai_1.expect(nextCalled).to.equal(4);\n        });\n        it('should work with never observable and empty iterable', function () {\n            var a = cold('-');\n            var asubs = '^';\n            var b = [];\n            var expected = '-';\n            expectObservable(Observable.zip(a, b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with empty observable and empty iterable', function () {\n            var a = cold('|');\n            var asubs = '(^!)';\n            var b = [];\n            var expected = '|';\n            expectObservable(Observable.zip(a, b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with empty observable and non-empty iterable', function () {\n            var a = cold('|');\n            var asubs = '(^!)';\n            var b = [1];\n            var expected = '|';\n            expectObservable(Observable.zip(a, b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and empty iterable', function () {\n            var a = hot('---^----a--|');\n            var asubs = '^       !';\n            var b = [];\n            var expected = '--------|';\n            expectObservable(Observable.zip(a, b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with never observable and non-empty iterable', function () {\n            var a = cold('-');\n            var asubs = '^';\n            var b = [1];\n            var expected = '-';\n            expectObservable(Observable.zip(a, b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and non-empty iterable', function () {\n            var a = hot('---^----1--|');\n            var asubs = '^    !   ';\n            var b = [2];\n            var expected = '-----(x|)';\n            expectObservable(Observable.zip(a, b)).toBe(expected, { x: ['1', 2] });\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and empty iterable', function () {\n            var a = hot('---^----#');\n            var asubs = '^    !';\n            var b = [];\n            var expected = '-----#';\n            expectObservable(Observable.zip(a, b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with observable which raises error and non-empty iterable', function () {\n            var a = hot('---^----#');\n            var asubs = '^    !';\n            var b = [1];\n            var expected = '-----#';\n            expectObservable(Observable.zip(a, b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty many observable and non-empty many iterable', function () {\n            var a = hot('---^--1--2--3--|');\n            var asubs = '^        !   ';\n            var b = [4, 5, 6];\n            var expected = '---x--y--(z|)';\n            expectObservable(Observable.zip(a, b)).toBe(expected, { x: ['1', 4], y: ['2', 5], z: ['3', 6] });\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and non-empty iterable selector that throws', function () {\n            var a = hot('---^--1--2--3--|');\n            var asubs = '^     !';\n            var b = [4, 5, 6];\n            var expected = '---x--#';\n            var selector = function (x, y) {\n                if (y === 5) {\n                    throw new Error('too bad');\n                }\n                else {\n                    return x + y;\n                }\n            };\n            expectObservable(Observable.zip(a, b, selector)).toBe(expected, { x: '14' }, new Error('too bad'));\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n    });\n    it('should combine two observables and selector', function () {\n        var a = hot('---1---2---3---');\n        var asubs = '^';\n        var b = hot('--4--5--6--7--8--');\n        var bsubs = '^';\n        var expected = '---x---y---z';\n        expectObservable(Observable.zip(a, b, function (e1, e2) { return e1 + e2; }))\n            .toBe(expected, { x: '14', y: '25', z: '36' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with n-ary symmetric', function () {\n        var a = hot('---1-^-1----4----|');\n        var asubs = '^         !  ';\n        var b = hot('---1-^--2--5----| ');\n        var bsubs = '^         !  ';\n        var c = hot('---1-^---3---6-|  ');\n        var expected = '----x---y-|  ';\n        expectObservable(Observable.zip(a, b, c)).toBe(expected, { x: ['1', '2', '3'], y: ['4', '5', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with n-ary symmetric selector', function () {\n        var a = hot('---1-^-1----4----|');\n        var asubs = '^         !  ';\n        var b = hot('---1-^--2--5----| ');\n        var bsubs = '^         !  ';\n        var c = hot('---1-^---3---6-|  ');\n        var expected = '----x---y-|  ';\n        var observable = Observable.zip(a, b, c, function (r0, r1, r2) { return [r0, r1, r2]; });\n        expectObservable(observable).toBe(expected, { x: ['1', '2', '3'], y: ['4', '5', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with n-ary symmetric array selector', function () {\n        var a = hot('---1-^-1----4----|');\n        var asubs = '^         !  ';\n        var b = hot('---1-^--2--5----| ');\n        var bsubs = '^         !  ';\n        var c = hot('---1-^---3---6-|  ');\n        var expected = '----x---y-|  ';\n        var observable = Observable.zip(a, b, c, function (r0, r1, r2) { return [r0, r1, r2]; });\n        expectObservable(observable).toBe(expected, { x: ['1', '2', '3'], y: ['4', '5', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with some data asymmetric 1', function () {\n        var a = hot('---1-^-1-3-5-7-9-x-y-z-w-u-|');\n        var asubs = '^                 !    ';\n        var b = hot('---1-^--2--4--6--8--0--|    ');\n        var bsubs = '^                 !    ';\n        var expected = '---a--b--c--d--e--|    ';\n        expectObservable(Observable.zip(a, b, function (r1, r2) { return r1 + r2; }))\n            .toBe(expected, { a: '12', b: '34', c: '56', d: '78', e: '90' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with some data asymmetric 2', function () {\n        var a = hot('---1-^--2--4--6--8--0--|    ');\n        var asubs = '^                 !    ';\n        var b = hot('---1-^-1-3-5-7-9-x-y-z-w-u-|');\n        var bsubs = '^                 !    ';\n        var expected = '---a--b--c--d--e--|    ';\n        expectObservable(Observable.zip(a, b, function (r1, r2) { return r1 + r2; }))\n            .toBe(expected, { a: '21', b: '43', c: '65', d: '87', e: '09' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with some data symmetric', function () {\n        var a = hot('---1-^-1-3-5-7-9------| ');\n        var asubs = '^                ! ';\n        var b = hot('---1-^--2--4--6--8--0--|');\n        var bsubs = '^                ! ';\n        var expected = '---a--b--c--d--e-| ';\n        expectObservable(Observable.zip(a, b, function (r1, r2) { return r1 + r2; }))\n            .toBe(expected, { a: '12', b: '34', c: '56', d: '78', e: '90' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with selector throws', function () {\n        var a = hot('---1-^-2---4----|  ');\n        var asubs = '^       !     ';\n        var b = hot('---1-^--3----5----|');\n        var bsubs = '^       !     ';\n        var expected = '---x----#     ';\n        var selector = function (x, y) {\n            if (y === '5') {\n                throw new Error('too bad');\n            }\n            else {\n                return x + y;\n            }\n        };\n        var observable = Observable.zip(a, b, selector);\n        expectObservable(observable).toBe(expected, { x: '23' }, new Error('too bad'));\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with right completes first', function () {\n        var a = hot('---1-^-2-----|');\n        var asubs = '^     !';\n        var b = hot('---1-^--3--|');\n        var bsubs = '^     !';\n        var expected = '---x--|';\n        expectObservable(Observable.zip(a, b)).toBe(expected, { x: ['2', '3'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with two nevers', function () {\n        var a = cold('-');\n        var asubs = '^';\n        var b = cold('-');\n        var bsubs = '^';\n        var expected = '-';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with never and empty', function () {\n        var a = cold('-');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and never', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = cold('-');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and empty', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and non-empty', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = hot('---1--|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with non-empty and empty', function () {\n        var a = hot('---1--|');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with never and non-empty', function () {\n        var a = cold('-');\n        var asubs = '^';\n        var b = hot('---1--|');\n        var bsubs = '^     !';\n        var expected = '-';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with non-empty and never', function () {\n        var a = hot('---1--|');\n        var asubs = '^     !';\n        var b = cold('-');\n        var bsubs = '^';\n        var expected = '-';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and error', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = hot('------#', null, 'too bad');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and empty', function () {\n        var a = hot('------#', null, 'too bad');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error', function () {\n        var a = hot('----------|');\n        var asubs = '^     !    ';\n        var b = hot('------#    ');\n        var bsubs = '^     !    ';\n        var expected = '------#    ';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with never and error', function () {\n        var a = cold('-');\n        var asubs = '^     !';\n        var b = hot('------#');\n        var bsubs = '^     !';\n        var expected = '------#';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and never', function () {\n        var a = hot('------#');\n        var asubs = '^     !';\n        var b = cold('-');\n        var bsubs = '^     !';\n        var expected = '------#';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and error', function () {\n        var a = hot('------#', null, 'too bad');\n        var asubs = '^     !';\n        var b = hot('----------#', null, 'too bad 2');\n        var bsubs = '^     !';\n        var expected = '------#';\n        expectObservable(Observable.zip(a, b)).toBe(expected, null, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with two sources that eventually raise errors', function () {\n        var a = hot('--w-----#----', { w: 1 }, 'too bad');\n        var asubs = '^       !';\n        var b = hot('-----z-----#-', { z: 2 }, 'too bad 2');\n        var bsubs = '^       !';\n        var expected = '-----x--#';\n        expectObservable(Observable.zip(a, b)).toBe(expected, { x: [1, 2] }, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with two sources that eventually raise errors (swapped)', function () {\n        var a = hot('-----z-----#-', { z: 2 }, 'too bad 2');\n        var asubs = '^       !';\n        var b = hot('--w-----#----', { w: 1 }, 'too bad');\n        var bsubs = '^       !';\n        var expected = '-----x--#';\n        expectObservable(Observable.zip(a, b)).toBe(expected, { x: [2, 1] }, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and some', function () {\n        var a = cold('#');\n        var asubs = '(^!)';\n        var b = hot('--1--2--3--');\n        var bsubs = '(^!)';\n        var expected = '#';\n        expectObservable(Observable.zip(a, b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should combine an immediately-scheduled source with an immediately-scheduled second', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, 7, 8, queueScheduler);\n        var r = [[1, 4], [2, 5], [3, 6]];\n        var i = 0;\n        Observable.zip(a, b).subscribe(function (vals) {\n            chai_1.expect(vals).to.deep.equal(r[i++]);\n        }, null, done);\n    });\n    it('should support observables', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var b;\n            var c;\n            var o1 = Observable.zip(a, b, c);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support mixed observables and promises', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var b;\n            var c;\n            var d;\n            var o1 = Observable.zip(a, b, c, d);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support arrays of promises', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.zip(a);\n            var o2 = Observable.zip.apply(Observable, a);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should support arrays of observables', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.zip(a);\n            var o2 = Observable.zip.apply(Observable, a);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should return Array<T> when given a single promise', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.zip(a);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n    it('should return Array<T> when given a single observable', function () {\n        type(function () {\n            /* tslint:disable:no-unused-variable */\n            var a;\n            var o1 = Observable.zip(a);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n});\n//# sourceMappingURL=zip-spec.js.map"
  },
  {
    "__docId__": 1389,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe496",
    "testId": 496,
    "memberof": "spec-js/observables/zip-spec.js",
    "testDepth": 0,
    "longname": "spec-js/observables/zip-spec.js~describe496",
    "access": null,
    "description": "Observable.zip",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{zip}"
      }
    ],
    "testTargets": [
      "zip"
    ]
  },
  {
    "__docId__": 1390,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it497",
    "testId": 497,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it497",
    "access": null,
    "description": "should combine a source with a second",
    "lineNumber": 9
  },
  {
    "__docId__": 1391,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it498",
    "testId": 498,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it498",
    "access": null,
    "description": "should zip the provided observables",
    "lineNumber": 20
  },
  {
    "__docId__": 1392,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it499",
    "testId": 499,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it499",
    "access": null,
    "description": "should end once one observable completes and its buffer is empty",
    "lineNumber": 28
  },
  {
    "__docId__": 1393,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it500",
    "testId": 500,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it500",
    "access": null,
    "lineNumber": 46
  },
  {
    "__docId__": 1394,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe501",
    "testId": 501,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501",
    "access": null,
    "description": "with iterables",
    "lineNumber": 65
  },
  {
    "__docId__": 1395,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it502",
    "testId": 502,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it502",
    "access": null,
    "description": "should zip them with values",
    "lineNumber": 66
  },
  {
    "__docId__": 1396,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it503",
    "testId": 503,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it503",
    "access": null,
    "description": "should only call `next` as needed",
    "lineNumber": 86
  },
  {
    "__docId__": 1397,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it504",
    "testId": 504,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it504",
    "access": null,
    "description": "should work with never observable and empty iterable",
    "lineNumber": 104
  },
  {
    "__docId__": 1398,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it505",
    "testId": 505,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it505",
    "access": null,
    "description": "should work with empty observable and empty iterable",
    "lineNumber": 112
  },
  {
    "__docId__": 1399,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it506",
    "testId": 506,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it506",
    "access": null,
    "description": "should work with empty observable and non-empty iterable",
    "lineNumber": 120
  },
  {
    "__docId__": 1400,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it507",
    "testId": 507,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it507",
    "access": null,
    "description": "should work with non-empty observable and empty iterable",
    "lineNumber": 128
  },
  {
    "__docId__": 1401,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it508",
    "testId": 508,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it508",
    "access": null,
    "description": "should work with never observable and non-empty iterable",
    "lineNumber": 136
  },
  {
    "__docId__": 1402,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it509",
    "testId": 509,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it509",
    "access": null,
    "description": "should work with non-empty observable and non-empty iterable",
    "lineNumber": 144
  },
  {
    "__docId__": 1403,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it510",
    "testId": 510,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it510",
    "access": null,
    "description": "should work with non-empty observable and empty iterable",
    "lineNumber": 152
  },
  {
    "__docId__": 1404,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it511",
    "testId": 511,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it511",
    "access": null,
    "description": "should work with observable which raises error and non-empty iterable",
    "lineNumber": 160
  },
  {
    "__docId__": 1405,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it512",
    "testId": 512,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it512",
    "access": null,
    "description": "should work with non-empty many observable and non-empty many iterable",
    "lineNumber": 168
  },
  {
    "__docId__": 1406,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it513",
    "testId": 513,
    "memberof": "spec-js/observables/zip-spec.js~describe496.describe501",
    "testDepth": 2,
    "longname": "spec-js/observables/zip-spec.js~describe496.describe501.it513",
    "access": null,
    "description": "should work with non-empty observable and non-empty iterable selector that throws",
    "lineNumber": 176
  },
  {
    "__docId__": 1407,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it514",
    "testId": 514,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it514",
    "access": null,
    "description": "should combine two observables and selector",
    "lineNumber": 193
  },
  {
    "__docId__": 1408,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it515",
    "testId": 515,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it515",
    "access": null,
    "description": "should work with n-ary symmetric",
    "lineNumber": 204
  },
  {
    "__docId__": 1409,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it516",
    "testId": 516,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it516",
    "access": null,
    "description": "should work with n-ary symmetric selector",
    "lineNumber": 215
  },
  {
    "__docId__": 1410,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it517",
    "testId": 517,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it517",
    "access": null,
    "description": "should work with n-ary symmetric array selector",
    "lineNumber": 227
  },
  {
    "__docId__": 1411,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it518",
    "testId": 518,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it518",
    "access": null,
    "description": "should work with some data asymmetric 1",
    "lineNumber": 239
  },
  {
    "__docId__": 1412,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it519",
    "testId": 519,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it519",
    "access": null,
    "description": "should work with some data asymmetric 2",
    "lineNumber": 250
  },
  {
    "__docId__": 1413,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it520",
    "testId": 520,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it520",
    "access": null,
    "description": "should work with some data symmetric",
    "lineNumber": 261
  },
  {
    "__docId__": 1414,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it521",
    "testId": 521,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it521",
    "access": null,
    "description": "should work with selector throws",
    "lineNumber": 272
  },
  {
    "__docId__": 1415,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it522",
    "testId": 522,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it522",
    "access": null,
    "description": "should work with right completes first",
    "lineNumber": 291
  },
  {
    "__docId__": 1416,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it523",
    "testId": 523,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it523",
    "access": null,
    "description": "should work with two nevers",
    "lineNumber": 301
  },
  {
    "__docId__": 1417,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it524",
    "testId": 524,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it524",
    "access": null,
    "description": "should work with never and empty",
    "lineNumber": 311
  },
  {
    "__docId__": 1418,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it525",
    "testId": 525,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it525",
    "access": null,
    "description": "should work with empty and never",
    "lineNumber": 321
  },
  {
    "__docId__": 1419,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it526",
    "testId": 526,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it526",
    "access": null,
    "description": "should work with empty and empty",
    "lineNumber": 331
  },
  {
    "__docId__": 1420,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it527",
    "testId": 527,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it527",
    "access": null,
    "description": "should work with empty and non-empty",
    "lineNumber": 341
  },
  {
    "__docId__": 1421,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it528",
    "testId": 528,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it528",
    "access": null,
    "description": "should work with non-empty and empty",
    "lineNumber": 351
  },
  {
    "__docId__": 1422,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it529",
    "testId": 529,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it529",
    "access": null,
    "description": "should work with never and non-empty",
    "lineNumber": 361
  },
  {
    "__docId__": 1423,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it530",
    "testId": 530,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it530",
    "access": null,
    "description": "should work with non-empty and never",
    "lineNumber": 371
  },
  {
    "__docId__": 1424,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it531",
    "testId": 531,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it531",
    "access": null,
    "description": "should work with empty and error",
    "lineNumber": 381
  },
  {
    "__docId__": 1425,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it532",
    "testId": 532,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it532",
    "access": null,
    "description": "should work with error and empty",
    "lineNumber": 391
  },
  {
    "__docId__": 1426,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it533",
    "testId": 533,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it533",
    "access": null,
    "description": "should work with error",
    "lineNumber": 401
  },
  {
    "__docId__": 1427,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it534",
    "testId": 534,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it534",
    "access": null,
    "description": "should work with never and error",
    "lineNumber": 411
  },
  {
    "__docId__": 1428,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it535",
    "testId": 535,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it535",
    "access": null,
    "description": "should work with error and never",
    "lineNumber": 421
  },
  {
    "__docId__": 1429,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it536",
    "testId": 536,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it536",
    "access": null,
    "description": "should work with error and error",
    "lineNumber": 431
  },
  {
    "__docId__": 1430,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it537",
    "testId": 537,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it537",
    "access": null,
    "description": "should work with two sources that eventually raise errors",
    "lineNumber": 441
  },
  {
    "__docId__": 1431,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it538",
    "testId": 538,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it538",
    "access": null,
    "description": "should work with two sources that eventually raise errors (swapped)",
    "lineNumber": 451
  },
  {
    "__docId__": 1432,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it539",
    "testId": 539,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it539",
    "access": null,
    "description": "should work with error and some",
    "lineNumber": 461
  },
  {
    "__docId__": 1433,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it540",
    "testId": 540,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it540",
    "access": null,
    "description": "should combine an immediately-scheduled source with an immediately-scheduled second",
    "lineNumber": 471
  },
  {
    "__docId__": 1434,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it541",
    "testId": 541,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it541",
    "access": null,
    "description": "should support observables",
    "lineNumber": 480
  },
  {
    "__docId__": 1435,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it542",
    "testId": 542,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it542",
    "access": null,
    "description": "should support mixed observables and promises",
    "lineNumber": 490
  },
  {
    "__docId__": 1436,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it543",
    "testId": 543,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it543",
    "access": null,
    "description": "should support arrays of promises",
    "lineNumber": 501
  },
  {
    "__docId__": 1437,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it544",
    "testId": 544,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it544",
    "access": null,
    "description": "should support arrays of observables",
    "lineNumber": 510
  },
  {
    "__docId__": 1438,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it545",
    "testId": 545,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it545",
    "access": null,
    "description": "should return Array<T> when given a single promise",
    "lineNumber": 519
  },
  {
    "__docId__": 1439,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it546",
    "testId": 546,
    "memberof": "spec-js/observables/zip-spec.js~describe496",
    "testDepth": 1,
    "longname": "spec-js/observables/zip-spec.js~describe496.it546",
    "access": null,
    "description": "should return Array<T> when given a single observable",
    "lineNumber": 527
  },
  {
    "__docId__": 1440,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/audit-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/audit-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {audit} */\ndescribe('Observable.prototype.audit', function () {\n    asDiagram('audit')('should emit the last value in each time window', function () {\n        var e1 = hot('-a-xy-----b--x--cxxx-|');\n        var e1subs = '^                    !';\n        var e2 = cold('----|                ');\n        var e2subs = [' ^   !                ',\n            '          ^   !       ',\n            '                ^   ! '];\n        var expected = '-----y--------x-----x|';\n        var result = e1.audit(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should delay the source if values are not emitted often enough', function () {\n        var e1 = hot('-a--------b-----c----|');\n        var e1subs = '^                    !';\n        var e2 = cold('----|                ');\n        var e2subs = [' ^   !                ',\n            '          ^   !       ',\n            '                ^   ! '];\n        var expected = '-----a--------b-----c|';\n        var result = e1.audit(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should audit with duration Observable using next to close the duration', function () {\n        var e1 = hot('-a-xy-----b--x--cxxx-|');\n        var e1subs = '^                    !';\n        var e2 = cold('----x-y-z            ');\n        var e2subs = [' ^   !                ',\n            '          ^   !       ',\n            '                ^   ! '];\n        var expected = '-----y--------x-----x|';\n        var result = e1.audit(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should interrupt source and duration when result is unsubscribed early', function () {\n        var e1 = hot('-a-x-y-z-xyz-x-y-z----b--x-x-|');\n        var unsub = '              !               ';\n        var e1subs = '^             !               ';\n        var e2 = cold('-----x------------|          ');\n        var e2subs = [' ^    !                       ',\n            '       ^    !                 ',\n            '             ^!               '];\n        var expected = '------y-----z--               ';\n        var result = e1.audit(function () { return e2; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('-a-x-y-z-xyz-x-y-z----b--x-x-|');\n        var e1subs = '^             !               ';\n        var e2 = cold('-----x------------|          ');\n        var e2subs = [' ^    !                       ',\n            '       ^    !                 ',\n            '             ^!               '];\n        var expected = '------y-----z--               ';\n        var unsub = '              !               ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .audit(function () { return e2; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle a busy producer emitting a regular repeating sequence', function () {\n        var e1 = hot('abcdefabcdefabcdefabcdefa|');\n        var e1subs = '^                        !';\n        var e2 = cold('-----|                    ');\n        var e2subs = ['^    !                    ',\n            '      ^    !              ',\n            '            ^    !        ',\n            '                  ^    !  ',\n            '                        ^!'];\n        var expected = '-----f-----f-----f-----f-|';\n        var result = e1.audit(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should mirror source if durations are always empty', function () {\n        var e1 = hot('abcdefabcdefabcdefabcdefa|');\n        var e1subs = '^                        !';\n        var e2 = cold('|');\n        var expected = 'abcdefabcdefabcdefabcdefa|';\n        var result = e1.audit(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit no values if duration is a never', function () {\n        var e1 = hot('----abcdefabcdefabcdefabcdefa|');\n        var e1subs = '^                            !';\n        var e2 = cold('-');\n        var e2subs = '    ^                        !';\n        var expected = '-----------------------------|';\n        var result = e1.audit(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should unsubscribe duration Observable when source raise error', function () {\n        var e1 = hot('----abcdefabcdefabcdefabcdefa#');\n        var e1subs = '^                            !';\n        var e2 = cold('-');\n        var e2subs = '    ^                        !';\n        var expected = '-----------------------------#';\n        var result = e1.audit(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error as soon as just-throw duration is used', function () {\n        var e1 = hot('----abcdefabcdefabcdefabcdefa|');\n        var e1subs = '^   !                         ';\n        var e2 = cold('#');\n        var e2subs = '    (^!)                      ';\n        var expected = '----(-#)                      ';\n        var result = e1.audit(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should audit using durations of constying lengths', function () {\n        var e1 = hot('abcdefabcdabcdefghabca|   ');\n        var e1subs = '^                     !   ';\n        var e2 = [cold('-----|                    '),\n            cold('---|                '),\n            cold('-------|        '),\n            cold('--|     '),\n            cold('----|')];\n        var e2subs = ['^    !                    ',\n            '      ^  !                ',\n            '          ^      !        ',\n            '                  ^ !     ',\n            '                     ^!   '];\n        var expected = '-----f---d-------h--c-|   ';\n        var i = 0;\n        var result = e1.audit(function () { return e2[i++]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var j = 0; j < e2.length; j++) {\n            expectSubscriptions(e2[j].subscriptions).toBe(e2subs[j]);\n        }\n    });\n    it('should propagate error from duration Observable', function () {\n        var e1 = hot('abcdefabcdabcdefghabca|   ');\n        var e1subs = '^                !        ';\n        var e2 = [cold('-----|                    '),\n            cold('---|                '),\n            cold('-------#        ')];\n        var e2subs = ['^    !                    ',\n            '      ^  !                ',\n            '          ^      !        '];\n        var expected = '-----f---d-------#        ';\n        var i = 0;\n        var result = e1.audit(function () { return e2[i++]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var j = 0; j < e2.length; j++) {\n            expectSubscriptions(e2[j].subscriptions).toBe(e2subs[j]);\n        }\n    });\n    it('should propagate error thrown from durationSelector function', function () {\n        var e1 = hot('abcdefabcdabcdefghabca|   ');\n        var e1subs = '^         !               ';\n        var e2 = [cold('-----|                    '),\n            cold('---|                '),\n            cold('-------|        ')];\n        var e2subs = ['^    !                    ',\n            '      ^  !                '];\n        var expected = '-----f---d#               ';\n        var i = 0;\n        var result = e1.audit(function () {\n            if (i === 2) {\n                throw 'error';\n            }\n            return e2[i++];\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var j = 0; j < e2subs.length; j++) {\n            expectSubscriptions(e2[j].subscriptions).toBe(e2subs[j]);\n        }\n    });\n    it('should complete when source does not emit', function () {\n        var e1 = hot('-----|');\n        var subs = '^    !';\n        var expected = '-----|';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.audit(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raise error when source does not emit and raises error', function () {\n        var e1 = hot('-----#');\n        var subs = '^    !';\n        var expected = '-----#';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.audit(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle an empty source', function () {\n        var e1 = cold('|');\n        var subs = '(^!)';\n        var expected = '|';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.audit(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a never source', function () {\n        var e1 = cold('-');\n        var subs = '^';\n        var expected = '-';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.audit(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a throw source', function () {\n        var e1 = cold('#');\n        var subs = '(^!)';\n        var expected = '#';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.audit(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should audit by promise resolves', function (done) {\n        var e1 = Observable.interval(10).take(5);\n        var expected = [0, 1, 2, 3];\n        e1.audit(function () {\n            return new Promise(function (resolve) { resolve(42); });\n        }).subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function () {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should raise error when promise rejects', function (done) {\n        var e1 = Observable.interval(10).take(10);\n        var expected = [0, 1, 2];\n        var error = new Error('error');\n        e1.audit(function (x) {\n            if (x === 3) {\n                return new Promise(function (resolve, reject) { reject(error); });\n            }\n            else {\n                return new Promise(function (resolve) { resolve(42); });\n            }\n        }).subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (err) {\n            chai_1.expect(err).to.be.an('error', 'error');\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n});\n//# sourceMappingURL=audit-spec.js.map"
  },
  {
    "__docId__": 1441,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe547",
    "testId": 547,
    "memberof": "spec-js/operators/audit-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/audit-spec.js~describe547",
    "access": null,
    "description": "Observable.prototype.audit",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{audit}"
      }
    ],
    "testTargets": [
      "audit"
    ]
  },
  {
    "__docId__": 1442,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it548",
    "testId": 548,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it548",
    "access": null,
    "description": "should delay the source if values are not emitted often enough",
    "lineNumber": 20
  },
  {
    "__docId__": 1443,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it549",
    "testId": 549,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it549",
    "access": null,
    "description": "should audit with duration Observable using next to close the duration",
    "lineNumber": 33
  },
  {
    "__docId__": 1444,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it550",
    "testId": 550,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it550",
    "access": null,
    "description": "should interrupt source and duration when result is unsubscribed early",
    "lineNumber": 46
  },
  {
    "__docId__": 1445,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it551",
    "testId": 551,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it551",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 60
  },
  {
    "__docId__": 1446,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it552",
    "testId": 552,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it552",
    "access": null,
    "description": "should handle a busy producer emitting a regular repeating sequence",
    "lineNumber": 77
  },
  {
    "__docId__": 1447,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it553",
    "testId": 553,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it553",
    "access": null,
    "description": "should mirror source if durations are always empty",
    "lineNumber": 92
  },
  {
    "__docId__": 1448,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it554",
    "testId": 554,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it554",
    "access": null,
    "description": "should emit no values if duration is a never",
    "lineNumber": 101
  },
  {
    "__docId__": 1449,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it555",
    "testId": 555,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it555",
    "access": null,
    "description": "should unsubscribe duration Observable when source raise error",
    "lineNumber": 112
  },
  {
    "__docId__": 1450,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it556",
    "testId": 556,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it556",
    "access": null,
    "description": "should raise error as soon as just-throw duration is used",
    "lineNumber": 123
  },
  {
    "__docId__": 1451,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it557",
    "testId": 557,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it557",
    "access": null,
    "description": "should audit using durations of constying lengths",
    "lineNumber": 134
  },
  {
    "__docId__": 1452,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it558",
    "testId": 558,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it558",
    "access": null,
    "description": "should propagate error from duration Observable",
    "lineNumber": 156
  },
  {
    "__docId__": 1453,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it559",
    "testId": 559,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it559",
    "access": null,
    "description": "should propagate error thrown from durationSelector function",
    "lineNumber": 174
  },
  {
    "__docId__": 1454,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it560",
    "testId": 560,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it560",
    "access": null,
    "description": "should complete when source does not emit",
    "lineNumber": 196
  },
  {
    "__docId__": 1455,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it561",
    "testId": 561,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it561",
    "access": null,
    "description": "should raise error when source does not emit and raises error",
    "lineNumber": 204
  },
  {
    "__docId__": 1456,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it562",
    "testId": 562,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it562",
    "access": null,
    "description": "should handle an empty source",
    "lineNumber": 212
  },
  {
    "__docId__": 1457,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it563",
    "testId": 563,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it563",
    "access": null,
    "description": "should handle a never source",
    "lineNumber": 220
  },
  {
    "__docId__": 1458,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it564",
    "testId": 564,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it564",
    "access": null,
    "description": "should handle a throw source",
    "lineNumber": 228
  },
  {
    "__docId__": 1459,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it565",
    "testId": 565,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it565",
    "access": null,
    "description": "should audit by promise resolves",
    "lineNumber": 236
  },
  {
    "__docId__": 1460,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it566",
    "testId": 566,
    "memberof": "spec-js/operators/audit-spec.js~describe547",
    "testDepth": 1,
    "longname": "spec-js/operators/audit-spec.js~describe547.it566",
    "access": null,
    "description": "should raise error when promise rejects",
    "lineNumber": 250
  },
  {
    "__docId__": 1461,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/auditTime-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/auditTime-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {auditTime} */\ndescribe('Observable.prototype.auditTime', function () {\n    asDiagram('auditTime(50)')('should emit the last value in each time window', function () {\n        var e1 = hot('-a-x-y----b---x-cx---|');\n        var subs = '^                    !';\n        var expected = '------y--------x-----|';\n        var result = e1.auditTime(50, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should auditTime events by 50 time units', function (done) {\n        Observable.of(1, 2, 3)\n            .auditTime(50)\n            .subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, null, function () {\n            done();\n        });\n    });\n    it('should auditTime events multiple times', function () {\n        var expected = ['1-2', '2-2'];\n        Observable.concat(Observable.timer(0, 10, rxTestScheduler).take(3).map(function (x) { return '1-' + x; }), Observable.timer(80, 10, rxTestScheduler).take(5).map(function (x) { return '2-' + x; }))\n            .auditTime(50, rxTestScheduler)\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        });\n        rxTestScheduler.flush();\n    });\n    it('should delay the source if values are not emitted often enough', function () {\n        var e1 = hot('-a--------b-----c----|');\n        var subs = '^                    !';\n        var expected = '------a--------b-----|';\n        expectObservable(e1.auditTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a busy producer emitting a regular repeating sequence', function () {\n        var e1 = hot('abcdefabcdefabcdefabcdefa|');\n        var subs = '^                        !';\n        var expected = '-----f-----f-----f-----f-|';\n        expectObservable(e1.auditTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should complete when source does not emit', function () {\n        var e1 = hot('-----|');\n        var subs = '^    !';\n        var expected = '-----|';\n        expectObservable(e1.auditTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raise error when source does not emit and raises error', function () {\n        var e1 = hot('-----#');\n        var subs = '^    !';\n        var expected = '-----#';\n        expectObservable(e1.auditTime(10, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle an empty source', function () {\n        var e1 = cold('|');\n        var subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.auditTime(30, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a never source', function () {\n        var e1 = cold('-');\n        var subs = '^';\n        var expected = '-';\n        expectObservable(e1.auditTime(30, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a throw source', function () {\n        var e1 = cold('#');\n        var subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.auditTime(30, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not complete when source does not complete', function () {\n        var e1 = hot('-a--(bc)-------d----------------');\n        var unsub = '                               !';\n        var subs = '^                              !';\n        var expected = '------c-------------d-----------';\n        expectObservable(e1.auditTime(50, rxTestScheduler), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('-a--(bc)-------d----------------');\n        var subs = '^                              !';\n        var expected = '------c-------------d-----------';\n        var unsub = '                               !';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .auditTime(50, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should auditTime values until source raises error', function () {\n        var e1 = hot('-a--(bc)-------d---------------#');\n        var subs = '^                              !';\n        var expected = '------c-------------d----------#';\n        expectObservable(e1.auditTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=auditTime-spec.js.map"
  },
  {
    "__docId__": 1462,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe567",
    "testId": 567,
    "memberof": "spec-js/operators/auditTime-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/auditTime-spec.js~describe567",
    "access": null,
    "description": "Observable.prototype.auditTime",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{auditTime}"
      }
    ],
    "testTargets": [
      "auditTime"
    ]
  },
  {
    "__docId__": 1463,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it568",
    "testId": 568,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it568",
    "access": null,
    "description": "should auditTime events by 50 time units",
    "lineNumber": 15
  },
  {
    "__docId__": 1464,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it569",
    "testId": 569,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it569",
    "access": null,
    "description": "should auditTime events multiple times",
    "lineNumber": 24
  },
  {
    "__docId__": 1465,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it570",
    "testId": 570,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it570",
    "access": null,
    "description": "should delay the source if values are not emitted often enough",
    "lineNumber": 33
  },
  {
    "__docId__": 1466,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it571",
    "testId": 571,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it571",
    "access": null,
    "description": "should handle a busy producer emitting a regular repeating sequence",
    "lineNumber": 40
  },
  {
    "__docId__": 1467,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it572",
    "testId": 572,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it572",
    "access": null,
    "description": "should complete when source does not emit",
    "lineNumber": 47
  },
  {
    "__docId__": 1468,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it573",
    "testId": 573,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it573",
    "access": null,
    "description": "should raise error when source does not emit and raises error",
    "lineNumber": 54
  },
  {
    "__docId__": 1469,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it574",
    "testId": 574,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it574",
    "access": null,
    "description": "should handle an empty source",
    "lineNumber": 61
  },
  {
    "__docId__": 1470,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it575",
    "testId": 575,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it575",
    "access": null,
    "description": "should handle a never source",
    "lineNumber": 68
  },
  {
    "__docId__": 1471,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it576",
    "testId": 576,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it576",
    "access": null,
    "description": "should handle a throw source",
    "lineNumber": 75
  },
  {
    "__docId__": 1472,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it577",
    "testId": 577,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it577",
    "access": null,
    "description": "should not complete when source does not complete",
    "lineNumber": 82
  },
  {
    "__docId__": 1473,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it578",
    "testId": 578,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it578",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 90
  },
  {
    "__docId__": 1474,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it579",
    "testId": 579,
    "memberof": "spec-js/operators/auditTime-spec.js~describe567",
    "testDepth": 1,
    "longname": "spec-js/operators/auditTime-spec.js~describe567.it579",
    "access": null,
    "description": "should auditTime values until source raises error",
    "lineNumber": 102
  },
  {
    "__docId__": 1475,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/buffer-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/buffer-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {buffer} */\ndescribe('Observable.prototype.buffer', function () {\n    asDiagram('buffer')('should emit buffers that close and reopen', function () {\n        var a = hot('-a-b-c-d-e-f-g-h-i-|');\n        var b = hot('-----B-----B-----B-|');\n        var expected = '-----x-----y-----z-|';\n        var expectedValues = {\n            x: ['a', 'b', 'c'],\n            y: ['d', 'e', 'f'],\n            z: ['g', 'h', 'i']\n        };\n        expectObservable(a.buffer(b)).toBe(expected, expectedValues);\n    });\n    it('should work with empty and empty selector', function () {\n        var a = Observable.empty();\n        var b = Observable.empty();\n        var expected = '|';\n        expectObservable(a.buffer(b)).toBe(expected);\n    });\n    it('should work with empty and non-empty selector', function () {\n        var a = Observable.empty();\n        var b = hot('-----a-----');\n        var expected = '|';\n        expectObservable(a.buffer(b)).toBe(expected);\n    });\n    it('should work with non-empty and empty selector', function () {\n        var a = hot('--1--2--^--3--4--5---6----7--8--9---0---|');\n        var b = Observable.empty();\n        var expected = '|';\n        expectObservable(a.buffer(b)).toBe(expected);\n    });\n    it('should work with never and never selector', function () {\n        var a = Observable.never();\n        var b = Observable.never();\n        var expected = '-';\n        expectObservable(a.buffer(b)).toBe(expected);\n    });\n    it('should work with never and empty selector', function () {\n        var a = Observable.never();\n        var b = Observable.empty();\n        var expected = '|';\n        expectObservable(a.buffer(b)).toBe(expected);\n    });\n    it('should work with empty and never selector', function () {\n        var a = Observable.empty();\n        var b = Observable.never();\n        var expected = '|';\n        expectObservable(a.buffer(b)).toBe(expected);\n    });\n    it('should work with non-empty and throw selector', function () {\n        var a = hot('---^--a--');\n        var b = Observable.throw(new Error('too bad'));\n        var expected = '#';\n        expectObservable(a.buffer(b)).toBe(expected, null, new Error('too bad'));\n    });\n    it('should work with throw and non-empty selector', function () {\n        var a = Observable.throw(new Error('too bad'));\n        var b = hot('---^--a--');\n        var expected = '#';\n        expectObservable(a.buffer(b)).toBe(expected, null, new Error('too bad'));\n    });\n    it('should work with error', function () {\n        var a = hot('---^-------#', null, new Error('too bad'));\n        var b = hot('---^--------');\n        var expected = '--------#';\n        expectObservable(a.buffer(b)).toBe(expected, null, new Error('too bad'));\n    });\n    it('should work with error and non-empty selector', function () {\n        var a = hot('---^-------#', null, new Error('too bad'));\n        var b = hot('---^---a----');\n        var expected = '----a---#';\n        expectObservable(a.buffer(b)).toBe(expected, { a: [] }, new Error('too bad'));\n    });\n    it('should work with selector', function () {\n        // Buffer Boundaries Simple (RxJS 4)\n        var a = hot('--1--2--^--3--4--5---6----7--8--9---0---|');\n        var b = hot('--------^--a-------b---cd---------e---f---|');\n        var expected = '---a-------b---cd---------e---f-|';\n        var expectedValues = {\n            a: ['3'],\n            b: ['4', '5'],\n            c: ['6'],\n            d: [],\n            e: ['7', '8', '9'],\n            f: ['0']\n        };\n        expectObservable(a.buffer(b)).toBe(expected, expectedValues);\n    });\n    it('should work with selector completed', function () {\n        // Buffer Boundaries onCompletedBoundaries (RxJS 4)\n        var a = hot('--1--2--^--3--4--5---6----7--8--9---0---|');\n        var subs = '^                !               ';\n        var b = hot('--------^--a-------b---cd|               ');\n        var expected = '---a-------b---cd|               ';\n        var expectedValues = {\n            a: ['3'],\n            b: ['4', '5'],\n            c: ['6'],\n            d: []\n        };\n        expectObservable(a.buffer(b)).toBe(expected, expectedValues);\n        expectSubscriptions(a.subscriptions).toBe(subs);\n    });\n    it('should allow unsubscribing the result Observable early', function () {\n        var a = hot('--1--2--^--3--4--5---6----7--8--9---0---|');\n        var unsub = '              !                  ';\n        var subs = '^             !                  ';\n        var b = hot('--------^--a-------b---cd|               ');\n        var expected = '---a-------b---                  ';\n        var expectedValues = {\n            a: ['3'],\n            b: ['4', '5']\n        };\n        expectObservable(a.buffer(b), unsub).toBe(expected, expectedValues);\n        expectSubscriptions(a.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var a = hot('--1--2--^--3--4--5---6----7--8--9---0---|');\n        var subs = '^             !                  ';\n        var b = hot('--------^--a-------b---cd|               ');\n        var expected = '---a-------b---                  ';\n        var unsub = '              !                  ';\n        var expectedValues = {\n            a: ['3'],\n            b: ['4', '5']\n        };\n        var result = a\n            .mergeMap(function (x) { return Observable.of(x); })\n            .buffer(b)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, expectedValues);\n        expectSubscriptions(a.subscriptions).toBe(subs);\n    });\n    it('should work with non-empty and selector error', function () {\n        // Buffer Boundaries onErrorSource (RxJS 4)\n        var a = hot('--1--2--^--3-----#', { '3': 3 }, new Error('too bad'));\n        var subs = '^        !';\n        var b = hot('--------^--a--b---');\n        var expected = '---a--b--#';\n        var expectedValues = {\n            a: [3],\n            b: []\n        };\n        expectObservable(a.buffer(b)).toBe(expected, expectedValues, new Error('too bad'));\n        expectSubscriptions(a.subscriptions).toBe(subs);\n    });\n    it('should work with non-empty and empty selector error', function () {\n        var a = hot('--1--2--^--3--4--5---6----7--8--9---0---|');\n        var b = hot('--------^----------------#', null, new Error('too bad'));\n        var expected = '-----------------#';\n        expectObservable(a.buffer(b)).toBe(expected, null, new Error('too bad'));\n    });\n    it('should work with non-empty and selector error', function () {\n        // Buffer Boundaries onErrorBoundaries (RxJS 4)\n        var obj = { a: true, b: true, c: true };\n        var a = hot('--1--2--^--3--4--5---6----7--8--9---0---|');\n        var subs = '^                !';\n        var b = hot('--------^--a-------b---c-#', obj, new Error('too bad'));\n        var expected = '---a-------b---c-#';\n        var expectedValues = {\n            a: ['3'],\n            b: ['4', '5'],\n            c: ['6']\n        };\n        expectObservable(a.buffer(b)).toBe(expected, expectedValues, new Error('too bad'));\n        expectSubscriptions(a.subscriptions).toBe(subs);\n    });\n    it('should unsubscribe notifier when source unsubscribed', function () {\n        var a = hot('--1--2--^--3--4--5---6----7--8--9---0---|');\n        var unsub = '              !                  ';\n        var subs = '^             !                  ';\n        var b = hot('--------^--a-------b---cd|               ');\n        var bsubs = '^             !                  ';\n        var expected = '---a-------b---                  ';\n        var expectedValues = {\n            a: ['3'],\n            b: ['4', '5']\n        };\n        expectObservable(a.buffer(b), unsub).toBe(expected, expectedValues);\n        expectSubscriptions(a.subscriptions).toBe(subs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should unsubscribe notifier when source unsubscribed', function () {\n        var a = hot('-a-b-c-d-e-f-g-h-i-|');\n        var b = hot('-----1-----2-----3-|');\n        var bsubs = '^    !';\n        var expected = '-----(x|)';\n        var expectedValues = {\n            x: ['a', 'b', 'c'],\n        };\n        expectObservable(a.buffer(b).take(1)).toBe(expected, expectedValues);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n});\n//# sourceMappingURL=buffer-spec.js.map"
  },
  {
    "__docId__": 1476,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe580",
    "testId": 580,
    "memberof": "spec-js/operators/buffer-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/buffer-spec.js~describe580",
    "access": null,
    "description": "Observable.prototype.buffer",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{buffer}"
      }
    ],
    "testTargets": [
      "buffer"
    ]
  },
  {
    "__docId__": 1477,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it581",
    "testId": 581,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it581",
    "access": null,
    "description": "should work with empty and empty selector",
    "lineNumber": 17
  },
  {
    "__docId__": 1478,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it582",
    "testId": 582,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it582",
    "access": null,
    "description": "should work with empty and non-empty selector",
    "lineNumber": 23
  },
  {
    "__docId__": 1479,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it583",
    "testId": 583,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it583",
    "access": null,
    "description": "should work with non-empty and empty selector",
    "lineNumber": 29
  },
  {
    "__docId__": 1480,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it584",
    "testId": 584,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it584",
    "access": null,
    "description": "should work with never and never selector",
    "lineNumber": 35
  },
  {
    "__docId__": 1481,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it585",
    "testId": 585,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it585",
    "access": null,
    "description": "should work with never and empty selector",
    "lineNumber": 41
  },
  {
    "__docId__": 1482,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it586",
    "testId": 586,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it586",
    "access": null,
    "description": "should work with empty and never selector",
    "lineNumber": 47
  },
  {
    "__docId__": 1483,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it587",
    "testId": 587,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it587",
    "access": null,
    "description": "should work with non-empty and throw selector",
    "lineNumber": 53
  },
  {
    "__docId__": 1484,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it588",
    "testId": 588,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it588",
    "access": null,
    "description": "should work with throw and non-empty selector",
    "lineNumber": 59
  },
  {
    "__docId__": 1485,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it589",
    "testId": 589,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it589",
    "access": null,
    "description": "should work with error",
    "lineNumber": 65
  },
  {
    "__docId__": 1486,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it590",
    "testId": 590,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it590",
    "access": null,
    "description": "should work with error and non-empty selector",
    "lineNumber": 71
  },
  {
    "__docId__": 1487,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it591",
    "testId": 591,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it591",
    "access": null,
    "description": "should work with selector",
    "lineNumber": 77
  },
  {
    "__docId__": 1488,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it592",
    "testId": 592,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it592",
    "access": null,
    "description": "should work with selector completed",
    "lineNumber": 92
  },
  {
    "__docId__": 1489,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it593",
    "testId": 593,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it593",
    "access": null,
    "description": "should allow unsubscribing the result Observable early",
    "lineNumber": 107
  },
  {
    "__docId__": 1490,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it594",
    "testId": 594,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it594",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 120
  },
  {
    "__docId__": 1491,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it595",
    "testId": 595,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it595",
    "access": null,
    "description": "should work with non-empty and selector error",
    "lineNumber": 137
  },
  {
    "__docId__": 1492,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it596",
    "testId": 596,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it596",
    "access": null,
    "description": "should work with non-empty and empty selector error",
    "lineNumber": 150
  },
  {
    "__docId__": 1493,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it597",
    "testId": 597,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it597",
    "access": null,
    "description": "should work with non-empty and selector error",
    "lineNumber": 156
  },
  {
    "__docId__": 1494,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it598",
    "testId": 598,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it598",
    "access": null,
    "description": "should unsubscribe notifier when source unsubscribed",
    "lineNumber": 171
  },
  {
    "__docId__": 1495,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it599",
    "testId": 599,
    "memberof": "spec-js/operators/buffer-spec.js~describe580",
    "testDepth": 1,
    "longname": "spec-js/operators/buffer-spec.js~describe580.it599",
    "access": null,
    "description": "should unsubscribe notifier when source unsubscribed",
    "lineNumber": 186
  },
  {
    "__docId__": 1496,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/bufferCount-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/bufferCount-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar chai_1 = require('chai');\nvar Observable = Rx.Observable;\n/** @test {bufferCount} */\ndescribe('Observable.prototype.bufferCount', function () {\n    asDiagram('bufferCount(3,2)')('should emit buffers at intervals', function () {\n        var values = {\n            v: ['a', 'b', 'c'],\n            w: ['c', 'd', 'e'],\n            x: ['e', 'f', 'g'],\n            y: ['g', 'h', 'i'],\n            z: ['i']\n        };\n        var e1 = hot('--a--b--c--d--e--f--g--h--i--|');\n        var expected = '--------v-----w-----x-----y--(z|)';\n        expectObservable(e1.bufferCount(3, 2)).toBe(expected, values);\n    });\n    it('should emit buffers at buffersize of intervals if not specified', function () {\n        var values = {\n            x: ['a', 'b'],\n            y: ['c', 'd'],\n            z: ['e', 'f']\n        };\n        var e1 = hot('--a--b--c--d--e--f--|');\n        var expected = '-----x-----y-----z--|';\n        expectObservable(e1.bufferCount(2)).toBe(expected, values);\n    });\n    it('should buffer properly (issue #2062)', function () {\n        var item$ = new Rx.Subject();\n        var results = [];\n        item$\n            .bufferCount(3, 1)\n            .subscribe(function (value) {\n            results.push(value);\n            if (value.join() === '1,2,3') {\n                item$.next(4);\n            }\n        });\n        item$.next(1);\n        item$.next(2);\n        item$.next(3);\n        chai_1.expect(results).to.deep.equal([[1, 2, 3], [2, 3, 4]]);\n    });\n    it('should emit partial buffers if source completes before reaching specified buffer count', function () {\n        var e1 = hot('--a--b--c--d--|');\n        var expected = '--------------(x|)';\n        expectObservable(e1.bufferCount(5)).toBe(expected, { x: ['a', 'b', 'c', 'd'] });\n    });\n    it('should emit full buffer then last partial buffer if source completes', function () {\n        var e1 = hot('--a^-b--c--d--e--|');\n        var e1subs = '^             !';\n        var expected = '--------y-----(z|)';\n        expectObservable(e1.bufferCount(3)).toBe(expected, { y: ['b', 'c', 'd'], z: ['e'] });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit buffers at intervals, but stop when result is unsubscribed early', function () {\n        var values = {\n            v: ['a', 'b', 'c'],\n            w: ['c', 'd', 'e']\n        };\n        var e1 = hot('--a--b--c--d--e--f--g--h--i--|');\n        var unsub = '                  !           ';\n        var subs = '^                 !           ';\n        var expected = '--------v-----w----           ';\n        expectObservable(e1.bufferCount(3, 2), unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var values = {\n            v: ['a', 'b', 'c'],\n            w: ['c', 'd', 'e']\n        };\n        var e1 = hot('--a--b--c--d--e--f--g--h--i--|');\n        var subs = '^                 !           ';\n        var expected = '--------v-----w----           ';\n        var unsub = '                  !           ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .bufferCount(3, 2)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raise error if source raise error before reaching specified buffer count', function () {\n        var e1 = hot('--a--b--c--d--#');\n        var e1subs = '^             !';\n        var expected = '--------------#';\n        expectObservable(e1.bufferCount(5)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit buffers with specified skip count when skip count is less than window count', function () {\n        var values = {\n            v: ['a', 'b', 'c'],\n            w: ['b', 'c', 'd'],\n            x: ['c', 'd', 'e'],\n            y: ['d', 'e'],\n            z: ['e']\n        };\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var expected = '--------v--w--x--(yz|)';\n        expectObservable(e1.bufferCount(3, 1)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit buffers with specified skip count when skip count is more than window count', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var expected = '-----y--------z--|';\n        var values = {\n            y: ['a', 'b'],\n            z: ['d', 'e']\n        };\n        expectObservable(e1.bufferCount(2, 3)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=bufferCount-spec.js.map"
  },
  {
    "__docId__": 1497,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe600",
    "testId": 600,
    "memberof": "spec-js/operators/bufferCount-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600",
    "access": null,
    "description": "Observable.prototype.bufferCount",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{bufferCount}"
      }
    ],
    "testTargets": [
      "bufferCount"
    ]
  },
  {
    "__docId__": 1498,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it601",
    "testId": 601,
    "memberof": "spec-js/operators/bufferCount-spec.js~describe600",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600.it601",
    "access": null,
    "description": "should emit buffers at buffersize of intervals if not specified",
    "lineNumber": 19
  },
  {
    "__docId__": 1499,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it602",
    "testId": 602,
    "memberof": "spec-js/operators/bufferCount-spec.js~describe600",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600.it602",
    "access": null,
    "description": "should buffer properly (issue #2062)",
    "lineNumber": 29
  },
  {
    "__docId__": 1500,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it603",
    "testId": 603,
    "memberof": "spec-js/operators/bufferCount-spec.js~describe600",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600.it603",
    "access": null,
    "description": "should emit partial buffers if source completes before reaching specified buffer count",
    "lineNumber": 45
  },
  {
    "__docId__": 1501,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it604",
    "testId": 604,
    "memberof": "spec-js/operators/bufferCount-spec.js~describe600",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600.it604",
    "access": null,
    "description": "should emit full buffer then last partial buffer if source completes",
    "lineNumber": 50
  },
  {
    "__docId__": 1502,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it605",
    "testId": 605,
    "memberof": "spec-js/operators/bufferCount-spec.js~describe600",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600.it605",
    "access": null,
    "description": "should emit buffers at intervals, but stop when result is unsubscribed early",
    "lineNumber": 57
  },
  {
    "__docId__": 1503,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it606",
    "testId": 606,
    "memberof": "spec-js/operators/bufferCount-spec.js~describe600",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600.it606",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 69
  },
  {
    "__docId__": 1504,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it607",
    "testId": 607,
    "memberof": "spec-js/operators/bufferCount-spec.js~describe600",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600.it607",
    "access": null,
    "description": "should raise error if source raise error before reaching specified buffer count",
    "lineNumber": 85
  },
  {
    "__docId__": 1505,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it608",
    "testId": 608,
    "memberof": "spec-js/operators/bufferCount-spec.js~describe600",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600.it608",
    "access": null,
    "description": "should emit buffers with specified skip count when skip count is less than window count",
    "lineNumber": 92
  },
  {
    "__docId__": 1506,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it609",
    "testId": 609,
    "memberof": "spec-js/operators/bufferCount-spec.js~describe600",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferCount-spec.js~describe600.it609",
    "access": null,
    "description": "should emit buffers with specified skip count when skip count is more than window count",
    "lineNumber": 106
  },
  {
    "__docId__": 1507,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/bufferTime-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/bufferTime-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {bufferTime} */\ndescribe('Observable.prototype.bufferTime', function () {\n    asDiagram('bufferTime(100)')('should emit buffers at intervals', function () {\n        var e1 = hot('---a---b---c---d---e---f---g-----|');\n        var subs = '^                                !';\n        var t = time('----------|');\n        var expected = '----------w---------x---------y--(z|)';\n        var values = {\n            w: ['a', 'b'],\n            x: ['c', 'd', 'e'],\n            y: ['f', 'g'],\n            z: []\n        };\n        var result = e1.bufferTime(t, null, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should emit buffers at intervals test 2', function () {\n        var e1 = hot('---------a---------b---------c---------d---------e---------g--------|');\n        var t = time('--------------------------------|');\n        var expected = '--------------------------------x-------------------------------y---(z|)';\n        var values = {\n            x: ['a', 'b', 'c'],\n            y: ['d', 'e', 'g'],\n            z: []\n        };\n        var result = e1.bufferTime(t, null, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should emit buffers at intervals or when the buffer is full', function () {\n        var e1 = hot('---a---b---c---d---e---f---g-----|');\n        var subs = '^                                !';\n        var t = time('----------|');\n        var expected = '-------w-------x-------y---------(z|)';\n        var values = {\n            w: ['a', 'b'],\n            x: ['c', 'd'],\n            y: ['e', 'f'],\n            z: ['g']\n        };\n        var result = e1.bufferTime(t, null, 2, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should emit buffers at intervals or when the buffer is full test 2', function () {\n        var e1 = hot('---a---b---c---d---e---f---g-----|');\n        var subs = '^                                !';\n        var t = time('----------|');\n        var expected = '----------w--------x---------y---(z|)';\n        var values = {\n            w: ['a', 'b'],\n            x: ['c', 'd', 'e'],\n            y: ['f', 'g'],\n            z: []\n        };\n        var result = e1.bufferTime(t, null, 3, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should emit buffers that have been created at intervals and close after the specified delay', function () {\n        var e1 = hot('---a---b---c----d----e----f----g----h----i----(k|)');\n        // --------------------*--------------------*----  start interval\n        // ---------------------|                          timespans\n        //                     ---------------------|\n        //                                          -----|\n        var t = time('---------------------|');\n        var interval = time('--------------------|');\n        var expected = '---------------------x-------------------y----(z|)';\n        var values = {\n            x: ['a', 'b', 'c', 'd', 'e'],\n            y: ['e', 'f', 'g', 'h', 'i'],\n            z: ['i', 'k']\n        };\n        var result = e1.bufferTime(t, interval, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should emit buffers that have been created at intervals and close after the specified delay ' +\n        'or when the buffer is full', function () {\n        var e1 = hot('---a---b---c----d----e----f----g----h----i----(k|)');\n        // --------------------*--------------------*----  start interval\n        // ---------------------|                          timespans\n        //                     ---------------------|\n        //                                          -----|\n        var t = time('---------------------|');\n        var interval = time('--------------------|');\n        var expected = '----------------x-------------------y---------(z|)';\n        var values = {\n            x: ['a', 'b', 'c', 'd'],\n            y: ['e', 'f', 'g', 'h'],\n            z: ['i', 'k']\n        };\n        var result = e1.bufferTime(t, interval, 4, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should emit buffers with timeSpan 100 and creationInterval 70', function () {\n        var e1 = hot('--1--^2--3---4---5--6--7---8----9------------|');\n        // -------*------*------*------*------*----- creation interval\n        // ----------|                               timespans\n        //        ----------|\n        //               ----------|\n        //                      ----------|\n        //                             ----------|\n        //                                    ----------|\n        var e1subs = '^                                       !';\n        var t = time('----------|');\n        var interval = time('-------|');\n        var expected = '----------a------b------c------d------e-(f|)';\n        var values = {\n            a: ['2', '3', '4'],\n            b: ['4', '5', '6'],\n            c: ['6', '7', '8'],\n            d: ['8', '9'],\n            e: [],\n            f: []\n        };\n        var result = e1.bufferTime(t, interval, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit buffers but handle source ending with an error', function () {\n        var e1 = hot('--1--^2--3---4---5--6--7---8----9------------#');\n        // -------*------*------*------*------*----- creation interval\n        // ----------|                               timespans\n        //        ----------|\n        //               ----------|\n        //                      ----------|\n        //                             ----------|\n        //                                    ----------|\n        var t = time('----------|');\n        var interval = time('-------|');\n        var expected = '----------a------b------c------d------e-#';\n        var values = {\n            a: ['2', '3', '4'],\n            b: ['4', '5', '6'],\n            c: ['6', '7', '8'],\n            d: ['8', '9'],\n            e: []\n        };\n        var result = e1.bufferTime(t, interval, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should emit buffers and allow result to unsubscribed early', function () {\n        var e1 = hot('--1--^2--3---4---5--6--7---8----9------------|');\n        var unsub = '                 !                       ';\n        var subs = '^                !                       ';\n        // -------*------*------*------*------*----- creation interval\n        // ----------|                               timespans\n        //        ----------|\n        //               ----------|\n        var t = time('----------|');\n        var interval = time('-------|');\n        var expected = '----------a------                        ';\n        var values = {\n            a: ['2', '3', '4']\n        };\n        var result = e1.bufferTime(t, interval, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--1--^2--3---4---5--6--7---8----9------------|');\n        var subs = '^               !                        ';\n        // -------*------*------*------*------*----- creation interval\n        // ----------|                               timespans\n        //        ----------|\n        //               ----------|\n        var t = time('----------|');\n        var interval = time('-------|');\n        var expected = '----------a------                        ';\n        var unsub = '                !                        ';\n        var values = {\n            a: ['2', '3', '4']\n        };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .bufferTime(t, interval, Number.POSITIVE_INFINITY, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '(b|)';\n        var values = { b: [] };\n        var t = time('----------|');\n        var result = e1.bufferTime(t, null, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle never', function () {\n        var e1 = cold('-');\n        var unsub = '                                            !';\n        var t = time('----------|');\n        var expected = '----------a---------a---------a---------a----';\n        var result = e1.bufferTime(t, null, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected, { a: [] });\n    });\n    it('should handle throw', function () {\n        var e1 = Observable.throw(new Error('haha'));\n        var expected = '#';\n        var t = time('----------|');\n        var result = e1.bufferTime(t, null, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, undefined, new Error('haha'));\n    });\n    it('should handle errors', function () {\n        var e1 = hot('---a---b---c---#');\n        var e1subs = '^              !';\n        var t = time('----------|');\n        var expected = '----------w----#';\n        var values = {\n            w: ['a', 'b']\n        };\n        var result = e1.bufferTime(t, null, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit buffers that have been created at intervals and close after ' +\n        'the specified delay with errors', function () {\n        var e1 = hot('---a---b---c----d----e----f----g----h----i--#');\n        // --------------------*--------------------*----  start interval\n        // ---------------------|                          timespans\n        //                     ---------------------|\n        //                                          -----|\n        var e1subs = '^                                           !';\n        var t = time('---------------------|');\n        var interval = time('--------------------|');\n        var expected = '---------------------x-------------------y--#';\n        var values = {\n            x: ['a', 'b', 'c', 'd', 'e'],\n            y: ['e', 'f', 'g', 'h', 'i']\n        };\n        var result = e1.bufferTime(t, interval, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not throw when subscription synchronously unsubscribed after emit', function () {\n        var e1 = hot('---a---b---c---d---e---f---g-----|');\n        var subs = '^                   !';\n        var t = time('----------|');\n        var expected = '----------w---------(x|)';\n        var values = {\n            w: ['a', 'b'],\n            x: ['c', 'd', 'e']\n        };\n        var result = e1.bufferTime(t, null, Number.POSITIVE_INFINITY, rxTestScheduler).take(2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not have errors when take follows and maxBufferSize is provided', function () {\n        var tick = 10;\n        var bufferTime = 50;\n        var expected = '-----a----b----c----d----(e|)';\n        var values = {\n            a: [0, 1, 2, 3],\n            b: [4, 5, 6, 7, 8],\n            c: [9, 10, 11, 12, 13],\n            d: [14, 15, 16, 17, 18],\n            e: [19, 20, 21, 22, 23]\n        };\n        var source = Rx.Observable.interval(tick, rxTestScheduler)\n            .bufferTime(bufferTime, null, 10, rxTestScheduler)\n            .take(5);\n        expectObservable(source).toBe(expected, values);\n    });\n});\n//# sourceMappingURL=bufferTime-spec.js.map"
  },
  {
    "__docId__": 1508,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe610",
    "testId": 610,
    "memberof": "spec-js/operators/bufferTime-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610",
    "access": null,
    "description": "Observable.prototype.bufferTime",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{bufferTime}"
      }
    ],
    "testTargets": [
      "bufferTime"
    ]
  },
  {
    "__docId__": 1509,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it611",
    "testId": 611,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it611",
    "access": null,
    "description": "should emit buffers at intervals test 2",
    "lineNumber": 21
  },
  {
    "__docId__": 1510,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it612",
    "testId": 612,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it612",
    "access": null,
    "description": "should emit buffers at intervals or when the buffer is full",
    "lineNumber": 33
  },
  {
    "__docId__": 1511,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it613",
    "testId": 613,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it613",
    "access": null,
    "description": "should emit buffers at intervals or when the buffer is full test 2",
    "lineNumber": 48
  },
  {
    "__docId__": 1512,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it614",
    "testId": 614,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it614",
    "access": null,
    "description": "should emit buffers that have been created at intervals and close after the specified delay",
    "lineNumber": 63
  },
  {
    "__docId__": 1513,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it615",
    "testId": 615,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it615",
    "access": null,
    "lineNumber": 80
  },
  {
    "__docId__": 1514,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it616",
    "testId": 616,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it616",
    "access": null,
    "description": "should emit buffers with timeSpan 100 and creationInterval 70",
    "lineNumber": 98
  },
  {
    "__docId__": 1515,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it617",
    "testId": 617,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it617",
    "access": null,
    "description": "should emit buffers but handle source ending with an error",
    "lineNumber": 123
  },
  {
    "__docId__": 1516,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it618",
    "testId": 618,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it618",
    "access": null,
    "description": "should emit buffers and allow result to unsubscribed early",
    "lineNumber": 145
  },
  {
    "__docId__": 1517,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it619",
    "testId": 619,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it619",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 163
  },
  {
    "__docId__": 1518,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it620",
    "testId": 620,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it620",
    "access": null,
    "description": "should handle empty",
    "lineNumber": 184
  },
  {
    "__docId__": 1519,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it621",
    "testId": 621,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it621",
    "access": null,
    "description": "should handle never",
    "lineNumber": 194
  },
  {
    "__docId__": 1520,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it622",
    "testId": 622,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it622",
    "access": null,
    "description": "should handle throw",
    "lineNumber": 202
  },
  {
    "__docId__": 1521,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it623",
    "testId": 623,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it623",
    "access": null,
    "description": "should handle errors",
    "lineNumber": 209
  },
  {
    "__docId__": 1522,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it624",
    "testId": 624,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it624",
    "access": null,
    "lineNumber": 221
  },
  {
    "__docId__": 1523,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it625",
    "testId": 625,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it625",
    "access": null,
    "description": "should not throw when subscription synchronously unsubscribed after emit",
    "lineNumber": 240
  },
  {
    "__docId__": 1524,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it626",
    "testId": 626,
    "memberof": "spec-js/operators/bufferTime-spec.js~describe610",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferTime-spec.js~describe610.it626",
    "access": null,
    "description": "should not have errors when take follows and maxBufferSize is provided",
    "lineNumber": 253
  },
  {
    "__docId__": 1525,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/bufferToggle-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/bufferToggle-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {bufferToggle} */\ndescribe('Observable.prototype.bufferToggle', function () {\n    asDiagram('bufferToggle')('should emit buffers using hot openings and hot closings', function () {\n        var e1 = hot('---a---b---c---d---e---f---g---|');\n        var e2 = hot('--o------------------o---------|');\n        var e3 = hot('---------c---------------c-----|');\n        var expected = '---------x---------------y-----|';\n        var values = {\n            x: ['a', 'b'],\n            y: ['f'],\n        };\n        var result = e1.bufferToggle(e2, function (x) { return e3; });\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should emit buffers that are opened by an observable from the first argument ' +\n        'and closed by an observable returned by the function in the second argument', function () {\n        var e1 = hot('-----a----b----c----d----e----f----g----h----i----|');\n        var e2 = cold('-------------x-------------y--------------z-------|');\n        var e3 = cold('---------------(j|)');\n        //                                         ---------------(j|)\n        //                                                        ---------------(j|)\n        var expected = '----------------------------q-------------r-------(s|)';\n        var values = {\n            q: ['c', 'd', 'e'],\n            r: ['f', 'g', 'h'],\n            s: ['i']\n        };\n        var innerVals = ['x', 'y', 'z'];\n        expectObservable(e1.bufferToggle(e2, function (x) {\n            chai_1.expect(x).to.equal(innerVals.shift());\n            return e3;\n        })).toBe(expected, values);\n    });\n    it('should emit buffers using constying cold closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var e2 = cold('--x-----------y--------z---|              ');\n        var subs = '^                                  !      ';\n        var closings = [\n            cold('---------------s--|                     '),\n            cold('----(s|)                    '),\n            cold('---------------(s|)')];\n        var closeSubs = ['  ^              !                        ',\n            '              ^   !                       ',\n            '                       ^           !      '];\n        var expected = '-----------------ij----------------(k|)   ';\n        var values = {\n            i: ['b', 'c', 'd', 'e'],\n            j: ['e'],\n            k: ['g', 'h']\n        };\n        var i = 0;\n        var result = e1.bufferToggle(e2, function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n        expectSubscriptions(closings[2].subscriptions).toBe(closeSubs[2]);\n    });\n    it('should emit buffers using constying hot closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|   ');\n        var e2 = cold('--x-----------y--------z---|           ');\n        var subs = '^                                  !   ';\n        var closings = [\n            { obs: hot('-1--^----------------s-|                   '),\n                sub: '  ^              !                     ' },\n            { obs: hot('-----3----4-------(s|)                 '),\n                sub: '              ^   !                    ' },\n            { obs: hot('-------3----4-------5----------------s|'),\n                sub: '                       ^           !   ' }]; // eslint-disable-line key-spacing\n        var expected = '-----------------ij----------------(k|)';\n        var values = {\n            i: ['b', 'c', 'd', 'e'],\n            j: ['e'],\n            k: ['g', 'h']\n        };\n        var i = 0;\n        var result = e1.bufferToggle(e2, function () { return closings[i++].obs; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        for (var j = 0; j < closings.length; j++) {\n            expectSubscriptions(closings[j].obs.subscriptions).toBe(closings[j].sub);\n        }\n    });\n    it('should emit buffers using constying empty delayed closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|   ');\n        var e2 = cold('--x-----------y--------z---|           ');\n        var subs = '^                                  !   ';\n        var closings = [\n            cold('---------------|                     '),\n            cold('----|                    '),\n            cold('---------------|')];\n        var expected = '-----------------ij----------------(k|)';\n        var values = {\n            i: ['b', 'c', 'd', 'e'],\n            j: ['e'],\n            k: ['g', 'h']\n        };\n        var i = 0;\n        var result = e1.bufferToggle(e2, function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should emit buffers using constying cold closings, outer unsubscribed early', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var subs = '^         !                               ';\n        var e2 = cold('--x-----------y--------z---|              ');\n        var closings = [\n            cold('---------------s--|                     '),\n            cold('----(s|)                    '),\n            cold('---------------(s|)')];\n        var csub0 = '  ^       !                               ';\n        var expected = '-----------                               ';\n        var unsub = '          !                               ';\n        var values = {\n            i: ['b', 'c', 'd', 'e']\n        };\n        var i = 0;\n        var result = e1.bufferToggle(e2, function () { return closings[i++]; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(csub0);\n        expectSubscriptions(closings[1].subscriptions).toBe([]);\n        expectSubscriptions(closings[2].subscriptions).toBe([]);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var subs = '^                 !                       ';\n        var e2 = cold('--x-----------y--------z---|              ');\n        var closings = [\n            cold('---------------s--|                     '),\n            cold('----(s|)                    '),\n            cold('---------------(s|)')];\n        var expected = '-----------------i-                       ';\n        var unsub = '                  !                       ';\n        var values = {\n            i: ['b', 'c', 'd', 'e']\n        };\n        var i = 0;\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .bufferToggle(e2, function () { return closings[i++]; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should propagate error thrown from closingSelector', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var e2 = cold('--x-----------y--------z---|              ');\n        var subs = '^             !                           ';\n        var closings = [\n            cold('---------------s--|                     '),\n            cold('----(s|)                    '),\n            cold('---------------(s|)')];\n        var closeSubs0 = '  ^           !                           ';\n        var expected = '--------------#                           ';\n        var i = 0;\n        var result = e1.bufferToggle(e2, function () {\n            if (i === 1) {\n                throw 'error';\n            }\n            return closings[i++];\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs0);\n        expectSubscriptions(closings[1].subscriptions).toBe([]);\n        expectSubscriptions(closings[2].subscriptions).toBe([]);\n    });\n    it('should propagate error emitted from a closing', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e2 = cold('--x-----------y--------z---|        ');\n        var subs = '^             !                     ';\n        var closings = [\n            cold('---------------s--|               '),\n            cold('#                     ')];\n        var closeSubs = ['  ^           !                     ',\n            '              (^!)                  '];\n        var expected = '--------------#                     ';\n        var i = 0;\n        var result = e1.bufferToggle(e2, function () { return closings[i++]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should propagate error emitted late from a closing', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e2 = cold('--x-----------y--------z---|        ');\n        var subs = '^                  !                ';\n        var closings = [\n            cold('---------------s--|               '),\n            cold('-----#                ')];\n        var closeSubs = ['  ^              !                  ',\n            '              ^    !                '];\n        var expected = '-----------------i-#                ';\n        var values = {\n            i: ['b', 'c', 'd', 'e']\n        };\n        var i = 0;\n        var result = e1.bufferToggle(e2, function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should handle errors', function () {\n        var e1 = hot('--a--^---b---c---d---e--#        ');\n        var e2 = cold('--x-----------y--------z---|');\n        var subs = '^                  !        ';\n        var closings = [\n            cold('---------------s--|       '),\n            cold('-------s|     ')];\n        var closeSubs = ['  ^              !                  ',\n            '              ^    !                '];\n        var expected = '-----------------i-#        ';\n        var values = {\n            i: ['b', 'c', 'd', 'e']\n        };\n        var i = 0;\n        var result = e1.bufferToggle(e2, function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should handle empty source', function () {\n        var e1 = cold('|');\n        var e2 = cold('--o-----|');\n        var e3 = cold('-----c--|');\n        var expected = '|';\n        var values = { x: [] };\n        var result = e1.bufferToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should handle throw', function () {\n        var e1 = cold('#');\n        var e2 = cold('--o-----|');\n        var e3 = cold('-----c--|');\n        var expected = '#';\n        var values = { x: [] };\n        var result = e1.bufferToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should handle never', function () {\n        var e1 = hot('-');\n        var e2 = cold('--o-----o------o-----o---o-----|');\n        var e3 = cold('--c-|');\n        var unsub = '                                            !';\n        var subs = '^                                           !';\n        var expected = '----x-----x------x-----x---x-----------------';\n        var values = { x: [] };\n        var result = e1.bufferToggle(e2, function () { return e3; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a never opening Observable', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e2 = cold('-');\n        var e3 = cold('--c-|');\n        var expected = '-----------------------------------|';\n        var result = e1.bufferToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected);\n    });\n    it('should handle a never closing Observable', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e2 = cold('---o---------------o-----------|');\n        var e3 = cold('-');\n        var expected = '-----------------------------------(xy|)';\n        var values = {\n            x: ['b', 'c', 'd', 'e', 'f', 'g', 'h'],\n            y: ['f', 'g', 'h']\n        };\n        var result = e1.bufferToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should handle opening Observable that just throws', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '(^!)';\n        var e2 = cold('#');\n        var e2subs = '(^!)';\n        var e3 = cold('--c-|');\n        var expected = '#';\n        var result = e1.bufferToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should accept openings resolved promise', function (done) {\n        var e1 = Observable.concat(Observable.timer(10).mapTo(1), Observable.timer(100).mapTo(2), Observable.timer(150).mapTo(3), Observable.timer(200).mapTo(4));\n        var expected = [[1]];\n        e1.bufferToggle(new Promise(function (resolve) { resolve(42); }), function () {\n            return Observable.timer(50);\n        }).subscribe(function (x) {\n            chai_1.expect(x).to.deep.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected.length).to.be.equal(0);\n            done();\n        });\n    });\n    it('should accept openings rejected promise', function (done) {\n        var e1 = Observable.concat(Observable.of(1), Observable.timer(10).mapTo(2), Observable.timer(10).mapTo(3), Observable.timer(100).mapTo(4));\n        var expected = 42;\n        e1.bufferToggle(new Promise(function (resolve, reject) { reject(expected); }), function () {\n            return Observable.timer(50);\n        }).subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.equal(expected);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should accept closing selector that returns a resolved promise', function (done) {\n        var e1 = Observable.concat(Observable.of(1), Observable.timer(10).mapTo(2), Observable.timer(10).mapTo(3), Observable.timer(100).mapTo(4));\n        var expected = [[1]];\n        e1.bufferToggle(Observable.of(10), function () { return new Promise(function (resolve) { resolve(42); }); })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.deep.equal(expected.shift());\n        }, function () {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected.length).to.be.equal(0);\n            done();\n        });\n    });\n    it('should accept closing selector that returns a rejected promise', function (done) {\n        var e1 = Observable.concat(Observable.of(1), Observable.timer(10).mapTo(2), Observable.timer(10).mapTo(3), Observable.timer(100).mapTo(4));\n        var expected = 42;\n        e1.bufferToggle(Observable.of(10), function () { return new Promise(function (resolve, reject) { reject(expected); }); })\n            .subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.equal(expected);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should handle empty closing observable', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var subs = '^                                  !';\n        var e2 = cold('--x-----------y--------z---|        ');\n        var expected = '--l-----------m--------n-----------|';\n        var result = e1.bufferToggle(e2, function () { return Observable.empty(); });\n        expectObservable(result).toBe(expected, { l: [], m: [], n: [] });\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=bufferToggle-spec.js.map"
  },
  {
    "__docId__": 1526,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe627",
    "testId": 627,
    "memberof": "spec-js/operators/bufferToggle-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627",
    "access": null,
    "description": "Observable.prototype.bufferToggle",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{bufferToggle}"
      }
    ],
    "testTargets": [
      "bufferToggle"
    ]
  },
  {
    "__docId__": 1527,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it628",
    "testId": 628,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it628",
    "access": null,
    "lineNumber": 19
  },
  {
    "__docId__": 1528,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it629",
    "testId": 629,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it629",
    "access": null,
    "description": "should emit buffers using constying cold closings",
    "lineNumber": 38
  },
  {
    "__docId__": 1529,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it630",
    "testId": 630,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it630",
    "access": null,
    "description": "should emit buffers using constying hot closings",
    "lineNumber": 63
  },
  {
    "__docId__": 1530,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it631",
    "testId": 631,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it631",
    "access": null,
    "description": "should emit buffers using constying empty delayed closings",
    "lineNumber": 88
  },
  {
    "__docId__": 1531,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it632",
    "testId": 632,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it632",
    "access": null,
    "description": "should emit buffers using constying cold closings, outer unsubscribed early",
    "lineNumber": 107
  },
  {
    "__docId__": 1532,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it633",
    "testId": 633,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it633",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 129
  },
  {
    "__docId__": 1533,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it634",
    "testId": 634,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it634",
    "access": null,
    "description": "should propagate error thrown from closingSelector",
    "lineNumber": 150
  },
  {
    "__docId__": 1534,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it635",
    "testId": 635,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it635",
    "access": null,
    "description": "should propagate error emitted from a closing",
    "lineNumber": 173
  },
  {
    "__docId__": 1535,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it636",
    "testId": 636,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it636",
    "access": null,
    "description": "should propagate error emitted late from a closing",
    "lineNumber": 190
  },
  {
    "__docId__": 1536,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it637",
    "testId": 637,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it637",
    "access": null,
    "description": "should handle errors",
    "lineNumber": 210
  },
  {
    "__docId__": 1537,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it638",
    "testId": 638,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it638",
    "access": null,
    "description": "should handle empty source",
    "lineNumber": 230
  },
  {
    "__docId__": 1538,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it639",
    "testId": 639,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it639",
    "access": null,
    "description": "should handle throw",
    "lineNumber": 239
  },
  {
    "__docId__": 1539,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it640",
    "testId": 640,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it640",
    "access": null,
    "description": "should handle never",
    "lineNumber": 248
  },
  {
    "__docId__": 1540,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it641",
    "testId": 641,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it641",
    "access": null,
    "description": "should handle a never opening Observable",
    "lineNumber": 260
  },
  {
    "__docId__": 1541,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it642",
    "testId": 642,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it642",
    "access": null,
    "description": "should handle a never closing Observable",
    "lineNumber": 268
  },
  {
    "__docId__": 1542,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it643",
    "testId": 643,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it643",
    "access": null,
    "description": "should handle opening Observable that just throws",
    "lineNumber": 280
  },
  {
    "__docId__": 1543,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it644",
    "testId": 644,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it644",
    "access": null,
    "description": "should accept openings resolved promise",
    "lineNumber": 292
  },
  {
    "__docId__": 1544,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it645",
    "testId": 645,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it645",
    "access": null,
    "description": "should accept openings rejected promise",
    "lineNumber": 306
  },
  {
    "__docId__": 1545,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it646",
    "testId": 646,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it646",
    "access": null,
    "description": "should accept closing selector that returns a resolved promise",
    "lineNumber": 320
  },
  {
    "__docId__": 1546,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it647",
    "testId": 647,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it647",
    "access": null,
    "description": "should accept closing selector that returns a rejected promise",
    "lineNumber": 333
  },
  {
    "__docId__": 1547,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it648",
    "testId": 648,
    "memberof": "spec-js/operators/bufferToggle-spec.js~describe627",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferToggle-spec.js~describe627.it648",
    "access": null,
    "description": "should handle empty closing observable",
    "lineNumber": 346
  },
  {
    "__docId__": 1548,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/bufferWhen-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/bufferWhen-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {bufferWhen} */\ndescribe('Observable.prototype.bufferWhen', function () {\n    asDiagram('bufferWhen')('should emit buffers that close and reopen', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---------|');\n        var e2 = cold('--------------(s|)');\n        //                               --------------(s|)\n        var expected = '--------------x-------------y-----(z|)';\n        var values = {\n            x: ['b', 'c', 'd'],\n            y: ['e', 'f', 'g'],\n            z: []\n        };\n        expectObservable(e1.bufferWhen(function () { return e2; })).toBe(expected, values);\n    });\n    it('should emit buffers using constying cold closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var subs = '^                                  !      ';\n        var closings = [\n            cold('---------------s--|                       '),\n            cold('----------(s|)             '),\n            cold('-------------(s|)')];\n        var expected = '---------------x---------y---------(z|)   ';\n        var values = {\n            x: ['b', 'c', 'd'],\n            y: ['e', 'f', 'g'],\n            z: ['h']\n        };\n        var i = 0;\n        var result = e1.bufferWhen(function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should emit buffers using constying hot closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|   ');\n        var subs = '^                                  !   ';\n        var closings = [\n            { obs: hot('-1--^--------------s---|                   '),\n                sub: '^              !                       ' },\n            { obs: hot('--1-^----3--------4----------s-|           '),\n                sub: '               ^         !             ' },\n            { obs: hot('1-2-^------3----4-------5--6-----------s--|'),\n                sub: '                         ^         !   ' }]; // eslint-disable-line key-spacing\n        var expected = '---------------x---------y---------(z|)';\n        var values = {\n            x: ['b', 'c', 'd'],\n            y: ['e', 'f', 'g'],\n            z: ['h']\n        };\n        var i = 0;\n        var result = e1.bufferWhen(function () { return closings[i++].obs; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        for (var j = 0; j < closings.length; j++) {\n            expectSubscriptions(closings[j].obs.subscriptions).toBe(closings[j].sub);\n        }\n    });\n    it('should emit buffers using constying empty delayed closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|    ');\n        var subs = '^                                  !   ';\n        var closings = [\n            cold('---------------|                       '),\n            cold('----------|             '),\n            cold('-------------|')];\n        var closeSubs = ['^              !                       ',\n            '               ^         !             ',\n            '                         ^         !   '];\n        var expected = '---------------x---------y---------(z|)';\n        var values = {\n            x: ['b', 'c', 'd'],\n            y: ['e', 'f', 'g'],\n            z: ['h']\n        };\n        var i = 0;\n        var result = e1.bufferWhen(function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n        expectSubscriptions(closings[2].subscriptions).toBe(closeSubs[2]);\n    });\n    it('should emit buffers using constying cold closings, outer unsubscribed early', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var unsub = '                  !                       ';\n        var subs = '^                 !                       ';\n        var closings = [\n            cold('---------------(s|)                       '),\n            cold('----------(s|)             '),\n            cold('-------------(s|)')];\n        var closeSubs = ['^              !                          ',\n            '               ^  !                       '];\n        var expected = '---------------x---                       ';\n        var values = {\n            x: ['b', 'c', 'd']\n        };\n        var i = 0;\n        var result = e1.bufferWhen(function () { return closings[i++]; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n        expectSubscriptions(closings[2].subscriptions).toBe([]);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var subs = '^                 !                       ';\n        var closings = [\n            cold('---------------(s|)                       '),\n            cold('----------(s|)             '),\n            cold('-------------(s|)')];\n        var closeSubs = ['^              !                          ',\n            '               ^  !                       '];\n        var expected = '---------------x---                       ';\n        var unsub = '                  !                       ';\n        var values = {\n            x: ['b', 'c', 'd']\n        };\n        var i = 0;\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .bufferWhen(function () { return closings[i++]; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n        expectSubscriptions(closings[2].subscriptions).toBe([]);\n    });\n    it('should propagate error thrown from closingSelector', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var subs = '^              !                          ';\n        var closings = [\n            cold('---------------s--|                       '),\n            cold('----------(s|)             '),\n            cold('-------------(s|)')];\n        var closeSubs0 = '^              !                          ';\n        var expected = '---------------(x#)                       ';\n        var values = { x: ['b', 'c', 'd'] };\n        var i = 0;\n        var result = e1.bufferWhen(function () {\n            if (i === 1) {\n                throw 'error';\n            }\n            return closings[i++];\n        });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs0);\n    });\n    it('should propagate error emitted from a closing', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var subs = '^              !                    ';\n        var closings = [\n            cold('---------------s--|                 '),\n            cold('#                    ')];\n        var closeSubs = ['^              !                    ',\n            '               (^!)                 '];\n        var expected = '---------------(x#)                 ';\n        var values = { x: ['b', 'c', 'd'] };\n        var i = 0;\n        var result = e1.bufferWhen(function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should propagate error emitted late from a closing', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var subs = '^                    !              ';\n        var closings = [\n            cold('---------------s--|                 '),\n            cold('------#              ')];\n        var closeSubs = ['^              !                    ',\n            '               ^     !              '];\n        var expected = '---------------x-----#              ';\n        var values = { x: ['b', 'c', 'd'] };\n        var i = 0;\n        var result = e1.bufferWhen(function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should handle errors', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---#');\n        var e2 = cold('---------------(s|)');\n        //                                ---------------(s|)\n        var e2subs = ['^              !         ',\n            '               ^        !'];\n        var expected = '---------------x--------#';\n        var values = {\n            x: ['b', 'c', 'd']\n        };\n        var result = e1.bufferWhen(function () { return e2; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle empty', function () {\n        var e1 = cold('|');\n        var e2 = cold('--------(s|)');\n        var e1subs = '(^!)';\n        var expected = '(x|)';\n        var values = {\n            x: []\n        };\n        var result = e1.bufferWhen(function () { return e2; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle throw', function () {\n        var e1 = cold('#');\n        var e2 = cold('--------(s|)');\n        var e1subs = '(^!)';\n        var expected = '#';\n        var values = {\n            x: []\n        };\n        var result = e1.bufferWhen(function () { return e2; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle never', function () {\n        var e1 = hot('-');\n        var unsub = '                                            !';\n        var e1subs = '^                                           !';\n        var e2 = cold('--------(s|)                                 ');\n        var e2subs = ['^       !                                    ',\n            '        ^       !                            ',\n            '                ^       !                    ',\n            '                        ^       !            ',\n            '                                ^       !    ',\n            '                                        ^   !'];\n        var expected = '--------x-------x-------x-------x-------x----';\n        var values = {\n            x: []\n        };\n        var source = e1.bufferWhen(function () { return e2; });\n        expectObservable(source, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle an inner never', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e2 = cold('-');\n        var expected = '-----------------------------------(x|)';\n        var values = {\n            x: ['b', 'c', 'd', 'e', 'f', 'g', 'h']\n        };\n        expectObservable(e1.bufferWhen(function () { return e2; })).toBe(expected, values);\n    });\n    // bufferWhen is not supposed to handle a factory that returns always empty\n    // closing Observables, because doing such would constantly recreate a new\n    // buffer in a synchronous infinite loop until the stack overflows. This also\n    // happens with buffer in RxJS 4.\n    it('should NOT handle hot inner empty', function (done) {\n        var source = Observable.of(1, 2, 3, 4, 5, 6, 7, 8, 9);\n        var closing = Observable.empty();\n        var TOO_MANY_INVOCATIONS = 30;\n        source\n            .bufferWhen(function () { return closing; })\n            .takeWhile(function (val, index) { return index < TOO_MANY_INVOCATIONS; })\n            .subscribe(function (val) {\n            chai_1.expect(Array.isArray(val)).to.be.true;\n            chai_1.expect(val.length).to.equal(0);\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should handle inner throw', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '(^!)';\n        var e2 = cold('#');\n        var e2subs = '(^!)';\n        var expected = '#';\n        var values = {\n            x: ['b', 'c', 'd', 'e', 'f', 'g', 'h']\n        };\n        var result = e1.bufferWhen(function () { return e2; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle disposing of source', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var subs = '^                   !';\n        var unsub = '                    !';\n        var e2 = cold('---------------(s|)');\n        //                                        ---------------(s|)\n        var expected = '---------------x-----';\n        var values = {\n            x: ['b', 'c', 'd'],\n            y: ['e', 'f', 'g', 'h'],\n            z: []\n        };\n        var source = e1.bufferWhen(function () { return e2; });\n        expectObservable(source, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=bufferWhen-spec.js.map"
  },
  {
    "__docId__": 1549,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe649",
    "testId": 649,
    "memberof": "spec-js/operators/bufferWhen-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649",
    "access": null,
    "description": "Observable.prototype.bufferWhen",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{bufferWhen}"
      }
    ],
    "testTargets": [
      "bufferWhen"
    ]
  },
  {
    "__docId__": 1550,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it650",
    "testId": 650,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it650",
    "access": null,
    "description": "should emit buffers using constying cold closings",
    "lineNumber": 19
  },
  {
    "__docId__": 1551,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it651",
    "testId": 651,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it651",
    "access": null,
    "description": "should emit buffers using constying hot closings",
    "lineNumber": 37
  },
  {
    "__docId__": 1552,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it652",
    "testId": 652,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it652",
    "access": null,
    "description": "should emit buffers using constying empty delayed closings",
    "lineNumber": 61
  },
  {
    "__docId__": 1553,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it653",
    "testId": 653,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it653",
    "access": null,
    "description": "should emit buffers using constying cold closings, outer unsubscribed early",
    "lineNumber": 85
  },
  {
    "__docId__": 1554,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it654",
    "testId": 654,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it654",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 107
  },
  {
    "__docId__": 1555,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it655",
    "testId": 655,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it655",
    "access": null,
    "description": "should propagate error thrown from closingSelector",
    "lineNumber": 132
  },
  {
    "__docId__": 1556,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it656",
    "testId": 656,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it656",
    "access": null,
    "description": "should propagate error emitted from a closing",
    "lineNumber": 153
  },
  {
    "__docId__": 1557,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it657",
    "testId": 657,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it657",
    "access": null,
    "description": "should propagate error emitted late from a closing",
    "lineNumber": 170
  },
  {
    "__docId__": 1558,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it658",
    "testId": 658,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it658",
    "access": null,
    "description": "should handle errors",
    "lineNumber": 187
  },
  {
    "__docId__": 1559,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it659",
    "testId": 659,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it659",
    "access": null,
    "description": "should handle empty",
    "lineNumber": 201
  },
  {
    "__docId__": 1560,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it660",
    "testId": 660,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it660",
    "access": null,
    "description": "should handle throw",
    "lineNumber": 213
  },
  {
    "__docId__": 1561,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it661",
    "testId": 661,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it661",
    "access": null,
    "description": "should handle never",
    "lineNumber": 225
  },
  {
    "__docId__": 1562,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it662",
    "testId": 662,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it662",
    "access": null,
    "description": "should handle an inner never",
    "lineNumber": 245
  },
  {
    "__docId__": 1563,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it663",
    "testId": 663,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it663",
    "access": null,
    "description": "should NOT handle hot inner empty",
    "lineNumber": 258
  },
  {
    "__docId__": 1564,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it664",
    "testId": 664,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it664",
    "access": null,
    "description": "should handle inner throw",
    "lineNumber": 274
  },
  {
    "__docId__": 1565,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it665",
    "testId": 665,
    "memberof": "spec-js/operators/bufferWhen-spec.js~describe649",
    "testDepth": 1,
    "longname": "spec-js/operators/bufferWhen-spec.js~describe649.it665",
    "access": null,
    "description": "should handle disposing of source",
    "lineNumber": 288
  },
  {
    "__docId__": 1566,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/catch-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/catch-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar test_helper_1 = require('../helpers/test-helper');\nvar Observable = Rx.Observable;\n/** @test {catch} */\ndescribe('Observable.prototype.catch', function () {\n    asDiagram('catch')('should catch error and replace with a cold Observable', function () {\n        var e1 = hot('--a--b--#        ');\n        var e2 = cold('-1-2-3-|         ');\n        var expected = '--a--b---1-2-3-|)';\n        var result = e1.catch(function (err) { return e2; });\n        expectObservable(result).toBe(expected);\n    });\n    it('should catch error and replace it with Observable.of()', function () {\n        var e1 = hot('--a--b--c--------|');\n        var subs = '^       !';\n        var expected = '--a--b--(XYZ|)';\n        var result = e1\n            .map(function (n) {\n            if (n === 'c') {\n                throw 'bad';\n            }\n            return n;\n        })\n            .catch(function (err) {\n            return Observable.of('X', 'Y', 'Z');\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should catch error and replace it with a cold Observable', function () {\n        var e1 = hot('--a--b--#          ');\n        var e1subs = '^       !          ';\n        var e2 = cold('1-2-3-4-5-|');\n        var e2subs = '        ^         !';\n        var expected = '--a--b--1-2-3-4-5-|';\n        var result = e1.catch(function (err) { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--1-2-3-4-5-6---#');\n        var e1subs = '^      !         ';\n        var expected = '--1-2-3-         ';\n        var unsub = '       !         ';\n        var result = e1.catch(function () {\n            return Observable.of('X', 'Y', 'Z');\n        });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var e1 = hot('--1-2-3-4-5-6---#');\n        var e1subs = '^      !         ';\n        var expected = '--1-2-3-         ';\n        var unsub = '       !         ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .catch(function () {\n            return Observable.of('X', 'Y', 'Z');\n        })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should catch error and replace it with a hot Observable', function () {\n        var e1 = hot('--a--b--#          ');\n        var e1subs = '^       !          ';\n        var e2 = hot('1-2-3-4-5-6-7-8-9-|');\n        var e2subs = '        ^         !';\n        var expected = '--a--b--5-6-7-8-9-|';\n        var result = e1.catch(function (err) { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should catch and allow the cold observable to be repeated with the third ' +\n        '(caught) argument', function () {\n        var e1 = cold('--a--b--c--------|       ');\n        var subs = ['^       !                ',\n            '        ^       !        ',\n            '                ^       !'];\n        var expected = '--a--b----a--b----a--b--#';\n        var retries = 0;\n        var result = e1\n            .map(function (n) {\n            if (n === 'c') {\n                throw 'bad';\n            }\n            return n;\n        })\n            .catch(function (err, caught) {\n            if (retries++ === 2) {\n                throw 'done';\n            }\n            return caught;\n        });\n        expectObservable(result).toBe(expected, undefined, 'done');\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should catch and allow the hot observable to proceed with the third ' +\n        '(caught) argument', function () {\n        var e1 = hot('--a--b--c----d---|');\n        var subs = ['^       !         ',\n            '        ^        !'];\n        var expected = '--a--b-------d---|';\n        var retries = 0;\n        var result = e1\n            .map(function (n) {\n            if (n === 'c') {\n                throw 'bad';\n            }\n            return n;\n        })\n            .catch(function (err, caught) {\n            if (retries++ === 2) {\n                throw 'done';\n            }\n            return caught;\n        });\n        expectObservable(result).toBe(expected, undefined, 'done');\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should catch and replace a Observable.throw() as the source', function () {\n        var e1 = cold('#');\n        var subs = '(^!)';\n        var expected = '(abc|)';\n        var result = e1.catch(function (err) { return Observable.of('a', 'b', 'c'); });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should mirror the source if it does not raise errors', function () {\n        var e1 = cold('--a--b--c--|');\n        var subs = '^          !';\n        var expected = '--a--b--c--|';\n        var result = e1.catch(function (err) { return Observable.of('x', 'y', 'z'); });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should complete if you return Observable.empty()', function () {\n        var e1 = hot('--a--b--#');\n        var e1subs = '^       !';\n        var e2 = cold('|');\n        var e2subs = '        (^!)';\n        var expected = '--a--b--|';\n        var result = e1.catch(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error if you return Observable.throw()', function () {\n        var e1 = hot('--a--b--#');\n        var e1subs = '^       !';\n        var e2 = cold('#');\n        var e2subs = '        (^!)';\n        var expected = '--a--b--#';\n        var result = e1.catch(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should never terminate if you return Observable.never()', function () {\n        var e1 = hot('--a--b--#');\n        var e1subs = '^       !';\n        var e2 = cold('-');\n        var e2subs = '        ^';\n        var expected = '--a--b---';\n        var result = e1.catch(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should pass the error as the first argument', function (done) {\n        Observable.throw('bad')\n            .catch(function (err) {\n            chai_1.expect(err).to.equal('bad');\n            return Observable.empty();\n        })\n            .subscribe(function () {\n            //noop\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should accept selector returns any ObservableInput', function (done) {\n        var input$ = test_helper_1.createObservableInputs(42);\n        input$.mergeMap(function (input) {\n            return Observable.throw('bad').catch(function (err) { return input; });\n        }).subscribe(function (x) {\n            chai_1.expect(x).to.be.equal(42);\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n});\n//# sourceMappingURL=catch-spec.js.map"
  },
  {
    "__docId__": 1567,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe666",
    "testId": 666,
    "memberof": "spec-js/operators/catch-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/catch-spec.js~describe666",
    "access": null,
    "description": "Observable.prototype.catch",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{catch}"
      }
    ],
    "testTargets": [
      "catch"
    ]
  },
  {
    "__docId__": 1568,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it667",
    "testId": 667,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it667",
    "access": null,
    "description": "should catch error and replace it with Observable.of()",
    "lineNumber": 15
  },
  {
    "__docId__": 1569,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it668",
    "testId": 668,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it668",
    "access": null,
    "description": "should catch error and replace it with a cold Observable",
    "lineNumber": 32
  },
  {
    "__docId__": 1570,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it669",
    "testId": 669,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it669",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 43
  },
  {
    "__docId__": 1571,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it670",
    "testId": 670,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it670",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 54
  },
  {
    "__docId__": 1572,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it671",
    "testId": 671,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it671",
    "access": null,
    "description": "should catch error and replace it with a hot Observable",
    "lineNumber": 68
  },
  {
    "__docId__": 1573,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it672",
    "testId": 672,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it672",
    "access": null,
    "lineNumber": 79
  },
  {
    "__docId__": 1574,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it673",
    "testId": 673,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it673",
    "access": null,
    "lineNumber": 103
  },
  {
    "__docId__": 1575,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it674",
    "testId": 674,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it674",
    "access": null,
    "description": "should catch and replace a Observable.throw() as the source",
    "lineNumber": 126
  },
  {
    "__docId__": 1576,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it675",
    "testId": 675,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it675",
    "access": null,
    "description": "should mirror the source if it does not raise errors",
    "lineNumber": 134
  },
  {
    "__docId__": 1577,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it676",
    "testId": 676,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it676",
    "access": null,
    "description": "should complete if you return Observable.empty()",
    "lineNumber": 142
  },
  {
    "__docId__": 1578,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it677",
    "testId": 677,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it677",
    "access": null,
    "description": "should raise error if you return Observable.throw()",
    "lineNumber": 153
  },
  {
    "__docId__": 1579,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it678",
    "testId": 678,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it678",
    "access": null,
    "description": "should never terminate if you return Observable.never()",
    "lineNumber": 164
  },
  {
    "__docId__": 1580,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it679",
    "testId": 679,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it679",
    "access": null,
    "description": "should pass the error as the first argument",
    "lineNumber": 175
  },
  {
    "__docId__": 1581,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it680",
    "testId": 680,
    "memberof": "spec-js/operators/catch-spec.js~describe666",
    "testDepth": 1,
    "longname": "spec-js/operators/catch-spec.js~describe666.it680",
    "access": null,
    "description": "should accept selector returns any ObservableInput",
    "lineNumber": 189
  },
  {
    "__docId__": 1582,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/combineAll-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/combineAll-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar queueScheduler = Rx.Scheduler.queue;\n/** @test {combineAll} */\ndescribe('Observable.prototype.combineAll', function () {\n    asDiagram('combineAll')('should combine events from two observables', function () {\n        var x = cold('-a-----b---|');\n        var y = cold('--1-2-|     ');\n        var outer = hot('-x----y--------|           ', { x: x, y: y });\n        var expected = '-----------------A-B--C---|';\n        var result = outer.combineAll(function (a, b) { return String(a) + String(b); });\n        expectObservable(result).toBe(expected, { A: 'a1', B: 'a2', C: 'b2' });\n    });\n    it('should work with two nevers', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('-');\n        var e2subs = '^';\n        var expected = '-';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with never and empty', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var expected = '-';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with empty and never', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('-');\n        var e2subs = '^';\n        var expected = '-';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with empty and empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var expected = '|';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot-empty and hot-single', function () {\n        var e1 = hot('-a-^-|');\n        var e1subs = '^ !';\n        var e2 = hot('-b-^-c-|');\n        var e2subs = '^   !';\n        var expected = '----|';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot-single and hot-empty', function () {\n        var e1 = hot('-a-^-|');\n        var e1subs = '^ !';\n        var e2 = hot('-b-^-c-|');\n        var e2subs = '^   !';\n        var expected = '----|';\n        var result = Observable.of(e2, e1).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot-single and never', function () {\n        var e1 = hot('-a-^-|');\n        var e1subs = '^ !';\n        var e2 = hot('------'); //never\n        var e2subs = '^  ';\n        var expected = '-'; //never\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with never and hot-single', function () {\n        var e1 = hot('--------'); //never\n        var e1subs = '^    ';\n        var e2 = hot('-a-^-b-|');\n        var e2subs = '^   !';\n        var expected = '-----'; //never\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot and hot', function () {\n        var e1 = hot('--a--^--b--c--|');\n        var e1subs = '^        !';\n        var e2 = hot('---e-^---f--g--|');\n        var e2subs = '^         !';\n        var expected = '----x-yz--|';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'bf', y: 'cf', z: 'cg' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--^--b--c---d-| ');\n        var e1subs = '^        !    ';\n        var e2 = hot('---e-^---f--g---h-|');\n        var e2subs = '^        !    ';\n        var expected = '----x-yz--    ';\n        var unsub = '         !    ';\n        var values = { x: 'bf', y: 'cf', z: 'cg' };\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--^--b--c---d-| ');\n        var e1subs = '^        !    ';\n        var e2 = hot('---e-^---f--g---h-|');\n        var e2subs = '^        !    ';\n        var expected = '----x-yz--    ';\n        var unsub = '         !    ';\n        var values = { x: 'bf', y: 'cf', z: 'cg' };\n        var result = Observable.of(e1, e2)\n            .mergeMap(function (x) { return Observable.of(x); })\n            .combineAll(function (x, y) { return x + y; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should combine 3 observables', function () {\n        var e1 = hot('--a--^--b--c--|');\n        var e1subs = '^        !';\n        var e2 = hot('---e-^---f--g--|');\n        var e2subs = '^         !';\n        var e3 = hot('---h-^----i--j-|');\n        var e3subs = '^         !';\n        var expected = '-----wxyz-|';\n        var result = Observable.of(e1, e2, e3).combineAll(function (x, y, z) { return x + y + z; });\n        expectObservable(result).toBe(expected, { w: 'bfi', x: 'cfi', y: 'cgi', z: 'cgj' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should work with empty and error', function () {\n        var e1 = hot('----------|'); //empty\n        var e1subs = '^     !';\n        var e2 = hot('------#', undefined, 'shazbot!'); //error\n        var e2subs = '^     !';\n        var expected = '------#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'shazbot!');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with error and empty', function () {\n        var e1 = hot('--^---#', undefined, 'too bad, honk'); //error\n        var e1subs = '^   !';\n        var e2 = hot('--^--------|'); //empty\n        var e2subs = '^   !';\n        var expected = '----#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'too bad, honk');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot and throw', function () {\n        var e1 = hot('-a-^--b--c--|');\n        var e1subs = '^ !';\n        var e2 = hot('---^-#', undefined, 'bazinga');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bazinga');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and hot', function () {\n        var e1 = hot('---^-#', undefined, 'bazinga');\n        var e1subs = '^ !';\n        var e2 = hot('-a-^--b--c--|');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bazinga');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and throw', function () {\n        var e1 = hot('---^----#', undefined, 'jenga');\n        var e1subs = '^ !';\n        var e2 = hot('---^-#', undefined, 'bazinga');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bazinga');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with error and throw', function () {\n        var e1 = hot('-a-^--b--#', undefined, 'wokka wokka');\n        var e1subs = '^ !';\n        var e2 = hot('---^-#', undefined, 'flurp');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'flurp');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and error', function () {\n        var e1 = hot('---^-#', undefined, 'flurp');\n        var e1subs = '^ !';\n        var e2 = hot('-a-^--b--#', undefined, 'wokka wokka');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'flurp');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with never and throw', function () {\n        var e1 = hot('---^-----------');\n        var e1subs = '^     !';\n        var e2 = hot('---^-----#', undefined, 'wokka wokka');\n        var e2subs = '^     !';\n        var expected = '------#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and never', function () {\n        var e1 = hot('---^----#', undefined, 'wokka wokka');\n        var e1subs = '^    !';\n        var e2 = hot('---^-----------');\n        var e2subs = '^    !';\n        var expected = '-----#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with some and throw', function () {\n        var e1 = hot('---^----a---b--|');\n        var e1subs = '^  !';\n        var e2 = hot('---^--#', undefined, 'wokka wokka');\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { a: 1, b: 2 }, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and some', function () {\n        var e1 = hot('---^--#', undefined, 'wokka wokka');\n        var e1subs = '^  !';\n        var e2 = hot('---^----a---b--|');\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle throw after complete left', function () {\n        var left = hot('--a--^--b---|');\n        var leftSubs = '^      !';\n        var right = hot('-----^--------#', undefined, 'bad things');\n        var rightSubs = '^        !';\n        var expected = '---------#';\n        var result = Observable.of(left, right).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bad things');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle throw after complete right', function () {\n        var left = hot('-----^--------#', undefined, 'bad things');\n        var leftSubs = '^        !';\n        var right = hot('--a--^--b---|');\n        var rightSubs = '^      !';\n        var expected = '---------#';\n        var result = Observable.of(left, right).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bad things');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle interleaved with tail', function () {\n        var e1 = hot('-a--^--b---c---|');\n        var e1subs = '^          !';\n        var e2 = hot('--d-^----e---f--|');\n        var e2subs = '^           !';\n        var expected = '-----x-y-z--|';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'be', y: 'ce', z: 'cf' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle two consecutive hot observables', function () {\n        var e1 = hot('--a--^--b--c--|');\n        var e1subs = '^        !';\n        var e2 = hot('-----^----------d--e--f--|');\n        var e2subs = '^                   !';\n        var expected = '-----------x--y--z--|';\n        var result = Observable.of(e1, e2).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'cd', y: 'ce', z: 'cf' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle two consecutive hot observables with error left', function () {\n        var left = hot('--a--^--b--c--#', undefined, 'jenga');\n        var leftSubs = '^        !';\n        var right = hot('-----^----------d--e--f--|');\n        var rightSubs = '^        !';\n        var expected = '---------#';\n        var result = Observable.of(left, right).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'jenga');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle two consecutive hot observables with error right', function () {\n        var left = hot('--a--^--b--c--|');\n        var leftSubs = '^        !';\n        var right = hot('-----^----------d--e--f--#', undefined, 'dun dun dun');\n        var rightSubs = '^                   !';\n        var expected = '-----------x--y--z--#';\n        var result = Observable.of(left, right).combineAll(function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'cd', y: 'ce', z: 'cf' }, 'dun dun dun');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle selector throwing', function () {\n        var e1 = hot('--a--^--b--|');\n        var e1subs = '^  !';\n        var e2 = hot('--c--^--d--|');\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = Observable.of(e1, e2).combineAll((function (x, y) { throw 'ha ha ' + x + ', ' + y; }));\n        expectObservable(result).toBe(expected, null, 'ha ha b, d');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should combine two observables', function (done) {\n        var a = Observable.of(1, 2, 3);\n        var b = Observable.of(4, 5, 6, 7, 8);\n        var expected = [[3, 4], [3, 5], [3, 6], [3, 7], [3, 8]];\n        Observable.of(a, b).combineAll().subscribe(function (vals) {\n            chai_1.expect(vals).to.deep.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should combine two immediately-scheduled observables', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, 7, 8, queueScheduler);\n        var r = [[1, 4], [2, 4], [2, 5], [3, 5], [3, 6], [3, 7], [3, 8]];\n        Observable.of(a, b, queueScheduler).combineAll()\n            .subscribe(function (vals) {\n            chai_1.expect(vals).to.deep.equal(r.shift());\n        }, null, function () {\n            chai_1.expect(r.length).to.equal(0);\n            done();\n        });\n    });\n});\n//# sourceMappingURL=combineAll-spec.js.map"
  },
  {
    "__docId__": 1583,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe681",
    "testId": 681,
    "memberof": "spec-js/operators/combineAll-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/combineAll-spec.js~describe681",
    "access": null,
    "description": "Observable.prototype.combineAll",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{combineAll}"
      }
    ],
    "testTargets": [
      "combineAll"
    ]
  },
  {
    "__docId__": 1584,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it682",
    "testId": 682,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it682",
    "access": null,
    "description": "should work with two nevers",
    "lineNumber": 16
  },
  {
    "__docId__": 1585,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it683",
    "testId": 683,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it683",
    "access": null,
    "description": "should work with never and empty",
    "lineNumber": 27
  },
  {
    "__docId__": 1586,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it684",
    "testId": 684,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it684",
    "access": null,
    "description": "should work with empty and never",
    "lineNumber": 38
  },
  {
    "__docId__": 1587,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it685",
    "testId": 685,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it685",
    "access": null,
    "description": "should work with empty and empty",
    "lineNumber": 49
  },
  {
    "__docId__": 1588,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it686",
    "testId": 686,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it686",
    "access": null,
    "description": "should work with hot-empty and hot-single",
    "lineNumber": 60
  },
  {
    "__docId__": 1589,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it687",
    "testId": 687,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it687",
    "access": null,
    "description": "should work with hot-single and hot-empty",
    "lineNumber": 71
  },
  {
    "__docId__": 1590,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it688",
    "testId": 688,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it688",
    "access": null,
    "description": "should work with hot-single and never",
    "lineNumber": 82
  },
  {
    "__docId__": 1591,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it689",
    "testId": 689,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it689",
    "access": null,
    "description": "should work with never and hot-single",
    "lineNumber": 93
  },
  {
    "__docId__": 1592,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it690",
    "testId": 690,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it690",
    "access": null,
    "description": "should work with hot and hot",
    "lineNumber": 104
  },
  {
    "__docId__": 1593,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it691",
    "testId": 691,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it691",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 115
  },
  {
    "__docId__": 1594,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it692",
    "testId": 692,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it692",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 128
  },
  {
    "__docId__": 1595,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it693",
    "testId": 693,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it693",
    "access": null,
    "description": "should combine 3 observables",
    "lineNumber": 144
  },
  {
    "__docId__": 1596,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it694",
    "testId": 694,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it694",
    "access": null,
    "description": "should work with empty and error",
    "lineNumber": 158
  },
  {
    "__docId__": 1597,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it695",
    "testId": 695,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it695",
    "access": null,
    "description": "should work with error and empty",
    "lineNumber": 169
  },
  {
    "__docId__": 1598,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it696",
    "testId": 696,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it696",
    "access": null,
    "description": "should work with hot and throw",
    "lineNumber": 180
  },
  {
    "__docId__": 1599,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it697",
    "testId": 697,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it697",
    "access": null,
    "description": "should work with throw and hot",
    "lineNumber": 191
  },
  {
    "__docId__": 1600,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it698",
    "testId": 698,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it698",
    "access": null,
    "description": "should work with throw and throw",
    "lineNumber": 202
  },
  {
    "__docId__": 1601,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it699",
    "testId": 699,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it699",
    "access": null,
    "description": "should work with error and throw",
    "lineNumber": 213
  },
  {
    "__docId__": 1602,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it700",
    "testId": 700,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it700",
    "access": null,
    "description": "should work with throw and error",
    "lineNumber": 224
  },
  {
    "__docId__": 1603,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it701",
    "testId": 701,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it701",
    "access": null,
    "description": "should work with never and throw",
    "lineNumber": 235
  },
  {
    "__docId__": 1604,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it702",
    "testId": 702,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it702",
    "access": null,
    "description": "should work with throw and never",
    "lineNumber": 246
  },
  {
    "__docId__": 1605,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it703",
    "testId": 703,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it703",
    "access": null,
    "description": "should work with some and throw",
    "lineNumber": 257
  },
  {
    "__docId__": 1606,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it704",
    "testId": 704,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it704",
    "access": null,
    "description": "should work with throw and some",
    "lineNumber": 268
  },
  {
    "__docId__": 1607,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it705",
    "testId": 705,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it705",
    "access": null,
    "description": "should handle throw after complete left",
    "lineNumber": 279
  },
  {
    "__docId__": 1608,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it706",
    "testId": 706,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it706",
    "access": null,
    "description": "should handle throw after complete right",
    "lineNumber": 290
  },
  {
    "__docId__": 1609,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it707",
    "testId": 707,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it707",
    "access": null,
    "description": "should handle interleaved with tail",
    "lineNumber": 301
  },
  {
    "__docId__": 1610,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it708",
    "testId": 708,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it708",
    "access": null,
    "description": "should handle two consecutive hot observables",
    "lineNumber": 312
  },
  {
    "__docId__": 1611,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it709",
    "testId": 709,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it709",
    "access": null,
    "description": "should handle two consecutive hot observables with error left",
    "lineNumber": 323
  },
  {
    "__docId__": 1612,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it710",
    "testId": 710,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it710",
    "access": null,
    "description": "should handle two consecutive hot observables with error right",
    "lineNumber": 334
  },
  {
    "__docId__": 1613,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it711",
    "testId": 711,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it711",
    "access": null,
    "description": "should handle selector throwing",
    "lineNumber": 345
  },
  {
    "__docId__": 1614,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it712",
    "testId": 712,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it712",
    "access": null,
    "description": "should combine two observables",
    "lineNumber": 356
  },
  {
    "__docId__": 1615,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it713",
    "testId": 713,
    "memberof": "spec-js/operators/combineAll-spec.js~describe681",
    "testDepth": 1,
    "longname": "spec-js/operators/combineAll-spec.js~describe681.it713",
    "access": null,
    "description": "should combine two immediately-scheduled observables",
    "lineNumber": 367
  },
  {
    "__docId__": 1616,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/combineLatest-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/combineLatest-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {combineLatest} */\ndescribe('Observable.prototype.combineLatest', function () {\n    asDiagram('combineLatest')('should combine events from two cold observables', function () {\n        var e1 = cold('-a--b-----c-d-e-|');\n        var e2 = cold('--1--2-3-4---|   ');\n        var expected = '--A-BC-D-EF-G-H-|';\n        var result = e1.combineLatest(e2, function (a, b) { return String(a) + String(b); });\n        expectObservable(result).toBe(expected, {\n            A: 'a1', B: 'b1', C: 'b2', D: 'b3', E: 'b4', F: 'c4', G: 'd4', H: 'e4'\n        });\n    });\n    it('should work with two nevers', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('-');\n        var e2subs = '^';\n        var expected = '-';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with never and empty', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var expected = '-';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with empty and never', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('-');\n        var e2subs = '^';\n        var expected = '-';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with empty and empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var expected = '|';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot-empty and hot-single', function () {\n        var values = {\n            a: 1,\n            b: 2,\n            c: 3,\n            r: 1 + 3 //a + c\n        };\n        var e1 = hot('-a-^-|', values);\n        var e1subs = '^ !';\n        var e2 = hot('-b-^-c-|', values);\n        var e2subs = '^   !';\n        var expected = '----|';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot-single and hot-empty', function () {\n        var values = {\n            a: 1, b: 2, c: 3\n        };\n        var e1 = hot('-a-^-|', values);\n        var e1subs = '^ !';\n        var e2 = hot('-b-^-c-|', values);\n        var e2subs = '^   !';\n        var expected = '----|';\n        var result = e2.combineLatest(e1, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot-single and never', function () {\n        var values = {\n            a: 1\n        };\n        var e1 = hot('-a-^-|', values);\n        var e1subs = '^ !';\n        var e2 = hot('------', values); //never\n        var e2subs = '^  ';\n        var expected = '-'; //never\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with never and hot-single', function () {\n        var values = {\n            a: 1, b: 2\n        };\n        var e1 = hot('--------', values); //never\n        var e1subs = '^    ';\n        var e2 = hot('-a-^-b-|', values);\n        var e2subs = '^   !';\n        var expected = '-----'; //never\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot and hot', function () {\n        var e1 = hot('--a--^--b--c--|', { a: 'a', b: 'b', c: 'c' });\n        var e1subs = '^        !';\n        var e2 = hot('---e-^---f--g--|', { e: 'e', f: 'f', g: 'g' });\n        var e2subs = '^         !';\n        var expected = '----x-yz--|';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'bf', y: 'cf', z: 'cg' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should accept array of observables', function () {\n        var e1 = hot('--a--^--b--c--|');\n        var e1subs = '^        !';\n        var e2 = hot('---e-^---f--g--|');\n        var e2subs = '^         !';\n        var e3 = hot('---h-^----i--j-|');\n        var e3subs = '^         !';\n        var expected = '-----wxyz-|';\n        var result = e1.combineLatest([e2, e3], function (x, y, z) { return x + y + z; });\n        expectObservable(result).toBe(expected, { w: 'bfi', x: 'cfi', y: 'cgi', z: 'cgj' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should work with empty and error', function () {\n        var e1 = hot('----------|'); //empty\n        var e1subs = '^     !';\n        var e2 = hot('------#', null, 'shazbot!'); //error\n        var e2subs = '^     !';\n        var expected = '------#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'shazbot!');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with error and empty', function () {\n        var e1 = hot('--^---#', null, 'too bad, honk'); //error\n        var e1subs = '^   !';\n        var e2 = hot('--^--------|'); //empty\n        var e2subs = '^   !';\n        var expected = '----#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'too bad, honk');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with hot and throw', function () {\n        var e1 = hot('-a-^--b--c--|', { a: 1, b: 2, c: 3 });\n        var e1subs = '^ !';\n        var e2 = hot('---^-#', null, 'bazinga');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bazinga');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and hot', function () {\n        var e1 = hot('---^-#', null, 'bazinga');\n        var e1subs = '^ !';\n        var e2 = hot('-a-^--b--c--|', { a: 1, b: 2, c: 3 });\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bazinga');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and throw', function () {\n        var e1 = hot('---^----#', null, 'jenga');\n        var e1subs = '^ !';\n        var e2 = hot('---^-#', null, 'bazinga');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bazinga');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with error and throw', function () {\n        var e1 = hot('-a-^--b--#', { a: 1, b: 2 }, 'wokka wokka');\n        var e1subs = '^ !';\n        var e2 = hot('---^-#', null, 'flurp');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'flurp');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and error', function () {\n        var e1 = hot('---^-#', null, 'flurp');\n        var e1subs = '^ !';\n        var e2 = hot('-a-^--b--#', { a: 1, b: 2 }, 'wokka wokka');\n        var e2subs = '^ !';\n        var expected = '--#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'flurp');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with never and throw', function () {\n        var e1 = hot('---^-----------');\n        var e1subs = '^     !';\n        var e2 = hot('---^-----#', null, 'wokka wokka');\n        var e2subs = '^     !';\n        var expected = '------#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and never', function () {\n        var e1 = hot('---^----#', null, 'wokka wokka');\n        var e1subs = '^    !';\n        var e2 = hot('---^-----------');\n        var e2subs = '^    !';\n        var expected = '-----#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with some and throw', function () {\n        var e1 = hot('---^----a---b--|', { a: 1, b: 2 });\n        var e1subs = '^  !';\n        var e2 = hot('---^--#', null, 'wokka wokka');\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { a: 1, b: 2 }, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should work with throw and some', function () {\n        var e1 = hot('---^--#', null, 'wokka wokka');\n        var e1subs = '^  !';\n        var e2 = hot('---^----a---b--|', { a: 1, b: 2 });\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { a: 1, b: 2 }, 'wokka wokka');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle throw after complete left', function () {\n        var left = hot('--a--^--b---|', { a: 1, b: 2 });\n        var leftSubs = '^      !';\n        var right = hot('-----^--------#', null, 'bad things');\n        var rightSubs = '^        !';\n        var expected = '---------#';\n        var result = left.combineLatest(right, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bad things');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle throw after complete right', function () {\n        var left = hot('-----^--------#', null, 'bad things');\n        var leftSubs = '^        !';\n        var right = hot('--a--^--b---|', { a: 1, b: 2 });\n        var rightSubs = '^      !';\n        var expected = '---------#';\n        var result = left.combineLatest(right, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'bad things');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle interleaved with tail', function () {\n        var e1 = hot('-a--^--b---c---|', { a: 'a', b: 'b', c: 'c' });\n        var e1subs = '^          !';\n        var e2 = hot('--d-^----e---f--|', { d: 'd', e: 'e', f: 'f' });\n        var e2subs = '^           !';\n        var expected = '-----x-y-z--|';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'be', y: 'ce', z: 'cf' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle two consecutive hot observables', function () {\n        var e1 = hot('--a--^--b--c--|', { a: 'a', b: 'b', c: 'c' });\n        var e1subs = '^        !';\n        var e2 = hot('-----^----------d--e--f--|', { d: 'd', e: 'e', f: 'f' });\n        var e2subs = '^                   !';\n        var expected = '-----------x--y--z--|';\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'cd', y: 'ce', z: 'cf' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle two consecutive hot observables with error left', function () {\n        var left = hot('--a--^--b--c--#', { a: 'a', b: 'b', c: 'c' }, 'jenga');\n        var leftSubs = '^        !';\n        var right = hot('-----^----------d--e--f--|', { d: 'd', e: 'e', f: 'f' });\n        var rightSubs = '^        !';\n        var expected = '---------#';\n        var result = left.combineLatest(right, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, null, 'jenga');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle two consecutive hot observables with error right', function () {\n        var left = hot('--a--^--b--c--|', { a: 'a', b: 'b', c: 'c' });\n        var leftSubs = '^        !';\n        var right = hot('-----^----------d--e--f--#', { d: 'd', e: 'e', f: 'f' }, 'dun dun dun');\n        var rightSubs = '^                   !';\n        var expected = '-----------x--y--z--#';\n        var result = left.combineLatest(right, function (x, y) { return x + y; });\n        expectObservable(result).toBe(expected, { x: 'cd', y: 'ce', z: 'cf' }, 'dun dun dun');\n        expectSubscriptions(left.subscriptions).toBe(leftSubs);\n        expectSubscriptions(right.subscriptions).toBe(rightSubs);\n    });\n    it('should handle selector throwing', function () {\n        var e1 = hot('--a--^--b--|', { a: 1, b: 2 });\n        var e1subs = '^  !';\n        var e2 = hot('--c--^--d--|', { c: 3, d: 4 });\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = e1.combineLatest(e2, function (x, y) { throw 'ha ha ' + x + ', ' + y; });\n        expectObservable(result).toBe(expected, null, 'ha ha 2, 4');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--^--b--c---d-| ');\n        var e1subs = '^        !    ';\n        var e2 = hot('---e-^---f--g---h-|');\n        var e2subs = '^        !    ';\n        var expected = '----x-yz--    ';\n        var unsub = '         !    ';\n        var values = { x: 'bf', y: 'cf', z: 'cg' };\n        var result = e1.combineLatest(e2, function (x, y) { return x + y; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--^--b--c---d-| ');\n        var e1subs = '^        !    ';\n        var e2 = hot('---e-^---f--g---h-|');\n        var e2subs = '^        !    ';\n        var expected = '----x-yz--    ';\n        var unsub = '         !    ';\n        var values = { x: 'bf', y: 'cf', z: 'cg' };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .combineLatest(e2, function (x, y) { return x + y; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit unique array instances with the default projection', function () {\n        var e1 = hot('-a--b--|');\n        var e2 = hot('--1--2-|');\n        var expected = '-------(c|)';\n        var result = e1.combineLatest(e2).distinct().count();\n        expectObservable(result).toBe(expected, { c: 3 });\n    });\n});\n//# sourceMappingURL=combineLatest-spec.js.map"
  },
  {
    "__docId__": 1617,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe714",
    "testId": 714,
    "memberof": "spec-js/operators/combineLatest-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714",
    "access": null,
    "description": "Observable.prototype.combineLatest",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{combineLatest}"
      }
    ],
    "testTargets": [
      "combineLatest"
    ]
  },
  {
    "__docId__": 1618,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it715",
    "testId": 715,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it715",
    "access": null,
    "description": "should work with two nevers",
    "lineNumber": 15
  },
  {
    "__docId__": 1619,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it716",
    "testId": 716,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it716",
    "access": null,
    "description": "should work with never and empty",
    "lineNumber": 26
  },
  {
    "__docId__": 1620,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it717",
    "testId": 717,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it717",
    "access": null,
    "description": "should work with empty and never",
    "lineNumber": 37
  },
  {
    "__docId__": 1621,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it718",
    "testId": 718,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it718",
    "access": null,
    "description": "should work with empty and empty",
    "lineNumber": 48
  },
  {
    "__docId__": 1622,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it719",
    "testId": 719,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it719",
    "access": null,
    "description": "should work with hot-empty and hot-single",
    "lineNumber": 59
  },
  {
    "__docId__": 1623,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it720",
    "testId": 720,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it720",
    "access": null,
    "description": "should work with hot-single and hot-empty",
    "lineNumber": 76
  },
  {
    "__docId__": 1624,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it721",
    "testId": 721,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it721",
    "access": null,
    "description": "should work with hot-single and never",
    "lineNumber": 90
  },
  {
    "__docId__": 1625,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it722",
    "testId": 722,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it722",
    "access": null,
    "description": "should work with never and hot-single",
    "lineNumber": 104
  },
  {
    "__docId__": 1626,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it723",
    "testId": 723,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it723",
    "access": null,
    "description": "should work with hot and hot",
    "lineNumber": 118
  },
  {
    "__docId__": 1627,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it724",
    "testId": 724,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it724",
    "access": null,
    "description": "should accept array of observables",
    "lineNumber": 129
  },
  {
    "__docId__": 1628,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it725",
    "testId": 725,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it725",
    "access": null,
    "description": "should work with empty and error",
    "lineNumber": 143
  },
  {
    "__docId__": 1629,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it726",
    "testId": 726,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it726",
    "access": null,
    "description": "should work with error and empty",
    "lineNumber": 154
  },
  {
    "__docId__": 1630,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it727",
    "testId": 727,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it727",
    "access": null,
    "description": "should work with hot and throw",
    "lineNumber": 165
  },
  {
    "__docId__": 1631,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it728",
    "testId": 728,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it728",
    "access": null,
    "description": "should work with throw and hot",
    "lineNumber": 176
  },
  {
    "__docId__": 1632,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it729",
    "testId": 729,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it729",
    "access": null,
    "description": "should work with throw and throw",
    "lineNumber": 187
  },
  {
    "__docId__": 1633,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it730",
    "testId": 730,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it730",
    "access": null,
    "description": "should work with error and throw",
    "lineNumber": 198
  },
  {
    "__docId__": 1634,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it731",
    "testId": 731,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it731",
    "access": null,
    "description": "should work with throw and error",
    "lineNumber": 209
  },
  {
    "__docId__": 1635,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it732",
    "testId": 732,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it732",
    "access": null,
    "description": "should work with never and throw",
    "lineNumber": 220
  },
  {
    "__docId__": 1636,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it733",
    "testId": 733,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it733",
    "access": null,
    "description": "should work with throw and never",
    "lineNumber": 231
  },
  {
    "__docId__": 1637,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it734",
    "testId": 734,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it734",
    "access": null,
    "description": "should work with some and throw",
    "lineNumber": 242
  },
  {
    "__docId__": 1638,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it735",
    "testId": 735,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it735",
    "access": null,
    "description": "should work with throw and some",
    "lineNumber": 253
  },
  {
    "__docId__": 1639,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it736",
    "testId": 736,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it736",
    "access": null,
    "description": "should handle throw after complete left",
    "lineNumber": 264
  },
  {
    "__docId__": 1640,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it737",
    "testId": 737,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it737",
    "access": null,
    "description": "should handle throw after complete right",
    "lineNumber": 275
  },
  {
    "__docId__": 1641,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it738",
    "testId": 738,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it738",
    "access": null,
    "description": "should handle interleaved with tail",
    "lineNumber": 286
  },
  {
    "__docId__": 1642,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it739",
    "testId": 739,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it739",
    "access": null,
    "description": "should handle two consecutive hot observables",
    "lineNumber": 297
  },
  {
    "__docId__": 1643,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it740",
    "testId": 740,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it740",
    "access": null,
    "description": "should handle two consecutive hot observables with error left",
    "lineNumber": 308
  },
  {
    "__docId__": 1644,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it741",
    "testId": 741,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it741",
    "access": null,
    "description": "should handle two consecutive hot observables with error right",
    "lineNumber": 319
  },
  {
    "__docId__": 1645,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it742",
    "testId": 742,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it742",
    "access": null,
    "description": "should handle selector throwing",
    "lineNumber": 330
  },
  {
    "__docId__": 1646,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it743",
    "testId": 743,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it743",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 341
  },
  {
    "__docId__": 1647,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it744",
    "testId": 744,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it744",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 354
  },
  {
    "__docId__": 1648,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it745",
    "testId": 745,
    "memberof": "spec-js/operators/combineLatest-spec.js~describe714",
    "testDepth": 1,
    "longname": "spec-js/operators/combineLatest-spec.js~describe714.it745",
    "access": null,
    "description": "should emit unique array instances with the default projection",
    "lineNumber": 370
  },
  {
    "__docId__": 1649,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/concat-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/concat-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {concat} */\ndescribe('Observable.prototype.concat', function () {\n    asDiagram('concat')('should concatenate two cold observables', function () {\n        var e1 = cold('--a--b-|');\n        var e2 = cold('--x---y--|');\n        var expected = '--a--b---x---y--|';\n        expectObservable(e1.concat(e2, rxTestScheduler)).toBe(expected);\n    });\n    it('should work properly with scalar observables', function (done) {\n        var results = [];\n        var s1 = Observable\n            .create(function (observer) {\n            setTimeout(function () {\n                observer.next(1);\n                observer.complete();\n            });\n        })\n            .concat(Observable.of(2));\n        s1.subscribe(function (x) {\n            results.push('Next: ' + x);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            results.push('Completed');\n            chai_1.expect(results).to.deep.equal(['Next: 1', 'Next: 2', 'Completed']);\n            done();\n        });\n    });\n    it('should complete without emit if both sources are empty', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('----|');\n        var e2subs = '  ^   !';\n        var expected = '------|';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if first source does not completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('--|');\n        var e2subs = [];\n        var expected = '-';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if second source does not completes', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('---');\n        var e2subs = '  ^';\n        var expected = '---';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if both sources do not complete', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('-');\n        var e2subs = [];\n        var expected = '-';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error when first source is empty, second source raises error', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('----#');\n        var e2subs = '  ^   !';\n        var expected = '------#';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error when first source raises error, second source is empty', function () {\n        var e1 = cold('---#');\n        var e1subs = '^  !';\n        var e2 = cold('----|');\n        var e2subs = [];\n        var expected = '---#';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise first error when both source raise error', function () {\n        var e1 = cold('---#');\n        var e1subs = '^  !';\n        var e2 = cold('------#');\n        var e2subs = [];\n        var expected = '---#';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should concat if first source emits once, second source is empty', function () {\n        var e1 = cold('--a--|');\n        var e1subs = '^    !';\n        var e2 = cold('--------|');\n        var e2subs = '     ^       !';\n        var expected = '--a----------|';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should concat if first source is empty, second source emits once', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('--a--|');\n        var e2subs = '  ^    !';\n        var expected = '----a--|';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit element from first source, and should not complete if second ' +\n        'source does not completes', function () {\n        var e1 = cold('--a--|');\n        var e1subs = '^    !';\n        var e2 = cold('-');\n        var e2subs = '     ^';\n        var expected = '--a---';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if first source does not complete', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('--a--|');\n        var e2subs = [];\n        var expected = '-';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit elements from each source when source emit once', function () {\n        var e1 = cold('---a|');\n        var e1subs = '^   !';\n        var e2 = cold('-----b--|');\n        var e2subs = '    ^       !';\n        var expected = '---a-----b--|';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should unsubscribe to inner source if outer is unsubscribed early', function () {\n        var e1 = cold('---a-a--a|            ');\n        var e1subs = '^        !            ';\n        var e2 = cold('-----b-b--b-|');\n        var e2subs = '         ^       !    ';\n        var unsub = '                 !    ';\n        var expected = '---a-a--a-----b-b     ';\n        expectObservable(e1.concat(e2), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = cold('---a-a--a|            ');\n        var e1subs = '^        !            ';\n        var e2 = cold('-----b-b--b-|');\n        var e2subs = '         ^       !    ';\n        var expected = '---a-a--a-----b-b-    ';\n        var unsub = '                 !    ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .concat(e2)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error from first source and does not emit from second source', function () {\n        var e1 = cold('--#');\n        var e1subs = '^ !';\n        var e2 = cold('----a--|');\n        var e2subs = [];\n        var expected = '--#';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit element from first source then raise error from second source', function () {\n        var e1 = cold('--a--|');\n        var e1subs = '^    !';\n        var e2 = cold('-------#');\n        var e2subs = '     ^      !';\n        var expected = '--a---------#';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit all elements from both hot observable sources if first source ' +\n        'completes before second source starts emit', function () {\n        var e1 = hot('--a--b-|');\n        var e1subs = '^      !';\n        var e2 = hot('--------x--y--|');\n        var e2subs = '       ^      !';\n        var expected = '--a--b--x--y--|';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit elements from second source regardless of completion time ' +\n        'when second source is cold observable', function () {\n        var e1 = hot('--a--b--c---|');\n        var e1subs = '^           !';\n        var e2 = cold('-x-y-z-|');\n        var e2subs = '            ^      !';\n        var expected = '--a--b--c----x-y-z-|';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not emit collapsing element from second source', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^          !';\n        var e2 = hot('--------x--y--z--|');\n        var e2subs = '           ^     !';\n        var expected = '--a--b--c--y--z--|';\n        expectObservable(e1.concat(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should accept scheduler with multiple observables', function () {\n        var e1 = cold('---a|');\n        var e1subs = '^   !';\n        var e2 = cold('---b--|');\n        var e2subs = '    ^     !';\n        var e3 = cold('---c--|');\n        var e3subs = '          ^     !';\n        var expected = '---a---b-----c--|';\n        expectObservable(e1.concat(e2, e3, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should accept scheduler without observable parameters', function () {\n        var e1 = cold('---a-|');\n        var e1subs = '^    !';\n        var expected = '---a-|';\n        expectObservable(e1.concat(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit self without parameters', function () {\n        var e1 = cold('---a-|');\n        var e1subs = '^    !';\n        var expected = '---a-|';\n        expectObservable(e1.concat()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=concat-spec.js.map"
  },
  {
    "__docId__": 1650,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe746",
    "testId": 746,
    "memberof": "spec-js/operators/concat-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/concat-spec.js~describe746",
    "access": null,
    "description": "Observable.prototype.concat",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{concat}"
      }
    ],
    "testTargets": [
      "concat"
    ]
  },
  {
    "__docId__": 1651,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it747",
    "testId": 747,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it747",
    "access": null,
    "description": "should work properly with scalar observables",
    "lineNumber": 13
  },
  {
    "__docId__": 1652,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it748",
    "testId": 748,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it748",
    "access": null,
    "description": "should complete without emit if both sources are empty",
    "lineNumber": 33
  },
  {
    "__docId__": 1653,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it749",
    "testId": 749,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it749",
    "access": null,
    "description": "should not complete if first source does not completes",
    "lineNumber": 43
  },
  {
    "__docId__": 1654,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it750",
    "testId": 750,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it750",
    "access": null,
    "description": "should not complete if second source does not completes",
    "lineNumber": 53
  },
  {
    "__docId__": 1655,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it751",
    "testId": 751,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it751",
    "access": null,
    "description": "should not complete if both sources do not complete",
    "lineNumber": 63
  },
  {
    "__docId__": 1656,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it752",
    "testId": 752,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it752",
    "access": null,
    "description": "should raise error when first source is empty, second source raises error",
    "lineNumber": 73
  },
  {
    "__docId__": 1657,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it753",
    "testId": 753,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it753",
    "access": null,
    "description": "should raise error when first source raises error, second source is empty",
    "lineNumber": 83
  },
  {
    "__docId__": 1658,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it754",
    "testId": 754,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it754",
    "access": null,
    "description": "should raise first error when both source raise error",
    "lineNumber": 93
  },
  {
    "__docId__": 1659,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it755",
    "testId": 755,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it755",
    "access": null,
    "description": "should concat if first source emits once, second source is empty",
    "lineNumber": 103
  },
  {
    "__docId__": 1660,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it756",
    "testId": 756,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it756",
    "access": null,
    "description": "should concat if first source is empty, second source emits once",
    "lineNumber": 113
  },
  {
    "__docId__": 1661,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it757",
    "testId": 757,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it757",
    "access": null,
    "lineNumber": 123
  },
  {
    "__docId__": 1662,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it758",
    "testId": 758,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it758",
    "access": null,
    "description": "should not complete if first source does not complete",
    "lineNumber": 134
  },
  {
    "__docId__": 1663,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it759",
    "testId": 759,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it759",
    "access": null,
    "description": "should emit elements from each source when source emit once",
    "lineNumber": 144
  },
  {
    "__docId__": 1664,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it760",
    "testId": 760,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it760",
    "access": null,
    "description": "should unsubscribe to inner source if outer is unsubscribed early",
    "lineNumber": 154
  },
  {
    "__docId__": 1665,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it761",
    "testId": 761,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it761",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 165
  },
  {
    "__docId__": 1666,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it762",
    "testId": 762,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it762",
    "access": null,
    "description": "should raise error from first source and does not emit from second source",
    "lineNumber": 180
  },
  {
    "__docId__": 1667,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it763",
    "testId": 763,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it763",
    "access": null,
    "description": "should emit element from first source then raise error from second source",
    "lineNumber": 190
  },
  {
    "__docId__": 1668,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it764",
    "testId": 764,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it764",
    "access": null,
    "lineNumber": 200
  },
  {
    "__docId__": 1669,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it765",
    "testId": 765,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it765",
    "access": null,
    "lineNumber": 211
  },
  {
    "__docId__": 1670,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it766",
    "testId": 766,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it766",
    "access": null,
    "description": "should not emit collapsing element from second source",
    "lineNumber": 222
  },
  {
    "__docId__": 1671,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it767",
    "testId": 767,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it767",
    "access": null,
    "description": "should accept scheduler with multiple observables",
    "lineNumber": 232
  },
  {
    "__docId__": 1672,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it768",
    "testId": 768,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it768",
    "access": null,
    "description": "should accept scheduler without observable parameters",
    "lineNumber": 245
  },
  {
    "__docId__": 1673,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it769",
    "testId": 769,
    "memberof": "spec-js/operators/concat-spec.js~describe746",
    "testDepth": 1,
    "longname": "spec-js/operators/concat-spec.js~describe746.it769",
    "access": null,
    "description": "should emit self without parameters",
    "lineNumber": 252
  },
  {
    "__docId__": 1674,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/concatAll-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/concatAll-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {concatAll} */\ndescribe('Observable.prototype.concatAll', function () {\n    asDiagram('concatAll')('should concat an observable of observables', function () {\n        var x = cold('----a------b------|                 ');\n        var y = cold('---c-d---|        ');\n        var z = cold('---e--f-|');\n        var outer = hot('-x---y----z------|              ', { x: x, y: y, z: z });\n        var expected = '-----a------b---------c-d------e--f-|';\n        var result = outer.concatAll();\n        expectObservable(result).toBe(expected);\n    });\n    it('should concat sources from promise', function (done) {\n        this.timeout(2000);\n        var sources = Rx.Observable.from([\n            new Promise(function (res) { res(0); }),\n            new Promise(function (res) { res(1); }),\n            new Promise(function (res) { res(2); }),\n            new Promise(function (res) { res(3); }),\n        ]).take(10);\n        var res = [];\n        sources.concatAll().subscribe(function (x) { res.push(x); }, function (err) { done(new Error('should not be called')); }, function () {\n            chai_1.expect(res).to.deep.equal([0, 1, 2, 3]);\n            done();\n        });\n    });\n    it('should concat and raise error from promise', function (done) {\n        this.timeout(2000);\n        var sources = Rx.Observable.from([\n            new Promise(function (res) { res(0); }),\n            new Promise(function (res, rej) { rej(1); }),\n            new Promise(function (res) { res(2); }),\n            new Promise(function (res) { res(3); }),\n        ]).take(10);\n        var res = [];\n        sources.concatAll().subscribe(function (x) { res.push(x); }, function (err) {\n            chai_1.expect(res.length).to.equal(1);\n            chai_1.expect(err).to.equal(1);\n            done();\n        }, function () { done(new Error('should not be called')); });\n    });\n    it('should concat all observables in an observable', function () {\n        var e1 = Rx.Observable.from([\n            Rx.Observable.of('a'),\n            Rx.Observable.of('b'),\n            Rx.Observable.of('c')\n        ]).take(10);\n        var expected = '(abc|)';\n        expectObservable(e1.concatAll()).toBe(expected);\n    });\n    it('should throw if any child observable throws', function () {\n        var e1 = Rx.Observable.from([\n            Rx.Observable.of('a'),\n            Rx.Observable.throw('error'),\n            Rx.Observable.of('c')\n        ]).take(10);\n        var expected = '(a#)';\n        expectObservable(e1.concatAll()).toBe(expected);\n    });\n    it('should concat merging a hot observable of non-overlapped observables', function () {\n        var values = {\n            x: cold('a-b---------|'),\n            y: cold('c-d-e-f-|'),\n            z: cold('g-h-i-j-k-|')\n        };\n        var e1 = hot('--x---------y--------z--------|', values);\n        var expected = '--a-b---------c-d-e-f-g-h-i-j-k-|';\n        expectObservable(e1.concatAll()).toBe(expected);\n    });\n    it('should raise error if inner observable raises error', function () {\n        var values = {\n            x: cold('a-b---------|'),\n            y: cold('c-d-e-f-#'),\n            z: cold('g-h-i-j-k-|')\n        };\n        var e1 = hot('--x---------y--------z--------|', values);\n        var expected = '--a-b---------c-d-e-f-#';\n        expectObservable(e1.concatAll()).toBe(expected);\n    });\n    it('should raise error if outer observable raises error', function () {\n        var values = {\n            y: cold('a-b---------|'),\n            z: cold('c-d-e-f-|'),\n        };\n        var e1 = hot('--y---------z---#    ', values);\n        var expected = '--a-b---------c-#';\n        expectObservable(e1.concatAll()).toBe(expected);\n    });\n    it('should complete without emit if both sources are empty', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('----|');\n        var e2subs = '  ^   !';\n        var expected = '------|';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if first source does not completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('--|');\n        var e2subs = [];\n        var expected = '-';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if second source does not completes', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('---');\n        var e2subs = '  ^';\n        var expected = '---';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if both sources do not complete', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('-');\n        var e2subs = [];\n        var expected = '-';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error when first source is empty, second source raises error', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('----#');\n        var e2subs = '  ^   !';\n        var expected = '------#';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error when first source raises error, second source is empty', function () {\n        var e1 = cold('---#');\n        var e1subs = '^  !';\n        var e2 = cold('----|');\n        var e2subs = [];\n        var expected = '---#';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise first error when both source raise error', function () {\n        var e1 = cold('---#');\n        var e1subs = '^  !';\n        var e2 = cold('------#');\n        var e2subs = [];\n        var expected = '---#';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should concat if first source emits once, second source is empty', function () {\n        var e1 = cold('--a--|');\n        var e1subs = '^    !';\n        var e2 = cold('--------|');\n        var e2subs = '     ^       !';\n        var expected = '--a----------|';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should concat if first source is empty, second source emits once', function () {\n        var e1 = cold('--|');\n        var e1subs = '^ !';\n        var e2 = cold('--a--|');\n        var e2subs = '  ^    !';\n        var expected = '----a--|';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit element from first source, and should not complete if second ' +\n        'source does not completes', function () {\n        var e1 = cold('--a--|');\n        var e1subs = '^    !';\n        var e2 = cold('-');\n        var e2subs = '     ^';\n        var expected = '--a---';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete if first source does not complete', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('--a--|');\n        var e2subs = [];\n        var expected = '-';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit elements from each source when source emit once', function () {\n        var e1 = cold('---a|');\n        var e1subs = '^   !';\n        var e2 = cold('-----b--|');\n        var e2subs = '    ^       !';\n        var expected = '---a-----b--|';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should unsubscribe to inner source if outer is unsubscribed early', function () {\n        var e1 = cold('---a-a--a|            ');\n        var e1subs = '^        !            ';\n        var e2 = cold('-----b-b--b-|');\n        var e2subs = '         ^       !    ';\n        var unsub = '                 !    ';\n        var expected = '---a-a--a-----b-b     ';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = cold('---a-a--a|            ');\n        var e1subs = '^        !            ';\n        var e2 = cold('-----b-b--b-|');\n        var e2subs = '         ^       !    ';\n        var expected = '---a-a--a-----b-b-    ';\n        var unsub = '                 !    ';\n        var result = Observable.of(e1, e2)\n            .mergeMap(function (x) { return Observable.of(x); })\n            .concatAll()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error from first source and does not emit from second source', function () {\n        var e1 = cold('--#');\n        var e1subs = '^ !';\n        var e2 = cold('----a--|');\n        var e2subs = [];\n        var expected = '--#';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit element from first source then raise error from second source', function () {\n        var e1 = cold('--a--|');\n        var e1subs = '^    !';\n        var e2 = cold('-------#');\n        var e2subs = '     ^      !';\n        var expected = '--a---------#';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit all elements from both hot observable sources if first source ' +\n        'completes before second source starts emit', function () {\n        var e1 = hot('--a--b-|');\n        var e1subs = '^      !';\n        var e2 = hot('--------x--y--|');\n        var e2subs = '       ^      !';\n        var expected = '--a--b--x--y--|';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit elements from second source regardless of completion time ' +\n        'when second source is cold observable', function () {\n        var e1 = hot('--a--b--c---|');\n        var e1subs = '^           !';\n        var e2 = cold('-x-y-z-|');\n        var e2subs = '            ^      !';\n        var expected = '--a--b--c----x-y-z-|';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not emit collapsing element from second source', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^          !';\n        var e2 = hot('--------x--y--z--|');\n        var e2subs = '           ^     !';\n        var expected = '--a--b--c--y--z--|';\n        var result = Observable.of(e1, e2).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should be able to work on a different scheduler', function () {\n        var e1 = cold('---a|');\n        var e1subs = '^   !';\n        var e2 = cold('---b--|');\n        var e2subs = '    ^     !';\n        var e3 = cold('---c--|');\n        var e3subs = '          ^     !';\n        var expected = '---a---b-----c--|';\n        var result = Observable.of(e1, e2, e3, rxTestScheduler).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should concatAll a nested observable with a single inner observable', function () {\n        var e1 = cold('---a-|');\n        var e1subs = '^    !';\n        var expected = '---a-|';\n        var result = Observable.of(e1).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatAll a nested observable with a single inner observable, and a scheduler', function () {\n        var e1 = cold('---a-|');\n        var e1subs = '^    !';\n        var expected = '---a-|';\n        var result = Observable.of(e1, rxTestScheduler).concatAll();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=concatAll-spec.js.map"
  },
  {
    "__docId__": 1675,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe770",
    "testId": 770,
    "memberof": "spec-js/operators/concatAll-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/concatAll-spec.js~describe770",
    "access": null,
    "description": "Observable.prototype.concatAll",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{concatAll}"
      }
    ],
    "testTargets": [
      "concatAll"
    ]
  },
  {
    "__docId__": 1676,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it771",
    "testId": 771,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it771",
    "access": null,
    "description": "should concat sources from promise",
    "lineNumber": 16
  },
  {
    "__docId__": 1677,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it772",
    "testId": 772,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it772",
    "access": null,
    "description": "should concat and raise error from promise",
    "lineNumber": 30
  },
  {
    "__docId__": 1678,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it773",
    "testId": 773,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it773",
    "access": null,
    "description": "should concat all observables in an observable",
    "lineNumber": 45
  },
  {
    "__docId__": 1679,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it774",
    "testId": 774,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it774",
    "access": null,
    "description": "should throw if any child observable throws",
    "lineNumber": 54
  },
  {
    "__docId__": 1680,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it775",
    "testId": 775,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it775",
    "access": null,
    "description": "should concat merging a hot observable of non-overlapped observables",
    "lineNumber": 63
  },
  {
    "__docId__": 1681,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it776",
    "testId": 776,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it776",
    "access": null,
    "description": "should raise error if inner observable raises error",
    "lineNumber": 73
  },
  {
    "__docId__": 1682,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it777",
    "testId": 777,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it777",
    "access": null,
    "description": "should raise error if outer observable raises error",
    "lineNumber": 83
  },
  {
    "__docId__": 1683,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it778",
    "testId": 778,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it778",
    "access": null,
    "description": "should complete without emit if both sources are empty",
    "lineNumber": 92
  },
  {
    "__docId__": 1684,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it779",
    "testId": 779,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it779",
    "access": null,
    "description": "should not complete if first source does not completes",
    "lineNumber": 103
  },
  {
    "__docId__": 1685,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it780",
    "testId": 780,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it780",
    "access": null,
    "description": "should not complete if second source does not completes",
    "lineNumber": 114
  },
  {
    "__docId__": 1686,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it781",
    "testId": 781,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it781",
    "access": null,
    "description": "should not complete if both sources do not complete",
    "lineNumber": 125
  },
  {
    "__docId__": 1687,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it782",
    "testId": 782,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it782",
    "access": null,
    "description": "should raise error when first source is empty, second source raises error",
    "lineNumber": 136
  },
  {
    "__docId__": 1688,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it783",
    "testId": 783,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it783",
    "access": null,
    "description": "should raise error when first source raises error, second source is empty",
    "lineNumber": 147
  },
  {
    "__docId__": 1689,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it784",
    "testId": 784,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it784",
    "access": null,
    "description": "should raise first error when both source raise error",
    "lineNumber": 158
  },
  {
    "__docId__": 1690,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it785",
    "testId": 785,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it785",
    "access": null,
    "description": "should concat if first source emits once, second source is empty",
    "lineNumber": 169
  },
  {
    "__docId__": 1691,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it786",
    "testId": 786,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it786",
    "access": null,
    "description": "should concat if first source is empty, second source emits once",
    "lineNumber": 180
  },
  {
    "__docId__": 1692,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it787",
    "testId": 787,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it787",
    "access": null,
    "lineNumber": 191
  },
  {
    "__docId__": 1693,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it788",
    "testId": 788,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it788",
    "access": null,
    "description": "should not complete if first source does not complete",
    "lineNumber": 203
  },
  {
    "__docId__": 1694,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it789",
    "testId": 789,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it789",
    "access": null,
    "description": "should emit elements from each source when source emit once",
    "lineNumber": 214
  },
  {
    "__docId__": 1695,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it790",
    "testId": 790,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it790",
    "access": null,
    "description": "should unsubscribe to inner source if outer is unsubscribed early",
    "lineNumber": 225
  },
  {
    "__docId__": 1696,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it791",
    "testId": 791,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it791",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 237
  },
  {
    "__docId__": 1697,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it792",
    "testId": 792,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it792",
    "access": null,
    "description": "should raise error from first source and does not emit from second source",
    "lineNumber": 252
  },
  {
    "__docId__": 1698,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it793",
    "testId": 793,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it793",
    "access": null,
    "description": "should emit element from first source then raise error from second source",
    "lineNumber": 263
  },
  {
    "__docId__": 1699,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it794",
    "testId": 794,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it794",
    "access": null,
    "lineNumber": 274
  },
  {
    "__docId__": 1700,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it795",
    "testId": 795,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it795",
    "access": null,
    "lineNumber": 286
  },
  {
    "__docId__": 1701,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it796",
    "testId": 796,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it796",
    "access": null,
    "description": "should not emit collapsing element from second source",
    "lineNumber": 298
  },
  {
    "__docId__": 1702,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it797",
    "testId": 797,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it797",
    "access": null,
    "description": "should be able to work on a different scheduler",
    "lineNumber": 309
  },
  {
    "__docId__": 1703,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it798",
    "testId": 798,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it798",
    "access": null,
    "description": "should concatAll a nested observable with a single inner observable",
    "lineNumber": 323
  },
  {
    "__docId__": 1704,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it799",
    "testId": 799,
    "memberof": "spec-js/operators/concatAll-spec.js~describe770",
    "testDepth": 1,
    "longname": "spec-js/operators/concatAll-spec.js~describe770.it799",
    "access": null,
    "description": "should concatAll a nested observable with a single inner observable, and a scheduler",
    "lineNumber": 331
  },
  {
    "__docId__": 1705,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/concatMap-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/concatMap-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {concatMap} */\ndescribe('Observable.prototype.concatMap', function () {\n    asDiagram('concatMap(i => 10*i\\u2014\\u201410*i\\u2014\\u201410*i\\u2014| )')('should map-and-flatten each item to an Observable', function () {\n        var e1 = hot('--1-----3--5-------|');\n        var e1subs = '^                  !';\n        var e2 = cold('x-x-x|              ', { x: 10 });\n        var expected = '--x-x-x-y-y-yz-z-z-|';\n        var values = { x: 10, y: 30, z: 50 };\n        var result = e1.concatMap(function (x) { return e2.map(function (i) { return i * x; }); });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatenate many regular interval inners', function () {\n        var a = cold('--a-a-a-(a|)                            ');\n        var asubs = '^       !                               ';\n        var b = cold('----b--b--(b|)                  ');\n        var bsubs = '        ^         !                     ';\n        var c = cold('-c-c-(c|)      ');\n        var csubs = '                         ^    !         ';\n        var d = cold('------(d|)');\n        var dsubs = '                              ^     !   ';\n        var e1 = hot('a---b--------------------c-d----|       ');\n        var e1subs = '^                                   !   ';\n        var expected = '--a-a-a-a---b--b--b-------c-c-c-----(d|)';\n        var observableLookup = { a: a, b: b, c: c, d: d };\n        var source = e1.concatMap(function (value) { return observableLookup[value]; });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n        expectSubscriptions(c.subscriptions).toBe(csubs);\n        expectSubscriptions(d.subscriptions).toBe(dsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer values to many inner values', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---|                        ');\n        var e1subs = '^                                        !';\n        var inner = cold('--i-j-k-l-|                              ', values);\n        var innersubs = [' ^         !                              ',\n            '           ^         !                    ',\n            '                     ^         !          ',\n            '                               ^         !'];\n        var expected = '---i-j-k-l---i-j-k-l---i-j-k-l---i-j-k-l-|';\n        var result = e1.concatMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an empty source', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var inner = cold('-1-2-3|');\n        var innersubs = [];\n        var expected = '|';\n        var result = e1.concatMap(function () { return inner; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a never source', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var inner = cold('-1-2-3|');\n        var innersubs = [];\n        var expected = '-';\n        var result = e1.concatMap(function () { return inner; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should error immediately if given a just-throw source', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var inner = cold('-1-2-3|');\n        var innersubs = [];\n        var expected = '#';\n        var result = e1.concatMap(function () { return inner; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return a silenced version of the source if the mapped inner is empty', function () {\n        var e1 = cold('--a-b--c-| ');\n        var e1subs = '^        ! ';\n        var inner = cold('|');\n        var innersubs = ['  (^!)     ',\n            '    (^!)   ',\n            '       (^!)'];\n        var expected = '---------| ';\n        var result = e1.concatMap(function () { return inner; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return a never if the mapped inner is never', function () {\n        var e1 = cold('--a-b--c-|');\n        var e1subs = '^         ';\n        var inner = cold('-');\n        var innersubs = '  ^       ';\n        var expected = '----------';\n        var result = e1.concatMap(function () { return inner; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should propagate errors if the mapped inner is a just-throw Observable', function () {\n        var e1 = cold('--a-b--c-|');\n        var e1subs = '^ !       ';\n        var inner = cold('#');\n        var innersubs = '  (^!)    ';\n        var expected = '--#       ';\n        var result = e1.concatMap(function () { return inner; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to many inner, complete late', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d----------------------------------|');\n        var e1subs = '^                                               !';\n        var inner = cold('--i-j-k-l-|                                     ', values);\n        var innersubs = [' ^         !                                     ',\n            '           ^         !                           ',\n            '                     ^         !                 ',\n            '                               ^         !       '];\n        var expected = '---i-j-k-l---i-j-k-l---i-j-k-l---i-j-k-l--------|';\n        var result = e1.concatMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to many inner, outer never completes', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d-----------------------------------');\n        var e1subs = '^                                                ';\n        var inner = cold('--i-j-k-l-|                                     ', values);\n        var innersubs = [' ^         !                                     ',\n            '           ^         !                           ',\n            '                     ^         !                 ',\n            '                               ^         !       '];\n        var expected = '---i-j-k-l---i-j-k-l---i-j-k-l---i-j-k-l---------';\n        var result = e1.concatMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to many inner, inner never completes', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---|');\n        var e1subs = '^                 ';\n        var inner = cold('--i-j-k-l-       ', values);\n        var innersubs = ' ^                ';\n        var expected = '---i-j-k-l--------';\n        var result = e1.concatMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to many inner, and inner throws', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---|');\n        var e1subs = '^          !      ';\n        var inner = cold('--i-j-k-l-#      ', values);\n        var innersubs = ' ^         !      ';\n        var expected = '---i-j-k-l-#      ';\n        var result = e1.concatMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to many inner, and outer throws', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---#');\n        var e1subs = '^                !';\n        var inner = cold('--i-j-k-l-|      ', values);\n        var innersubs = [' ^         !      ',\n            '           ^     !'];\n        var expected = '---i-j-k-l---i-j-#';\n        var result = e1.concatMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to many inner, both inner and outer throw', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---#');\n        var e1subs = '^          !      ';\n        var inner = cold('--i-j-k-l-#      ', values);\n        var innersubs = ' ^         !      ';\n        var expected = '---i-j-k-l-#      ';\n        var result = e1.concatMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many complex, where all inners are finite', function () {\n        var a = cold('-#                                                          ');\n        var asubs = [];\n        var b = cold('-#                                                        ');\n        var bsubs = [];\n        var c = cold('-2--3--4--5----6-|                                   ');\n        var csubs = '  ^                !                                   ';\n        var d = cold('----2--3|                           ');\n        var dsubs = '                   ^       !                           ';\n        var e = cold('-1------2--3-4-5---|        ');\n        var esubs = '                           ^                  !        ';\n        var f = cold('--|      ');\n        var fsubs = '                                              ^ !      ';\n        var g = cold('---1-2|');\n        var gsubs = '                                                ^     !';\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|               ');\n        var e1subs = '^                                                     !';\n        var expected = '---2--3--4--5----6-----2--3-1------2--3-4-5--------1-2|';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.concatMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n        expectSubscriptions(c.subscriptions).toBe(csubs);\n        expectSubscriptions(d.subscriptions).toBe(dsubs);\n        expectSubscriptions(e.subscriptions).toBe(esubs);\n        expectSubscriptions(f.subscriptions).toBe(fsubs);\n        expectSubscriptions(g.subscriptions).toBe(gsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many complex, all inners finite except one', function () {\n        var a = cold('-#                                                          ');\n        var asubs = [];\n        var b = cold('-#                                                        ');\n        var bsubs = [];\n        var c = cold('-2--3--4--5----6-|                                   ');\n        var csubs = '  ^                !                                   ';\n        var d = cold('----2--3-                           ');\n        var dsubs = '                   ^                                   ';\n        var e = cold('-1------2--3-4-5---|        ');\n        var esubs = [];\n        var f = cold('--|      ');\n        var fsubs = [];\n        var g = cold('---1-2|');\n        var gsubs = [];\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|               ');\n        var e1subs = '^                                                      ';\n        var expected = '---2--3--4--5----6-----2--3----------------------------';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.concatMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n        expectSubscriptions(c.subscriptions).toBe(csubs);\n        expectSubscriptions(d.subscriptions).toBe(dsubs);\n        expectSubscriptions(e.subscriptions).toBe(esubs);\n        expectSubscriptions(f.subscriptions).toBe(fsubs);\n        expectSubscriptions(g.subscriptions).toBe(gsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many complex, inners finite, outer does not complete', function () {\n        var a = cold('-#                                                          ');\n        var asubs = [];\n        var b = cold('-#                                                        ');\n        var bsubs = [];\n        var c = cold('-2--3--4--5----6-|                                   ');\n        var csubs = '  ^                !                                   ';\n        var d = cold('----2--3|                           ');\n        var dsubs = '                   ^       !                           ';\n        var e = cold('-1------2--3-4-5---|        ');\n        var esubs = '                           ^                  !        ';\n        var f = cold('--|      ');\n        var fsubs = '                                              ^ !      ';\n        var g = cold('---1-2|');\n        var gsubs = '                                                ^     !';\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g---             ');\n        var e1subs = '^                                                      ';\n        var expected = '---2--3--4--5----6-----2--3-1------2--3-4-5--------1-2-';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.concatMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n        expectSubscriptions(c.subscriptions).toBe(csubs);\n        expectSubscriptions(d.subscriptions).toBe(dsubs);\n        expectSubscriptions(e.subscriptions).toBe(esubs);\n        expectSubscriptions(f.subscriptions).toBe(fsubs);\n        expectSubscriptions(g.subscriptions).toBe(gsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many complex, all inners finite, and outer throws', function () {\n        var a = cold('-#                                                          ');\n        var asubs = [];\n        var b = cold('-#                                                        ');\n        var bsubs = [];\n        var c = cold('-2--3--4--5----6-|                                   ');\n        var csubs = '  ^                !                                   ';\n        var d = cold('----2--3|                           ');\n        var dsubs = '                   ^       !                           ';\n        var e = cold('-1------2--3-4-5---|        ');\n        var esubs = '                           ^           !               ';\n        var f = cold('--|      ');\n        var fsubs = [];\n        var g = cold('---1-2|');\n        var gsubs = [];\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g#               ');\n        var e1subs = '^                                      !               ';\n        var expected = '---2--3--4--5----6-----2--3-1------2--3#               ';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.concatMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n        expectSubscriptions(c.subscriptions).toBe(csubs);\n        expectSubscriptions(d.subscriptions).toBe(dsubs);\n        expectSubscriptions(e.subscriptions).toBe(esubs);\n        expectSubscriptions(f.subscriptions).toBe(fsubs);\n        expectSubscriptions(g.subscriptions).toBe(gsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many complex, all inners complete except one throws', function () {\n        var a = cold('-#                                                          ');\n        var asubs = [];\n        var b = cold('-#                                                        ');\n        var bsubs = [];\n        var c = cold('-2--3--4--5----6-#                                   ');\n        var csubs = '  ^                !                                   ';\n        var d = cold('----2--3|                           ');\n        var dsubs = [];\n        var e = cold('-1------2--3-4-5---|        ');\n        var esubs = [];\n        var f = cold('--|      ');\n        var fsubs = [];\n        var g = cold('---1-2|');\n        var gsubs = [];\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|               ');\n        var e1subs = '^                  !                                   ';\n        var expected = '---2--3--4--5----6-#                                   ';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.concatMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n        expectSubscriptions(c.subscriptions).toBe(csubs);\n        expectSubscriptions(d.subscriptions).toBe(dsubs);\n        expectSubscriptions(e.subscriptions).toBe(esubs);\n        expectSubscriptions(f.subscriptions).toBe(fsubs);\n        expectSubscriptions(g.subscriptions).toBe(gsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many complex, all inners finite, outer is unsubscribed early', function () {\n        var a = cold('-#                                                          ');\n        var asubs = [];\n        var b = cold('-#                                                        ');\n        var bsubs = [];\n        var c = cold('-2--3--4--5----6-|                                   ');\n        var csubs = '  ^                !                                   ';\n        var d = cold('----2--3|                           ');\n        var dsubs = '                   ^       !                           ';\n        var e = cold('-1------2--3-4-5---|        ');\n        var esubs = '                           ^  !                        ';\n        var f = cold('--|      ');\n        var fsubs = [];\n        var g = cold('---1-2|');\n        var gsubs = [];\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|               ');\n        var e1subs = '^                             !                        ';\n        var unsub = '                              !                        ';\n        var expected = '---2--3--4--5----6-----2--3-1--                        ';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.concatMap(function (value) { return observableLookup[value]; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n        expectSubscriptions(c.subscriptions).toBe(csubs);\n        expectSubscriptions(d.subscriptions).toBe(dsubs);\n        expectSubscriptions(e.subscriptions).toBe(esubs);\n        expectSubscriptions(f.subscriptions).toBe(fsubs);\n        expectSubscriptions(g.subscriptions).toBe(gsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var a = cold('-#                                                          ');\n        var asubs = [];\n        var b = cold('-#                                                        ');\n        var bsubs = [];\n        var c = cold('-2--3--4--5----6-|                                   ');\n        var csubs = '  ^                !                                   ';\n        var d = cold('----2--3|                           ');\n        var dsubs = '                   ^       !                           ';\n        var e = cold('-1------2--3-4-5---|        ');\n        var esubs = '                           ^  !                        ';\n        var f = cold('--|      ');\n        var fsubs = [];\n        var g = cold('---1-2|');\n        var gsubs = [];\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|               ');\n        var e1subs = '^                             !                        ';\n        var unsub = '                              !                        ';\n        var expected = '---2--3--4--5----6-----2--3-1--                        ';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .concatMap(function (value) { return observableLookup[value]; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n        expectSubscriptions(c.subscriptions).toBe(csubs);\n        expectSubscriptions(d.subscriptions).toBe(dsubs);\n        expectSubscriptions(e.subscriptions).toBe(esubs);\n        expectSubscriptions(f.subscriptions).toBe(fsubs);\n        expectSubscriptions(g.subscriptions).toBe(gsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many complex, all inners finite, project throws', function () {\n        var a = cold('-#                                                          ');\n        var asubs = [];\n        var b = cold('-#                                                        ');\n        var bsubs = [];\n        var c = cold('-2--3--4--5----6-|                                   ');\n        var csubs = '  ^                !                                   ';\n        var d = cold('----2--3|                           ');\n        var dsubs = '                   ^       !                           ';\n        var e = cold('-1------2--3-4-5---|        ');\n        var esubs = [];\n        var f = cold('--|      ');\n        var fsubs = [];\n        var g = cold('---1-2|');\n        var gsubs = [];\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|               ');\n        var e1subs = '^                          !                           ';\n        var expected = '---2--3--4--5----6-----2--3#                           ';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.concatMap(function (value) {\n            if (value === 'e') {\n                throw 'error';\n            }\n            return observableLookup[value];\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n        expectSubscriptions(c.subscriptions).toBe(csubs);\n        expectSubscriptions(d.subscriptions).toBe(dsubs);\n        expectSubscriptions(e.subscriptions).toBe(esubs);\n        expectSubscriptions(f.subscriptions).toBe(fsubs);\n        expectSubscriptions(g.subscriptions).toBe(gsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    function arrayRepeat(value, times) {\n        var results = [];\n        for (var i = 0; i < times; i++) {\n            results.push(value);\n        }\n        return results;\n    }\n    it('should concatMap many outer to an array for each value', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^                               !';\n        var expected = '(22)--(4444)---(333)----(22)----|';\n        var result = e1.concatMap((function (value) { return arrayRepeat(value, value); }));\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to inner arrays, using resultSelector', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^                               !';\n        var expected = '(44)--(8888)---(666)----(44)----|';\n        var result = e1.concatMap((function (value) { return arrayRepeat(value, value); }), function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to inner arrays, and outer throws', function () {\n        var e1 = hot('2-----4--------3--------2-------#');\n        var e1subs = '^                               !';\n        var expected = '(22)--(4444)---(333)----(22)----#';\n        var result = e1.concatMap((function (value) { return arrayRepeat(value, value); }));\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to inner arrays, resultSelector, outer throws', function () {\n        var e1 = hot('2-----4--------3--------2-------#');\n        var e1subs = '^                               !';\n        var expected = '(44)--(8888)---(666)----(44)----#';\n        var result = e1.concatMap((function (value) { return arrayRepeat(value, value); }), function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to inner arrays, outer unsubscribed early', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^            !                   ';\n        var unsub = '             !                   ';\n        var expected = '(22)--(4444)--                   ';\n        var result = e1.concatMap((function (value) { return arrayRepeat(value, value); }));\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to inner arrays, resultSelector, outer unsubscribed', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^            !                   ';\n        var unsub = '             !                   ';\n        var expected = '(44)--(8888)--                   ';\n        var result = e1.concatMap((function (value) { return arrayRepeat(value, value); }), function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to inner arrays, project throws', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^              !                 ';\n        var expected = '(22)--(4444)---#                 ';\n        var invoked = 0;\n        var result = e1.concatMap((function (value) {\n            invoked++;\n            if (invoked === 3) {\n                throw 'error';\n            }\n            return arrayRepeat(value, value);\n        }));\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to inner arrays, resultSelector throws', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^              !                 ';\n        var expected = '(44)--(8888)---#                 ';\n        var result = e1.concatMap((function (value) { return arrayRepeat(value, value); }), function (inner, outer) {\n            if (outer === '3') {\n                throw 'error';\n            }\n            return String(parseInt(outer) + parseInt(inner));\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMap many outer to inner arrays, resultSelector, project throws', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^              !                 ';\n        var expected = '(44)--(8888)---#                 ';\n        var invoked = 0;\n        var result = e1.concatMap((function (value) {\n            invoked++;\n            if (invoked === 3) {\n                throw 'error';\n            }\n            return arrayRepeat(value, value);\n        }), function (inner, outer) {\n            return String(parseInt(outer) + parseInt(inner));\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should map values to constant resolved promises and concatenate', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value) { return Observable.from(Promise.resolve(42)); };\n        var results = [];\n        source.concatMap(project).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([42, 42, 42, 42]);\n            done();\n        });\n    });\n    it('should map values to constant rejected promises and concatenate', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value) { return Observable.from(Promise.reject(42)); };\n        source.concatMap(project).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.deep.equal(42);\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n    it('should map values to resolved promises and concatenate', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value, index) { return Observable.from(Promise.resolve(value + index)); };\n        var results = [];\n        source.concatMap(project).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([4, 4, 4, 4]);\n            done();\n        });\n    });\n    it('should map values to rejected promises and concatenate', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value, index) { return Observable.from(Promise.reject('' + value + '-' + index)); };\n        source.concatMap(project).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.deep.equal('4-0');\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n    it('should concatMap values to resolved promises with resultSelector', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var resultSelectorCalledWith = [];\n        var project = function (value, index) { return Observable.from((Promise.resolve([value, index]))); };\n        var resultSelector = function (outerVal, innerVal, outerIndex, innerIndex) {\n            resultSelectorCalledWith.push([].slice.call(arguments));\n            return 8;\n        };\n        var results = [];\n        var expectedCalls = [\n            [4, [4, 0], 0, 0],\n            [3, [3, 1], 1, 0],\n            [2, [2, 2], 2, 0],\n            [1, [1, 3], 3, 0]\n        ];\n        source.concatMap(project, resultSelector).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([8, 8, 8, 8]);\n            chai_1.expect(resultSelectorCalledWith).to.deep.equal(expectedCalls);\n            done();\n        });\n    });\n    it('should concatMap values to rejected promises with resultSelector', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value, index) { return Observable.from(Promise.reject('' + value + '-' + index)); };\n        var resultSelector = function () {\n            throw 'this should not be called';\n        };\n        source.concatMap(project, resultSelector).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.deep.equal('4-0');\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n});\n//# sourceMappingURL=concatMap-spec.js.map"
  },
  {
    "__docId__": 1706,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe800",
    "testId": 800,
    "memberof": "spec-js/operators/concatMap-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/concatMap-spec.js~describe800",
    "access": null,
    "description": "Observable.prototype.concatMap",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{concatMap}"
      }
    ],
    "testTargets": [
      "concatMap"
    ]
  },
  {
    "__docId__": 1707,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it801",
    "testId": 801,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it801",
    "access": null,
    "description": "should concatenate many regular interval inners",
    "lineNumber": 17
  },
  {
    "__docId__": 1708,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it802",
    "testId": 802,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it802",
    "access": null,
    "description": "should concatMap many outer values to many inner values",
    "lineNumber": 38
  },
  {
    "__docId__": 1709,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it803",
    "testId": 803,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it803",
    "access": null,
    "description": "should handle an empty source",
    "lineNumber": 53
  },
  {
    "__docId__": 1710,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it804",
    "testId": 804,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it804",
    "access": null,
    "description": "should handle a never source",
    "lineNumber": 64
  },
  {
    "__docId__": 1711,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it805",
    "testId": 805,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it805",
    "access": null,
    "description": "should error immediately if given a just-throw source",
    "lineNumber": 75
  },
  {
    "__docId__": 1712,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it806",
    "testId": 806,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it806",
    "access": null,
    "description": "should return a silenced version of the source if the mapped inner is empty",
    "lineNumber": 86
  },
  {
    "__docId__": 1713,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it807",
    "testId": 807,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it807",
    "access": null,
    "description": "should return a never if the mapped inner is never",
    "lineNumber": 99
  },
  {
    "__docId__": 1714,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it808",
    "testId": 808,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it808",
    "access": null,
    "description": "should propagate errors if the mapped inner is a just-throw Observable",
    "lineNumber": 110
  },
  {
    "__docId__": 1715,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it809",
    "testId": 809,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it809",
    "access": null,
    "description": "should concatMap many outer to many inner, complete late",
    "lineNumber": 121
  },
  {
    "__docId__": 1716,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it810",
    "testId": 810,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it810",
    "access": null,
    "description": "should concatMap many outer to many inner, outer never completes",
    "lineNumber": 136
  },
  {
    "__docId__": 1717,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it811",
    "testId": 811,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it811",
    "access": null,
    "description": "should concatMap many outer to many inner, inner never completes",
    "lineNumber": 151
  },
  {
    "__docId__": 1718,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it812",
    "testId": 812,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it812",
    "access": null,
    "description": "should concatMap many outer to many inner, and inner throws",
    "lineNumber": 163
  },
  {
    "__docId__": 1719,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it813",
    "testId": 813,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it813",
    "access": null,
    "description": "should concatMap many outer to many inner, and outer throws",
    "lineNumber": 175
  },
  {
    "__docId__": 1720,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it814",
    "testId": 814,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it814",
    "access": null,
    "description": "should concatMap many outer to many inner, both inner and outer throw",
    "lineNumber": 188
  },
  {
    "__docId__": 1721,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it815",
    "testId": 815,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it815",
    "access": null,
    "description": "should concatMap many complex, where all inners are finite",
    "lineNumber": 200
  },
  {
    "__docId__": 1722,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it816",
    "testId": 816,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it816",
    "access": null,
    "description": "should concatMap many complex, all inners finite except one",
    "lineNumber": 230
  },
  {
    "__docId__": 1723,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it817",
    "testId": 817,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it817",
    "access": null,
    "description": "should concatMap many complex, inners finite, outer does not complete",
    "lineNumber": 260
  },
  {
    "__docId__": 1724,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it818",
    "testId": 818,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it818",
    "access": null,
    "description": "should concatMap many complex, all inners finite, and outer throws",
    "lineNumber": 290
  },
  {
    "__docId__": 1725,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it819",
    "testId": 819,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it819",
    "access": null,
    "description": "should concatMap many complex, all inners complete except one throws",
    "lineNumber": 320
  },
  {
    "__docId__": 1726,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it820",
    "testId": 820,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it820",
    "access": null,
    "description": "should concatMap many complex, all inners finite, outer is unsubscribed early",
    "lineNumber": 350
  },
  {
    "__docId__": 1727,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it821",
    "testId": 821,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it821",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 381
  },
  {
    "__docId__": 1728,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it822",
    "testId": 822,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it822",
    "access": null,
    "description": "should concatMap many complex, all inners finite, project throws",
    "lineNumber": 415
  },
  {
    "__docId__": 1729,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it823",
    "testId": 823,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it823",
    "access": null,
    "description": "should concatMap many outer to an array for each value",
    "lineNumber": 457
  },
  {
    "__docId__": 1730,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it824",
    "testId": 824,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it824",
    "access": null,
    "description": "should concatMap many outer to inner arrays, using resultSelector",
    "lineNumber": 465
  },
  {
    "__docId__": 1731,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it825",
    "testId": 825,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it825",
    "access": null,
    "description": "should concatMap many outer to inner arrays, and outer throws",
    "lineNumber": 473
  },
  {
    "__docId__": 1732,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it826",
    "testId": 826,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it826",
    "access": null,
    "description": "should concatMap many outer to inner arrays, resultSelector, outer throws",
    "lineNumber": 481
  },
  {
    "__docId__": 1733,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it827",
    "testId": 827,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it827",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, outer unsubscribed early",
    "lineNumber": 489
  },
  {
    "__docId__": 1734,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it828",
    "testId": 828,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it828",
    "access": null,
    "description": "should concatMap many outer to inner arrays, resultSelector, outer unsubscribed",
    "lineNumber": 498
  },
  {
    "__docId__": 1735,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it829",
    "testId": 829,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it829",
    "access": null,
    "description": "should concatMap many outer to inner arrays, project throws",
    "lineNumber": 507
  },
  {
    "__docId__": 1736,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it830",
    "testId": 830,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it830",
    "access": null,
    "description": "should concatMap many outer to inner arrays, resultSelector throws",
    "lineNumber": 522
  },
  {
    "__docId__": 1737,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it831",
    "testId": 831,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it831",
    "access": null,
    "description": "should concatMap many outer to inner arrays, resultSelector, project throws",
    "lineNumber": 535
  },
  {
    "__docId__": 1738,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it832",
    "testId": 832,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it832",
    "access": null,
    "description": "should map values to constant resolved promises and concatenate",
    "lineNumber": 552
  },
  {
    "__docId__": 1739,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it833",
    "testId": 833,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it833",
    "access": null,
    "description": "should map values to constant rejected promises and concatenate",
    "lineNumber": 565
  },
  {
    "__docId__": 1740,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it834",
    "testId": 834,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it834",
    "access": null,
    "description": "should map values to resolved promises and concatenate",
    "lineNumber": 577
  },
  {
    "__docId__": 1741,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it835",
    "testId": 835,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it835",
    "access": null,
    "description": "should map values to rejected promises and concatenate",
    "lineNumber": 590
  },
  {
    "__docId__": 1742,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it836",
    "testId": 836,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it836",
    "access": null,
    "description": "should concatMap values to resolved promises with resultSelector",
    "lineNumber": 602
  },
  {
    "__docId__": 1743,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it837",
    "testId": 837,
    "memberof": "spec-js/operators/concatMap-spec.js~describe800",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMap-spec.js~describe800.it837",
    "access": null,
    "description": "should concatMap values to rejected promises with resultSelector",
    "lineNumber": 627
  },
  {
    "__docId__": 1744,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/concatMapTo-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/concatMapTo-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {concatMapTo} */\ndescribe('Observable.prototype.concatMapTo', function () {\n    asDiagram('concatMapTo( 10\\u2014\\u201410\\u2014\\u201410\\u2014| )')('should map-and-flatten each item to an Observable', function () {\n        var e1 = hot('--1-----3--5-------|');\n        var e1subs = '^                  !';\n        var e2 = cold('x-x-x|              ', { x: 10 });\n        var expected = '--x-x-x-x-x-xx-x-x-|';\n        var values = { x: 10 };\n        var result = e1.concatMapTo(e2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should concatMapTo many outer values to many inner values', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---|                        ');\n        var e1subs = '^                                        !';\n        var inner = cold('--i-j-k-l-|                              ', values);\n        var innersubs = [' ^         !                              ',\n            '           ^         !                    ',\n            '                     ^         !          ',\n            '                               ^         !'];\n        var expected = '---i-j-k-l---i-j-k-l---i-j-k-l---i-j-k-l-|';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should handle an empty source', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var inner = cold('-1-2-3|');\n        var innersubs = [];\n        var expected = '|';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should handle a never source', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var inner = cold('-1-2-3|');\n        var innersubs = [];\n        var expected = '-';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should error immediately if given a just-throw source', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var inner = cold('-1-2-3|');\n        var innersubs = [];\n        var expected = '#';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should return a silenced version of the source if the mapped inner is empty', function () {\n        var e1 = cold('--a-b--c-|');\n        var e1subs = '^        !';\n        var inner = cold('|');\n        var innersubs = ['  (^!)     ',\n            '    (^!)   ',\n            '       (^!)'];\n        var expected = '---------|';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should return a never if the mapped inner is never', function () {\n        var e1 = cold('--a-b--c-|');\n        var e1subs = '^         ';\n        var inner = cold('-');\n        var innersubs = '  ^       ';\n        var expected = '----------';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should propagate errors if the mapped inner is a just-throw Observable', function () {\n        var e1 = cold('--a-b--c-|');\n        var e1subs = '^ !       ';\n        var inner = cold('#');\n        var innersubs = '  (^!)    ';\n        var expected = '--#';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should concatMapTo many outer to many inner, complete late', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d----------------------------------|');\n        var e1subs = '^                                               !';\n        var inner = cold('--i-j-k-l-|                                     ', values);\n        var innersubs = [' ^         !                                     ',\n            '           ^         !                           ',\n            '                     ^         !                 ',\n            '                               ^         !       '];\n        var expected = '---i-j-k-l---i-j-k-l---i-j-k-l---i-j-k-l--------|';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should concatMapTo many outer to many inner, outer never completes', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d-----------------------------------');\n        var e1subs = '^                                                ';\n        var inner = cold('--i-j-k-l-|                                     ', values);\n        var innersubs = [' ^         !                                     ',\n            '           ^         !                           ',\n            '                     ^         !                 ',\n            '                               ^         !       '];\n        var expected = '---i-j-k-l---i-j-k-l---i-j-k-l---i-j-k-l---------';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---| ');\n        var e1subs = '^                 !';\n        var inner = cold('--i-j-k-l-|       ', values);\n        var innersubs = [' ^         !       ',\n            '           ^      !'];\n        var expected = '---i-j-k-l---i-j-k-';\n        var unsub = '                  !';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .concatMapTo(inner)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should concatMapTo many outer to many inner, inner never completes', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---|');\n        var e1subs = '^                 ';\n        var inner = cold('--i-j-k-l-       ', values);\n        var innersubs = ' ^                ';\n        var expected = '---i-j-k-l--------';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should concatMapTo many outer to many inner, and inner throws', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---|');\n        var e1subs = '^          !      ';\n        var inner = cold('--i-j-k-l-#      ', values);\n        var innersubs = ' ^         !      ';\n        var expected = '---i-j-k-l-#      ';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should concatMapTo many outer to many inner, and outer throws', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---#');\n        var e1subs = '^                !';\n        var inner = cold('--i-j-k-l-|      ', values);\n        var innersubs = [' ^         !      ',\n            '           ^     !'];\n        var expected = '---i-j-k-l---i-j-#';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should concatMapTo many outer to many inner, both inner and outer throw', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a---b---c---d---#');\n        var e1subs = '^          !      ';\n        var inner = cold('--i-j-k-l-#      ', values);\n        var innersubs = ' ^         !      ';\n        var expected = '---i-j-k-l-#      ';\n        var result = e1.concatMapTo(inner);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n    });\n    it('should concatMapTo many outer to an array', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var expected = '(0123)(0123)---(0123)---(0123)--|';\n        var result = e1.concatMapTo(['0', '1', '2', '3']);\n        expectObservable(result).toBe(expected);\n    });\n    it('should concatMapTo many outer to inner arrays, using resultSelector', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var expected = '(2345)(4567)---(3456)---(2345)--|';\n        var result = e1.concatMapTo(['0', '1', '2', '3'], function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(result).toBe(expected);\n    });\n    it('should concatMapTo many outer to inner arrays, and outer throws', function () {\n        var e1 = hot('2-----4--------3--------2-------#');\n        var expected = '(0123)(0123)---(0123)---(0123)--#';\n        var result = e1.concatMapTo(['0', '1', '2', '3']);\n        expectObservable(result).toBe(expected);\n    });\n    it('should concatMapTo many outer to inner arrays, resultSelector, outer throws', function () {\n        var e1 = hot('2-----4--------3--------2-------#');\n        var expected = '(2345)(4567)---(3456)---(2345)--#';\n        var result = e1.concatMapTo(['0', '1', '2', '3'], function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(result).toBe(expected);\n    });\n    it('should mergeMap many outer to inner arrays, outer unsubscribed early', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var unsub = '             !';\n        var expected = '(0123)(0123)--';\n        var result = e1.concatMapTo(['0', '1', '2', '3']);\n        expectObservable(result, unsub).toBe(expected);\n    });\n    it('should concatMapTo many outer to inner arrays, resultSelector, outer unsubscribed', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var unsub = '             !';\n        var expected = '(2345)(4567)--';\n        var result = e1.concatMapTo(['0', '1', '2', '3'], function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(result, unsub).toBe(expected);\n    });\n    it('should concatMapTo many outer to inner arrays, resultSelector throws', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var expected = '(2345)(4567)---#';\n        var result = e1.concatMapTo(['0', '1', '2', '3'], function (x, y) {\n            if (x === '3') {\n                throw 'error';\n            }\n            return String(parseInt(x) + parseInt(y));\n        });\n        expectObservable(result).toBe(expected);\n    });\n    it('should map values to constant resolved promises and concatenate', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var results = [];\n        source.concatMapTo(Observable.from(Promise.resolve(42))).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([42, 42, 42, 42]);\n            done();\n        });\n    });\n    it('should map values to constant rejected promises and concatenate', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        source.concatMapTo(Observable.from(Promise.reject(42))).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.equal(42);\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n    it('should concatMapTo values to resolved promises with resultSelector', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var resultSelectorCalledWith = [];\n        var inner = Observable.from(Promise.resolve(42));\n        var resultSelector = function (outerVal, innerVal, outerIndex, innerIndex) {\n            resultSelectorCalledWith.push([].slice.call(arguments));\n            return 8;\n        };\n        var results = [];\n        var expectedCalls = [\n            [4, 42, 0, 0],\n            [3, 42, 1, 0],\n            [2, 42, 2, 0],\n            [1, 42, 3, 0]\n        ];\n        source.concatMapTo(inner, resultSelector).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([8, 8, 8, 8]);\n            chai_1.expect(resultSelectorCalledWith).to.deep.equal(expectedCalls);\n            done();\n        });\n    });\n    it('should concatMapTo values to rejected promises with resultSelector', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var inner = Observable.from(Promise.reject(42));\n        var resultSelector = function () {\n            throw 'this should not be called';\n        };\n        source.concatMapTo(inner, resultSelector).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.equal(42);\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n});\n//# sourceMappingURL=concatMapTo-spec.js.map"
  },
  {
    "__docId__": 1745,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe838",
    "testId": 838,
    "memberof": "spec-js/operators/concatMapTo-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838",
    "access": null,
    "description": "Observable.prototype.concatMapTo",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{concatMapTo}"
      }
    ],
    "testTargets": [
      "concatMapTo"
    ]
  },
  {
    "__docId__": 1746,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it839",
    "testId": 839,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it839",
    "access": null,
    "description": "should concatMapTo many outer values to many inner values",
    "lineNumber": 17
  },
  {
    "__docId__": 1747,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it840",
    "testId": 840,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it840",
    "access": null,
    "description": "should handle an empty source",
    "lineNumber": 32
  },
  {
    "__docId__": 1748,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it841",
    "testId": 841,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it841",
    "access": null,
    "description": "should handle a never source",
    "lineNumber": 43
  },
  {
    "__docId__": 1749,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it842",
    "testId": 842,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it842",
    "access": null,
    "description": "should error immediately if given a just-throw source",
    "lineNumber": 54
  },
  {
    "__docId__": 1750,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it843",
    "testId": 843,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it843",
    "access": null,
    "description": "should return a silenced version of the source if the mapped inner is empty",
    "lineNumber": 65
  },
  {
    "__docId__": 1751,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it844",
    "testId": 844,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it844",
    "access": null,
    "description": "should return a never if the mapped inner is never",
    "lineNumber": 78
  },
  {
    "__docId__": 1752,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it845",
    "testId": 845,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it845",
    "access": null,
    "description": "should propagate errors if the mapped inner is a just-throw Observable",
    "lineNumber": 89
  },
  {
    "__docId__": 1753,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it846",
    "testId": 846,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it846",
    "access": null,
    "description": "should concatMapTo many outer to many inner, complete late",
    "lineNumber": 100
  },
  {
    "__docId__": 1754,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it847",
    "testId": 847,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it847",
    "access": null,
    "description": "should concatMapTo many outer to many inner, outer never completes",
    "lineNumber": 115
  },
  {
    "__docId__": 1755,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it848",
    "testId": 848,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it848",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 130
  },
  {
    "__docId__": 1756,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it849",
    "testId": 849,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it849",
    "access": null,
    "description": "should concatMapTo many outer to many inner, inner never completes",
    "lineNumber": 147
  },
  {
    "__docId__": 1757,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it850",
    "testId": 850,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it850",
    "access": null,
    "description": "should concatMapTo many outer to many inner, and inner throws",
    "lineNumber": 159
  },
  {
    "__docId__": 1758,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it851",
    "testId": 851,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it851",
    "access": null,
    "description": "should concatMapTo many outer to many inner, and outer throws",
    "lineNumber": 171
  },
  {
    "__docId__": 1759,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it852",
    "testId": 852,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it852",
    "access": null,
    "description": "should concatMapTo many outer to many inner, both inner and outer throw",
    "lineNumber": 184
  },
  {
    "__docId__": 1760,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it853",
    "testId": 853,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it853",
    "access": null,
    "description": "should concatMapTo many outer to an array",
    "lineNumber": 196
  },
  {
    "__docId__": 1761,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it854",
    "testId": 854,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it854",
    "access": null,
    "description": "should concatMapTo many outer to inner arrays, using resultSelector",
    "lineNumber": 202
  },
  {
    "__docId__": 1762,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it855",
    "testId": 855,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it855",
    "access": null,
    "description": "should concatMapTo many outer to inner arrays, and outer throws",
    "lineNumber": 208
  },
  {
    "__docId__": 1763,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it856",
    "testId": 856,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it856",
    "access": null,
    "description": "should concatMapTo many outer to inner arrays, resultSelector, outer throws",
    "lineNumber": 214
  },
  {
    "__docId__": 1764,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it857",
    "testId": 857,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it857",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, outer unsubscribed early",
    "lineNumber": 220
  },
  {
    "__docId__": 1765,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it858",
    "testId": 858,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it858",
    "access": null,
    "description": "should concatMapTo many outer to inner arrays, resultSelector, outer unsubscribed",
    "lineNumber": 227
  },
  {
    "__docId__": 1766,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it859",
    "testId": 859,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it859",
    "access": null,
    "description": "should concatMapTo many outer to inner arrays, resultSelector throws",
    "lineNumber": 234
  },
  {
    "__docId__": 1767,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it860",
    "testId": 860,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it860",
    "access": null,
    "description": "should map values to constant resolved promises and concatenate",
    "lineNumber": 245
  },
  {
    "__docId__": 1768,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it861",
    "testId": 861,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it861",
    "access": null,
    "description": "should map values to constant rejected promises and concatenate",
    "lineNumber": 257
  },
  {
    "__docId__": 1769,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it862",
    "testId": 862,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it862",
    "access": null,
    "description": "should concatMapTo values to resolved promises with resultSelector",
    "lineNumber": 268
  },
  {
    "__docId__": 1770,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it863",
    "testId": 863,
    "memberof": "spec-js/operators/concatMapTo-spec.js~describe838",
    "testDepth": 1,
    "longname": "spec-js/operators/concatMapTo-spec.js~describe838.it863",
    "access": null,
    "description": "should concatMapTo values to rejected promises with resultSelector",
    "lineNumber": 293
  },
  {
    "__docId__": 1771,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/count-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/count-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {count} */\ndescribe('Observable.prototype.count', function () {\n    asDiagram('count')('should count the values of an observable', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^          !';\n        var expected = '-----------(x|)';\n        expectObservable(source.count()).toBe(expected, { x: 3 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should be never when source is never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.count()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be zero when source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '(w|)';\n        expectObservable(e1.count()).toBe(expected, { w: 0 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be never when source doesn\\'t complete', function () {\n        var e1 = hot('--x--^--y--');\n        var e1subs = '^     ';\n        var expected = '------';\n        expectObservable(e1.count()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be zero when source doesn\\'t have values', function () {\n        var e1 = hot('-x-^---|');\n        var e1subs = '^   !';\n        var expected = '----(w|)';\n        expectObservable(e1.count()).toBe(expected, { w: 0 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should count the unique value of an observable', function () {\n        var e1 = hot('-x-^--y--|');\n        var e1subs = '^     !';\n        var expected = '------(w|)';\n        expectObservable(e1.count()).toBe(expected, { w: 1 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should count the values of an ongoing hot observable', function () {\n        var source = hot('--a-^-b--c--d--|');\n        var subs = '^          !';\n        var expected = '-----------(x|)';\n        expectObservable(source.count()).toBe(expected, { x: 3 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should count a range() source observable', function (done) {\n        Rx.Observable.range(1, 10).count().subscribe(function (value) {\n            chai_1.expect(value).to.equal(10);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should count a range().skip(1) source observable', function (done) {\n        Rx.Observable.range(1, 10).skip(1).count().subscribe(function (value) {\n            chai_1.expect(value).to.equal(9);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should count a range().take(1) source observable', function (done) {\n        Rx.Observable.range(1, 10).take(1).count().subscribe(function (value) {\n            chai_1.expect(value).to.equal(1);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should work with error', function () {\n        var e1 = hot('-x-^--y--z--#', { x: 1, y: 2, z: 3 }, 'too bad');\n        var e1subs = '^        !';\n        var expected = '---------#';\n        expectObservable(e1.count()).toBe(expected, null, 'too bad');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.count()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an always-true predicate on an empty hot observable', function () {\n        var e1 = hot('-x-^---|');\n        var e1subs = '^   !';\n        var expected = '----(w|)';\n        var predicate = function () {\n            return true;\n        };\n        expectObservable(e1.count(predicate)).toBe(expected, { w: 0 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an always-false predicate on an empty hot observable', function () {\n        var e1 = hot('-x-^---|');\n        var e1subs = '^   !';\n        var expected = '----(w|)';\n        var predicate = function () {\n            return false;\n        };\n        expectObservable(e1.count(predicate)).toBe(expected, { w: 0 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an always-true predicate on a simple hot observable', function () {\n        var e1 = hot('-x-^-a-|');\n        var e1subs = '^   !';\n        var expected = '----(w|)';\n        var predicate = function () {\n            return true;\n        };\n        expectObservable(e1.count(predicate)).toBe(expected, { w: 1 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an always-false predicate on a simple hot observable', function () {\n        var e1 = hot('-x-^-a-|');\n        var e1subs = '^   !';\n        var expected = '----(w|)';\n        var predicate = function () {\n            return false;\n        };\n        expectObservable(e1.count(predicate)).toBe(expected, { w: 0 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('-1-^-2--3--4-|');\n        var e1subs = '^     !    ';\n        var expected = '-------    ';\n        var unsub = '      !    ';\n        var result = e1.count(function (value) { return parseInt(value) < 10; });\n        expectObservable(result, unsub).toBe(expected, { w: 3 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('-1-^-2--3--4-|');\n        var e1subs = '^     !    ';\n        var expected = '-------    ';\n        var unsub = '      !    ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .count(function (value) { return parseInt(value) < 10; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, { w: 3 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a match-all predicate on observable with many values', function () {\n        var e1 = hot('-1-^-2--3--4-|');\n        var e1subs = '^         !';\n        var expected = '----------(w|)';\n        var predicate = function (value) { return parseInt(value) < 10; };\n        expectObservable(e1.count(predicate)).toBe(expected, { w: 3 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a match-none predicate on observable with many values', function () {\n        var e1 = hot('-1-^-2--3--4-|');\n        var e1subs = '^         !';\n        var expected = '----------(w|)';\n        var predicate = function (value) { return parseInt(value) > 10; };\n        expectObservable(e1.count(predicate)).toBe(expected, { w: 0 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an always-true predicate on observable that throws', function () {\n        var e1 = hot('-1-^---#');\n        var e1subs = '^   !';\n        var expected = '----#';\n        var predicate = function () { return true; };\n        expectObservable(e1.count(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an always-false predicate on observable that throws', function () {\n        var e1 = hot('-1-^---#');\n        var e1subs = '^   !';\n        var expected = '----#';\n        var predicate = function () { return false; };\n        expectObservable(e1.count(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an always-true predicate on a hot never-observable', function () {\n        var e1 = hot('-x-^----');\n        var e1subs = '^    ';\n        var expected = '-----';\n        var predicate = function () { return true; };\n        expectObservable(e1.count(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a predicate that throws, on observable with many values', function () {\n        var e1 = hot('-1-^-2--3--|');\n        var e1subs = '^    !   ';\n        var expected = '-----#   ';\n        var predicate = function (value) {\n            if (value === '3') {\n                throw 'error';\n            }\n            return true;\n        };\n        expectObservable(e1.count(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=count-spec.js.map"
  },
  {
    "__docId__": 1772,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe864",
    "testId": 864,
    "memberof": "spec-js/operators/count-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/count-spec.js~describe864",
    "access": null,
    "description": "Observable.prototype.count",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{count}"
      }
    ],
    "testTargets": [
      "count"
    ]
  },
  {
    "__docId__": 1773,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it865",
    "testId": 865,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it865",
    "access": null,
    "description": "should be never when source is never",
    "lineNumber": 14
  },
  {
    "__docId__": 1774,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it866",
    "testId": 866,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it866",
    "access": null,
    "description": "should be zero when source is empty",
    "lineNumber": 21
  },
  {
    "__docId__": 1775,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it867",
    "testId": 867,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it867",
    "access": null,
    "description": "should be never when source doesn't complete",
    "lineNumber": 28
  },
  {
    "__docId__": 1776,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it868",
    "testId": 868,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it868",
    "access": null,
    "description": "should be zero when source doesn't have values",
    "lineNumber": 35
  },
  {
    "__docId__": 1777,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it869",
    "testId": 869,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it869",
    "access": null,
    "description": "should count the unique value of an observable",
    "lineNumber": 42
  },
  {
    "__docId__": 1778,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it870",
    "testId": 870,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it870",
    "access": null,
    "description": "should count the values of an ongoing hot observable",
    "lineNumber": 49
  },
  {
    "__docId__": 1779,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it871",
    "testId": 871,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it871",
    "access": null,
    "description": "should count a range() source observable",
    "lineNumber": 56
  },
  {
    "__docId__": 1780,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it872",
    "testId": 872,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it872",
    "access": null,
    "description": "should count a range().skip(1) source observable",
    "lineNumber": 65
  },
  {
    "__docId__": 1781,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it873",
    "testId": 873,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it873",
    "access": null,
    "description": "should count a range().take(1) source observable",
    "lineNumber": 74
  },
  {
    "__docId__": 1782,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it874",
    "testId": 874,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it874",
    "access": null,
    "description": "should work with error",
    "lineNumber": 83
  },
  {
    "__docId__": 1783,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it875",
    "testId": 875,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it875",
    "access": null,
    "description": "should work with throw",
    "lineNumber": 90
  },
  {
    "__docId__": 1784,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it876",
    "testId": 876,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it876",
    "access": null,
    "description": "should handle an always-true predicate on an empty hot observable",
    "lineNumber": 97
  },
  {
    "__docId__": 1785,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it877",
    "testId": 877,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it877",
    "access": null,
    "description": "should handle an always-false predicate on an empty hot observable",
    "lineNumber": 107
  },
  {
    "__docId__": 1786,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it878",
    "testId": 878,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it878",
    "access": null,
    "description": "should handle an always-true predicate on a simple hot observable",
    "lineNumber": 117
  },
  {
    "__docId__": 1787,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it879",
    "testId": 879,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it879",
    "access": null,
    "description": "should handle an always-false predicate on a simple hot observable",
    "lineNumber": 127
  },
  {
    "__docId__": 1788,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it880",
    "testId": 880,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it880",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 137
  },
  {
    "__docId__": 1789,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it881",
    "testId": 881,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it881",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 146
  },
  {
    "__docId__": 1790,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it882",
    "testId": 882,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it882",
    "access": null,
    "description": "should handle a match-all predicate on observable with many values",
    "lineNumber": 158
  },
  {
    "__docId__": 1791,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it883",
    "testId": 883,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it883",
    "access": null,
    "description": "should handle a match-none predicate on observable with many values",
    "lineNumber": 166
  },
  {
    "__docId__": 1792,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it884",
    "testId": 884,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it884",
    "access": null,
    "description": "should handle an always-true predicate on observable that throws",
    "lineNumber": 174
  },
  {
    "__docId__": 1793,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it885",
    "testId": 885,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it885",
    "access": null,
    "description": "should handle an always-false predicate on observable that throws",
    "lineNumber": 182
  },
  {
    "__docId__": 1794,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it886",
    "testId": 886,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it886",
    "access": null,
    "description": "should handle an always-true predicate on a hot never-observable",
    "lineNumber": 190
  },
  {
    "__docId__": 1795,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it887",
    "testId": 887,
    "memberof": "spec-js/operators/count-spec.js~describe864",
    "testDepth": 1,
    "longname": "spec-js/operators/count-spec.js~describe864.it887",
    "access": null,
    "description": "should handle a predicate that throws, on observable with many values",
    "lineNumber": 198
  },
  {
    "__docId__": 1796,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/debounce-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/debounce-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {debounce} */\ndescribe('Observable.prototype.debounce', function () {\n    function getTimerSelector(x) {\n        return function () { return Observable.timer(x, rxTestScheduler); };\n    }\n    asDiagram('debounce')('should debounce values by a specified cold Observable', function () {\n        var e1 = hot('-a--bc--d---|');\n        var e2 = cold('--|          ');\n        var expected = '---a---c--d-|';\n        var result = e1.debounce(function () { return e2; });\n        expectObservable(result).toBe(expected);\n    });\n    it('should delay all element by selector observable', function () {\n        var e1 = hot('--a--b--c--d---------|');\n        var e1subs = '^                    !';\n        var expected = '----a--b--c--d-------|';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should debounce by selector observable', function () {\n        var e1 = hot('--a--bc--d----|');\n        var e1subs = '^             !';\n        var expected = '----a---c--d--|';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete when source does not emit', function () {\n        var e1 = hot('-----|');\n        var e1subs = '^    !';\n        var expected = '-----|';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete when source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when source does not emit and raises error', function () {\n        var e1 = hot('-----#');\n        var e1subs = '^    !';\n        var expected = '-----#';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when source throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--bc--d----|');\n        var e1subs = '^      !       ';\n        var expected = '----a---       ';\n        var unsub = '       !       ';\n        var result = e1.debounce(getTimerSelector(20));\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--bc--d----|');\n        var e1subs = '^      !       ';\n        var expected = '----a---       ';\n        var unsub = '       !       ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .debounce(getTimerSelector(20))\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should debounce and does not complete when source does not completes', function () {\n        var e1 = hot('--a--bc--d---');\n        var e1subs = '^            ';\n        var expected = '----a---c--d-';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes when source does not completes', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes when source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should delay all element until source raises error', function () {\n        var e1 = hot('--a--b--c--d---------#');\n        var e1subs = '^                    !';\n        var expected = '----a--b--c--d-------#';\n        expectObservable(e1.debounce(getTimerSelector(20))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should debounce all elements while source emits by selector observable', function () {\n        var e1 = hot('---a---b---c---d---e|');\n        var e1subs = '^                   !';\n        var expected = '--------------------(e|)';\n        expectObservable(e1.debounce(getTimerSelector(40))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should debounce all element while source emits by selector observable until raises error', function () {\n        var e1 = hot('--a--b--c--d-#');\n        var e1subs = '^            !';\n        var expected = '-------------#';\n        expectObservable(e1.debounce(getTimerSelector(50))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should delay element by same selector observable emits multiple', function () {\n        var e1 = hot('----a--b--c----d----e-------|');\n        var e1subs = '^                           !';\n        var expected = '------a--b--c----d----e-----|';\n        var selector = cold('--x-y-');\n        var selectorSubs = ['    ^ !                      ',\n            '       ^ !                   ',\n            '          ^ !                ',\n            '               ^ !           ',\n            '                    ^ !      '];\n        expectObservable(e1.debounce(function () { return selector; })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n    });\n    it('should debounce by selector observable emits multiple', function () {\n        var e1 = hot('----a--b--c----d----e-------|');\n        var e1subs = '^                           !';\n        var expected = '------a-----c---------e-----|';\n        var selector = [cold('--x-y-'),\n            cold('----x-y-'),\n            cold('--x-y-'),\n            cold('------x-y-'),\n            cold('--x-y-')];\n        var selectorSubs = ['    ^ !                      ',\n            '       ^  !                  ',\n            '          ^ !                ',\n            '               ^    !        ',\n            '                    ^ !      '];\n        expectObservable(e1.debounce(function () { return selector.shift(); })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var i = 0; i < selectorSubs.length; i++) {\n            expectSubscriptions(selector[i].subscriptions).toBe(selectorSubs[i]);\n        }\n    });\n    it('should debounce by selector observable until source completes', function () {\n        var e1 = hot('----a--b--c----d----e|');\n        var e1subs = '^                    !';\n        var expected = '------a-----c--------(e|)';\n        var selector = [cold('--x-y-'),\n            cold('----x-y-'),\n            cold('--x-y-'),\n            cold('------x-y-'),\n            cold('--x-y-')];\n        var selectorSubs = ['    ^ !               ',\n            '       ^  !           ',\n            '          ^ !         ',\n            '               ^    ! ',\n            '                    ^!'];\n        expectObservable(e1.debounce(function () { return selector.shift(); })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var i = 0; i < selectorSubs.length; i++) {\n            expectSubscriptions(selector[i].subscriptions).toBe(selectorSubs[i]);\n        }\n    });\n    it('should raise error when selector observable raises error', function () {\n        var e1 = hot('--------a--------b--------c---------|');\n        var e1subs = '^                            !';\n        var expected = '---------a---------b---------#';\n        var selector = [cold('-x-y-'),\n            cold('--x-y-'),\n            cold('---#')];\n        var selectorSubs = ['        ^!                    ',\n            '                 ^ !          ',\n            '                          ^  !'];\n        expectObservable(e1.debounce(function () { return selector.shift(); })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var i = 0; i < selectorSubs.length; i++) {\n            expectSubscriptions(selector[i].subscriptions).toBe(selectorSubs[i]);\n        }\n    });\n    it('should raise error when source raises error with selector observable', function () {\n        var e1 = hot('--------a--------b--------c---------d#');\n        var e1subs = '^                                    !';\n        var expected = '---------a---------b---------c-------#';\n        var selector = [cold('-x-y-'),\n            cold('--x-y-'),\n            cold('---x-y-'),\n            cold('----x-y-')];\n        var selectorSubs = ['        ^!                            ',\n            '                 ^ !                  ',\n            '                          ^  !        ',\n            '                                    ^!'];\n        expectObservable(e1.debounce(function () { return selector.shift(); })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var i = 0; i < selectorSubs.length; i++) {\n            expectSubscriptions(selector[i].subscriptions).toBe(selectorSubs[i]);\n        }\n    });\n    it('should raise error when selector function throws', function () {\n        var e1 = hot('--------a--------b--------c---------|');\n        var e1subs = '^                         !';\n        var expected = '---------a---------b------#';\n        var selector = [cold('-x-y-'),\n            cold('--x-y-')];\n        var selectorSubs = ['        ^!                            ',\n            '                 ^ !                  '];\n        function selectorFunction(x) {\n            if (x !== 'c') {\n                return selector.shift();\n            }\n            else {\n                throw 'error';\n            }\n        }\n        expectObservable(e1.debounce(selectorFunction)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var i = 0; i < selectorSubs.length; i++) {\n            expectSubscriptions(selector[i].subscriptions).toBe(selectorSubs[i]);\n        }\n    });\n    it('should mirror the source when given an empty selector Observable', function () {\n        var e1 = hot('--------a-x-yz---bxy---z--c--x--y--z|');\n        var e1subs = '^                                   !';\n        var expected = '--------a-x-yz---bxy---z--c--x--y--z|';\n        function selectorFunction(x) { return Observable.empty(); }\n        expectObservable(e1.debounce(selectorFunction)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should ignore all values except last, when given a never selector Observable', function () {\n        var e1 = hot('--------a-x-yz---bxy---z--c--x--y--z|');\n        var e1subs = '^                                   !';\n        var expected = '------------------------------------(z|)';\n        function selectorFunction(x) { return Observable.never(); }\n        expectObservable(e1.debounce(selectorFunction)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should delay element by selector observable completes when it does not emits', function () {\n        var e1 = hot('--------a--------b--------c---------|');\n        var e1subs = '^                                   !';\n        var expected = '---------a---------b---------c------|';\n        var selector = [cold('-|'),\n            cold('--|'),\n            cold('---|')];\n        var selectorSubs = ['        ^!                           ',\n            '                 ^ !                 ',\n            '                          ^  !       '];\n        expectObservable(e1.debounce(function () { return selector.shift(); })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var i = 0; i < selectorSubs.length; i++) {\n            expectSubscriptions(selector[i].subscriptions).toBe(selectorSubs[i]);\n        }\n    });\n    it('should debounce by selector observable completes when it does not emits', function () {\n        var e1 = hot('----a--b-c---------de-------------|');\n        var e1subs = '^                                 !';\n        var expected = '-----a------c------------e--------|';\n        var selector = [cold('-|'),\n            cold('--|'),\n            cold('---|'),\n            cold('----|'),\n            cold('-----|')];\n        var selectorSubs = ['    ^!                             ',\n            '       ^ !                         ',\n            '         ^  !                      ',\n            '                   ^!              ',\n            '                    ^    !         '];\n        expectObservable(e1.debounce(function () { return selector.shift(); })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var i = 0; i < selectorSubs.length; i++) {\n            expectSubscriptions(selector[i].subscriptions).toBe(selectorSubs[i]);\n        }\n    });\n    it('should delay by promise resolves', function (done) {\n        var e1 = Observable.concat(Observable.of(1), Observable.timer(10).mapTo(2), Observable.timer(10).mapTo(3), Observable.timer(100).mapTo(4));\n        var expected = [1, 2, 3, 4];\n        e1.debounce(function () {\n            return new Promise(function (resolve) { resolve(42); });\n        }).subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should raises error when promise rejects', function (done) {\n        var e1 = Observable.concat(Observable.of(1), Observable.timer(10).mapTo(2), Observable.timer(10).mapTo(3), Observable.timer(100).mapTo(4));\n        var expected = [1, 2];\n        var error = new Error('error');\n        e1.debounce(function (x) {\n            if (x === 3) {\n                return new Promise(function (resolve, reject) { reject(error); });\n            }\n            else {\n                return new Promise(function (resolve) { resolve(42); });\n            }\n        }).subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (err) {\n            chai_1.expect(err).to.be.an('error', 'error');\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n});\n//# sourceMappingURL=debounce-spec.js.map"
  },
  {
    "__docId__": 1797,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe888",
    "testId": 888,
    "memberof": "spec-js/operators/debounce-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/debounce-spec.js~describe888",
    "access": null,
    "description": "Observable.prototype.debounce",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{debounce}"
      }
    ],
    "testTargets": [
      "debounce"
    ]
  },
  {
    "__docId__": 1798,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it889",
    "testId": 889,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it889",
    "access": null,
    "description": "should delay all element by selector observable",
    "lineNumber": 17
  },
  {
    "__docId__": 1799,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it890",
    "testId": 890,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it890",
    "access": null,
    "description": "should debounce by selector observable",
    "lineNumber": 24
  },
  {
    "__docId__": 1800,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it891",
    "testId": 891,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it891",
    "access": null,
    "description": "should complete when source does not emit",
    "lineNumber": 31
  },
  {
    "__docId__": 1801,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it892",
    "testId": 892,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it892",
    "access": null,
    "description": "should complete when source is empty",
    "lineNumber": 38
  },
  {
    "__docId__": 1802,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it893",
    "testId": 893,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it893",
    "access": null,
    "description": "should raise error when source does not emit and raises error",
    "lineNumber": 45
  },
  {
    "__docId__": 1803,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it894",
    "testId": 894,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it894",
    "access": null,
    "description": "should raise error when source throws",
    "lineNumber": 52
  },
  {
    "__docId__": 1804,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it895",
    "testId": 895,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it895",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 59
  },
  {
    "__docId__": 1805,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it896",
    "testId": 896,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it896",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 68
  },
  {
    "__docId__": 1806,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it897",
    "testId": 897,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it897",
    "access": null,
    "description": "should debounce and does not complete when source does not completes",
    "lineNumber": 80
  },
  {
    "__docId__": 1807,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it898",
    "testId": 898,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it898",
    "access": null,
    "description": "should not completes when source does not completes",
    "lineNumber": 87
  },
  {
    "__docId__": 1808,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it899",
    "testId": 899,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it899",
    "access": null,
    "description": "should not completes when source never completes",
    "lineNumber": 94
  },
  {
    "__docId__": 1809,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it900",
    "testId": 900,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it900",
    "access": null,
    "description": "should delay all element until source raises error",
    "lineNumber": 101
  },
  {
    "__docId__": 1810,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it901",
    "testId": 901,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it901",
    "access": null,
    "description": "should debounce all elements while source emits by selector observable",
    "lineNumber": 108
  },
  {
    "__docId__": 1811,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it902",
    "testId": 902,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it902",
    "access": null,
    "description": "should debounce all element while source emits by selector observable until raises error",
    "lineNumber": 115
  },
  {
    "__docId__": 1812,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it903",
    "testId": 903,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it903",
    "access": null,
    "description": "should delay element by same selector observable emits multiple",
    "lineNumber": 122
  },
  {
    "__docId__": 1813,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it904",
    "testId": 904,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it904",
    "access": null,
    "description": "should debounce by selector observable emits multiple",
    "lineNumber": 136
  },
  {
    "__docId__": 1814,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it905",
    "testId": 905,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it905",
    "access": null,
    "description": "should debounce by selector observable until source completes",
    "lineNumber": 156
  },
  {
    "__docId__": 1815,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it906",
    "testId": 906,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it906",
    "access": null,
    "description": "should raise error when selector observable raises error",
    "lineNumber": 176
  },
  {
    "__docId__": 1816,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it907",
    "testId": 907,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it907",
    "access": null,
    "description": "should raise error when source raises error with selector observable",
    "lineNumber": 192
  },
  {
    "__docId__": 1817,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it908",
    "testId": 908,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it908",
    "access": null,
    "description": "should raise error when selector function throws",
    "lineNumber": 210
  },
  {
    "__docId__": 1818,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it909",
    "testId": 909,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it909",
    "access": null,
    "description": "should mirror the source when given an empty selector Observable",
    "lineNumber": 232
  },
  {
    "__docId__": 1819,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it910",
    "testId": 910,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it910",
    "access": null,
    "description": "should ignore all values except last, when given a never selector Observable",
    "lineNumber": 240
  },
  {
    "__docId__": 1820,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it911",
    "testId": 911,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it911",
    "access": null,
    "description": "should delay element by selector observable completes when it does not emits",
    "lineNumber": 248
  },
  {
    "__docId__": 1821,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it912",
    "testId": 912,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it912",
    "access": null,
    "description": "should debounce by selector observable completes when it does not emits",
    "lineNumber": 264
  },
  {
    "__docId__": 1822,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it913",
    "testId": 913,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it913",
    "access": null,
    "description": "should delay by promise resolves",
    "lineNumber": 284
  },
  {
    "__docId__": 1823,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it914",
    "testId": 914,
    "memberof": "spec-js/operators/debounce-spec.js~describe888",
    "testDepth": 1,
    "longname": "spec-js/operators/debounce-spec.js~describe888.it914",
    "access": null,
    "description": "should raises error when promise rejects",
    "lineNumber": 298
  },
  {
    "__docId__": 1824,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/debounceTime-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/debounceTime-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {debounceTime} */\ndescribe('Observable.prototype.debounceTime', function () {\n    asDiagram('debounceTime(20)')('should debounce values by 20 time units', function () {\n        var e1 = hot('-a--bc--d---|');\n        var expected = '---a---c--d-|';\n        expectObservable(e1.debounceTime(20, rxTestScheduler)).toBe(expected);\n    });\n    it('should delay all element by the specified time', function () {\n        var e1 = hot('-a--------b------c----|');\n        var e1subs = '^                     !';\n        var expected = '------a--------b------(c|)';\n        expectObservable(e1.debounceTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should debounce and delay element by the specified time', function () {\n        var e1 = hot('-a--(bc)-----------d-------|');\n        var e1subs = '^                          !';\n        var expected = '---------c--------------d--|';\n        expectObservable(e1.debounceTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete when source does not emit', function () {\n        var e1 = hot('-----|');\n        var e1subs = '^    !';\n        var expected = '-----|';\n        expectObservable(e1.debounceTime(10, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete when source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.debounceTime(10, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when source does not emit and raises error', function () {\n        var e1 = hot('-----#');\n        var e1subs = '^    !';\n        var expected = '-----#';\n        expectObservable(e1.debounceTime(10, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when source throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.debounceTime(10, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--bc--d----|');\n        var e1subs = '^      !       ';\n        var expected = '----a---       ';\n        var unsub = '       !       ';\n        var result = e1.debounceTime(20, rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--bc--d----|');\n        var e1subs = '^      !       ';\n        var expected = '----a---       ';\n        var unsub = '       !       ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .debounceTime(20, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should debounce and does not complete when source does not completes', function () {\n        var e1 = hot('-a--(bc)-----------d-------');\n        var e1subs = '^                          ';\n        var expected = '---------c--------------d--';\n        expectObservable(e1.debounceTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes when source does not completes', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.debounceTime(10, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes when source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.debounceTime(10, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should delay all element until source raises error', function () {\n        var e1 = hot('-a--------b------c----#');\n        var e1subs = '^                     !';\n        var expected = '------a--------b------#';\n        expectObservable(e1.debounceTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should debounce all elements while source emits within given time', function () {\n        var e1 = hot('--a--b--c--d--e--f--g--h-|');\n        var e1subs = '^                        !';\n        var expected = '-------------------------(h|)';\n        expectObservable(e1.debounceTime(40, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should debounce all element while source emits within given time until raises error', function () {\n        var e1 = hot('--a--b--c--d--e--f--g--h-#');\n        var e1subs = '^                        !';\n        var expected = '-------------------------#';\n        expectObservable(e1.debounceTime(40, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=debounceTime-spec.js.map"
  },
  {
    "__docId__": 1825,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe915",
    "testId": 915,
    "memberof": "spec-js/operators/debounceTime-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915",
    "access": null,
    "description": "Observable.prototype.debounceTime",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{debounceTime}"
      }
    ],
    "testTargets": [
      "debounceTime"
    ]
  },
  {
    "__docId__": 1826,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it916",
    "testId": 916,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it916",
    "access": null,
    "description": "should delay all element by the specified time",
    "lineNumber": 11
  },
  {
    "__docId__": 1827,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it917",
    "testId": 917,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it917",
    "access": null,
    "description": "should debounce and delay element by the specified time",
    "lineNumber": 18
  },
  {
    "__docId__": 1828,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it918",
    "testId": 918,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it918",
    "access": null,
    "description": "should complete when source does not emit",
    "lineNumber": 25
  },
  {
    "__docId__": 1829,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it919",
    "testId": 919,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it919",
    "access": null,
    "description": "should complete when source is empty",
    "lineNumber": 32
  },
  {
    "__docId__": 1830,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it920",
    "testId": 920,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it920",
    "access": null,
    "description": "should raise error when source does not emit and raises error",
    "lineNumber": 39
  },
  {
    "__docId__": 1831,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it921",
    "testId": 921,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it921",
    "access": null,
    "description": "should raise error when source throws",
    "lineNumber": 46
  },
  {
    "__docId__": 1832,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it922",
    "testId": 922,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it922",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 53
  },
  {
    "__docId__": 1833,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it923",
    "testId": 923,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it923",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 62
  },
  {
    "__docId__": 1834,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it924",
    "testId": 924,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it924",
    "access": null,
    "description": "should debounce and does not complete when source does not completes",
    "lineNumber": 74
  },
  {
    "__docId__": 1835,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it925",
    "testId": 925,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it925",
    "access": null,
    "description": "should not completes when source does not completes",
    "lineNumber": 81
  },
  {
    "__docId__": 1836,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it926",
    "testId": 926,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it926",
    "access": null,
    "description": "should not completes when source never completes",
    "lineNumber": 88
  },
  {
    "__docId__": 1837,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it927",
    "testId": 927,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it927",
    "access": null,
    "description": "should delay all element until source raises error",
    "lineNumber": 95
  },
  {
    "__docId__": 1838,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it928",
    "testId": 928,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it928",
    "access": null,
    "description": "should debounce all elements while source emits within given time",
    "lineNumber": 102
  },
  {
    "__docId__": 1839,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it929",
    "testId": 929,
    "memberof": "spec-js/operators/debounceTime-spec.js~describe915",
    "testDepth": 1,
    "longname": "spec-js/operators/debounceTime-spec.js~describe915.it929",
    "access": null,
    "description": "should debounce all element while source emits within given time until raises error",
    "lineNumber": 109
  },
  {
    "__docId__": 1840,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/defaultIfEmpty-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/defaultIfEmpty-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {defaultIfEmpty} */\ndescribe('Observable.prototype.defaultIfEmpty', function () {\n    asDiagram('defaultIfEmpty(42)')('should return the Observable if not empty with a default value', function () {\n        var e1 = hot('--------|');\n        var expected = '--------(x|)';\n        expectObservable(e1.defaultIfEmpty(42)).toBe(expected, { x: 42 });\n    });\n    it('should return the argument if Observable is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '(x|)';\n        expectObservable(e1.defaultIfEmpty('x')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return null if the Observable is empty and no arguments', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '(x|)';\n        expectObservable(e1.defaultIfEmpty()).toBe(expected, { x: null });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return the Observable if not empty with a default value', function () {\n        var e1 = hot('--a--b--|');\n        var e1subs = '^       !';\n        var expected = '--a--b--|';\n        expectObservable(e1.defaultIfEmpty('x')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return the Observable if not empty with no default value', function () {\n        var e1 = hot('--a--b--|');\n        var e1subs = '^       !';\n        var expected = '--a--b--|';\n        expectObservable(e1.defaultIfEmpty()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--b--|');\n        var e1subs = '^   !    ';\n        var expected = '--a--    ';\n        var unsub = '    !    ';\n        var result = e1.defaultIfEmpty('x');\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--|');\n        var e1subs = '^   !    ';\n        var expected = '--a--    ';\n        var unsub = '    !    ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .defaultIfEmpty('x')\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should error if the Observable errors', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.defaultIfEmpty('x')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=defaultIfEmpty-spec.js.map"
  },
  {
    "__docId__": 1841,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe930",
    "testId": 930,
    "memberof": "spec-js/operators/defaultIfEmpty-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/defaultIfEmpty-spec.js~describe930",
    "access": null,
    "description": "Observable.prototype.defaultIfEmpty",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{defaultIfEmpty}"
      }
    ],
    "testTargets": [
      "defaultIfEmpty"
    ]
  },
  {
    "__docId__": 1842,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it931",
    "testId": 931,
    "memberof": "spec-js/operators/defaultIfEmpty-spec.js~describe930",
    "testDepth": 1,
    "longname": "spec-js/operators/defaultIfEmpty-spec.js~describe930.it931",
    "access": null,
    "description": "should return the argument if Observable is empty",
    "lineNumber": 11
  },
  {
    "__docId__": 1843,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it932",
    "testId": 932,
    "memberof": "spec-js/operators/defaultIfEmpty-spec.js~describe930",
    "testDepth": 1,
    "longname": "spec-js/operators/defaultIfEmpty-spec.js~describe930.it932",
    "access": null,
    "description": "should return null if the Observable is empty and no arguments",
    "lineNumber": 18
  },
  {
    "__docId__": 1844,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it933",
    "testId": 933,
    "memberof": "spec-js/operators/defaultIfEmpty-spec.js~describe930",
    "testDepth": 1,
    "longname": "spec-js/operators/defaultIfEmpty-spec.js~describe930.it933",
    "access": null,
    "description": "should return the Observable if not empty with a default value",
    "lineNumber": 25
  },
  {
    "__docId__": 1845,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it934",
    "testId": 934,
    "memberof": "spec-js/operators/defaultIfEmpty-spec.js~describe930",
    "testDepth": 1,
    "longname": "spec-js/operators/defaultIfEmpty-spec.js~describe930.it934",
    "access": null,
    "description": "should return the Observable if not empty with no default value",
    "lineNumber": 32
  },
  {
    "__docId__": 1846,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it935",
    "testId": 935,
    "memberof": "spec-js/operators/defaultIfEmpty-spec.js~describe930",
    "testDepth": 1,
    "longname": "spec-js/operators/defaultIfEmpty-spec.js~describe930.it935",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 39
  },
  {
    "__docId__": 1847,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it936",
    "testId": 936,
    "memberof": "spec-js/operators/defaultIfEmpty-spec.js~describe930",
    "testDepth": 1,
    "longname": "spec-js/operators/defaultIfEmpty-spec.js~describe930.it936",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 48
  },
  {
    "__docId__": 1848,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it937",
    "testId": 937,
    "memberof": "spec-js/operators/defaultIfEmpty-spec.js~describe930",
    "testDepth": 1,
    "longname": "spec-js/operators/defaultIfEmpty-spec.js~describe930.it937",
    "access": null,
    "description": "should error if the Observable errors",
    "lineNumber": 60
  },
  {
    "__docId__": 1849,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/delay-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/delay-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {delay} */\ndescribe('Observable.prototype.delay', function () {\n    asDiagram('delay(20)')('should delay by specified timeframe', function () {\n        var e1 = hot('---a--b--|  ');\n        var t = time('--|      ');\n        var expected = '-----a--b--|';\n        var subs = '^          !';\n        var result = e1.delay(t, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should delay by absolute time period', function () {\n        var e1 = hot('--a--b--|  ');\n        var t = time('---|     ');\n        var expected = '-----a--b--|';\n        var subs = '^          !';\n        var absoluteDelay = new Date(rxTestScheduler.now() + t);\n        var result = e1.delay(absoluteDelay, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should delay by absolute time period after subscription', function () {\n        var e1 = hot('---^--a--b--|  ');\n        var t = time('---|     ');\n        var expected = '------a--b--|';\n        var subs = '^           !';\n        var absoluteDelay = new Date(rxTestScheduler.now() + t);\n        var result = e1.delay(absoluteDelay, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raise error when source raises error', function () {\n        var e1 = hot('---a---b---#');\n        var t = time('---|     ');\n        var expected = '------a---b#';\n        var subs = '^          !';\n        var result = e1.delay(t, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raise error when source raises error', function () {\n        var e1 = hot('--a--b--#');\n        var t = time('---|   ');\n        var expected = '-----a--#';\n        var subs = '^       !';\n        var absoluteDelay = new Date(rxTestScheduler.now() + t);\n        var result = e1.delay(absoluteDelay, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raise error when source raises error after subscription', function () {\n        var e1 = hot('---^---a---b---#');\n        var t = time('---|     ');\n        var expected = '-------a---b#';\n        var e1Sub = '^           !';\n        var absoluteDelay = new Date(rxTestScheduler.now() + t);\n        var result = e1.delay(absoluteDelay, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1Sub);\n    });\n    it('should delay when source does not emits', function () {\n        var e1 = hot('----|   ');\n        var t = time('---|');\n        var expected = '-------|';\n        var subs = '^      !';\n        var result = e1.delay(t, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should delay when source is empty', function () {\n        var e1 = cold('|');\n        var t = time('---|');\n        var expected = '---|';\n        var result = e1.delay(t, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n    });\n    it('should not complete when source does not completes', function () {\n        var e1 = hot('---a---b---------');\n        var t = time('---|          ');\n        var expected = '------a---b------';\n        var unsub = '----------------!';\n        var subs = '^               !';\n        var result = e1.delay(t, rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('---a---b----');\n        var t = time('---|     ');\n        var e1subs = '^       !   ';\n        var expected = '------a--   ';\n        var unsub = '        !   ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .delay(t, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not complete when source never completes', function () {\n        var e1 = cold('-');\n        var t = time('---|');\n        var expected = '-';\n        var result = e1.delay(t, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n    });\n});\n//# sourceMappingURL=delay-spec.js.map"
  },
  {
    "__docId__": 1850,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe938",
    "testId": 938,
    "memberof": "spec-js/operators/delay-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/delay-spec.js~describe938",
    "access": null,
    "description": "Observable.prototype.delay",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{delay}"
      }
    ],
    "testTargets": [
      "delay"
    ]
  },
  {
    "__docId__": 1851,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it939",
    "testId": 939,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it939",
    "access": null,
    "description": "should delay by absolute time period",
    "lineNumber": 15
  },
  {
    "__docId__": 1852,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it940",
    "testId": 940,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it940",
    "access": null,
    "description": "should delay by absolute time period after subscription",
    "lineNumber": 25
  },
  {
    "__docId__": 1853,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it941",
    "testId": 941,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it941",
    "access": null,
    "description": "should raise error when source raises error",
    "lineNumber": 35
  },
  {
    "__docId__": 1854,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it942",
    "testId": 942,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it942",
    "access": null,
    "description": "should raise error when source raises error",
    "lineNumber": 44
  },
  {
    "__docId__": 1855,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it943",
    "testId": 943,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it943",
    "access": null,
    "description": "should raise error when source raises error after subscription",
    "lineNumber": 54
  },
  {
    "__docId__": 1856,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it944",
    "testId": 944,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it944",
    "access": null,
    "description": "should delay when source does not emits",
    "lineNumber": 64
  },
  {
    "__docId__": 1857,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it945",
    "testId": 945,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it945",
    "access": null,
    "description": "should delay when source is empty",
    "lineNumber": 73
  },
  {
    "__docId__": 1858,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it946",
    "testId": 946,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it946",
    "access": null,
    "description": "should not complete when source does not completes",
    "lineNumber": 80
  },
  {
    "__docId__": 1859,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it947",
    "testId": 947,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it947",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 90
  },
  {
    "__docId__": 1860,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it948",
    "testId": 948,
    "memberof": "spec-js/operators/delay-spec.js~describe938",
    "testDepth": 1,
    "longname": "spec-js/operators/delay-spec.js~describe938.it948",
    "access": null,
    "description": "should not complete when source never completes",
    "lineNumber": 103
  },
  {
    "__docId__": 1861,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/delayWhen-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/delayWhen-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\n/** @test {delayWhen} */\ndescribe('Observable.prototype.delayWhen', function () {\n    asDiagram('delayWhen(durationSelector)')('should delay by duration selector', function () {\n        var e1 = hot('---a---b---c--|');\n        var expected = '-----a------c----(b|)';\n        var subs = '^                !';\n        var selector = [cold('--x--|'),\n            cold('----------(x|)'),\n            cold('-x--|')];\n        var selectorSubs = ['   ^ !            ',\n            '       ^         !',\n            '           ^!     '];\n        var idx = 0;\n        function durationSelector(x) {\n            return selector[idx++];\n        }\n        var result = e1.delayWhen(durationSelector);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector[0].subscriptions).toBe(selectorSubs[0]);\n        expectSubscriptions(selector[1].subscriptions).toBe(selectorSubs[1]);\n        expectSubscriptions(selector[2].subscriptions).toBe(selectorSubs[2]);\n    });\n    it('should delay by selector', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '---a--b-|';\n        var subs = '^       !';\n        var selector = cold('-x--|');\n        var selectorSubs = ['  ^!     ',\n            '     ^!  '];\n        var result = e1.delayWhen(function (x) { return selector; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n    });\n    it('should raise error if source raises error', function () {\n        var e1 = hot('--a--#');\n        var expected = '---a-#';\n        var subs = '^    !';\n        var selector = cold('-x--|');\n        var selectorSubs = '  ^!     ';\n        var result = e1.delayWhen(function (x) { return selector; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n    });\n    it('should raise error if selector raises error', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '---#';\n        var subs = '^  !';\n        var selector = cold('-#');\n        var selectorSubs = '  ^!     ';\n        var result = e1.delayWhen(function (x) { return selector; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n    });\n    it('should delay by selector and completes after value emits', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '---------a--(b|)';\n        var subs = '^           !';\n        var selector = cold('-------x--|');\n        var selectorSubs = ['  ^      !',\n            '     ^      !'];\n        var result = e1.delayWhen(function (x) { return selector; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n    });\n    it('should delay by selector completes if selector does not emits', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '------a--(b|)';\n        var subs = '^        !';\n        var selector = cold('----|');\n        var selectorSubs = ['  ^   !',\n            '     ^   !'];\n        var result = e1.delayWhen(function (x) { return selector; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n    });\n    it('should not emit if selector never emits', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '-';\n        var subs = '^         ';\n        var selector = cold('-');\n        var selectorSubs = ['  ^       ',\n            '     ^    '];\n        var result = e1.delayWhen(function (x) { return selector; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n    });\n    it('should delay by first value from selector', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '------a--(b|)';\n        var subs = '^        !';\n        var selector = cold('----x--y--|');\n        var selectorSubs = ['  ^   !',\n            '     ^   !'];\n        var result = e1.delayWhen(function (x) { return selector; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n    });\n    it('should delay by selector does not completes', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '------a--(b|)';\n        var subs = '^        !';\n        var selector = cold('----x-----y---');\n        var selectorSubs = ['  ^   !',\n            '     ^   !'];\n        var result = e1.delayWhen(function (x) { return selector; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n    });\n    it('should raise error if selector throws', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '--#';\n        var subs = '^ !';\n        var err = new Error('error');\n        var result = e1.delayWhen((function (x) { throw err; }));\n        expectObservable(result).toBe(expected, null, err);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should start subscription when subscription delay emits', function () {\n        var e1 = hot('-----a---b---|');\n        var expected = '  -----a---b-|';\n        var subs = '  ^          !';\n        var selector = cold('--x--|');\n        var selectorSubs = ['     ^ !',\n            '         ^ !'];\n        var subDelay = cold('--x--|');\n        var subDelaySub = '^ !';\n        var result = e1.delayWhen(function (x) { return selector; }, subDelay);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n        expectSubscriptions(subDelay.subscriptions).toBe(subDelaySub);\n    });\n    it('should start subscription when subscription delay completes without emit value', function () {\n        var e1 = hot('-----a---b---|');\n        var expected = '  -----a---b-|';\n        var subs = '  ^          !';\n        var selector = cold('--x--|');\n        var selectorSubs = ['     ^ !',\n            '         ^ !'];\n        var subDelay = cold('--|');\n        var subDelaySub = '^ !';\n        var result = e1.delayWhen(function (x) { return selector; }, subDelay);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(selector.subscriptions).toBe(selectorSubs);\n        expectSubscriptions(subDelay.subscriptions).toBe(subDelaySub);\n    });\n    it('should raise error when subscription delay raises error', function () {\n        var e1 = hot('-----a---b---|');\n        var expected = '   #          ';\n        var selector = cold('--x--|');\n        var subDelay = cold('---#');\n        var subDelaySub = '^  !';\n        var result = e1.delayWhen(function (x) { return selector; }, subDelay);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe([]);\n        expectSubscriptions(selector.subscriptions).toBe([]);\n        expectSubscriptions(subDelay.subscriptions).toBe(subDelaySub);\n    });\n});\n//# sourceMappingURL=delayWhen-spec.js.map"
  },
  {
    "__docId__": 1862,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe949",
    "testId": 949,
    "memberof": "spec-js/operators/delayWhen-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949",
    "access": null,
    "description": "Observable.prototype.delayWhen",
    "lineNumber": 3,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{delayWhen}"
      }
    ],
    "testTargets": [
      "delayWhen"
    ]
  },
  {
    "__docId__": 1863,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it950",
    "testId": 950,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it950",
    "access": null,
    "description": "should delay by selector",
    "lineNumber": 25
  },
  {
    "__docId__": 1864,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it951",
    "testId": 951,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it951",
    "access": null,
    "description": "should raise error if source raises error",
    "lineNumber": 37
  },
  {
    "__docId__": 1865,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it952",
    "testId": 952,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it952",
    "access": null,
    "description": "should raise error if selector raises error",
    "lineNumber": 48
  },
  {
    "__docId__": 1866,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it953",
    "testId": 953,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it953",
    "access": null,
    "description": "should delay by selector and completes after value emits",
    "lineNumber": 59
  },
  {
    "__docId__": 1867,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it954",
    "testId": 954,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it954",
    "access": null,
    "description": "should delay by selector completes if selector does not emits",
    "lineNumber": 71
  },
  {
    "__docId__": 1868,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it955",
    "testId": 955,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it955",
    "access": null,
    "description": "should not emit if selector never emits",
    "lineNumber": 83
  },
  {
    "__docId__": 1869,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it956",
    "testId": 956,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it956",
    "access": null,
    "description": "should delay by first value from selector",
    "lineNumber": 95
  },
  {
    "__docId__": 1870,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it957",
    "testId": 957,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it957",
    "access": null,
    "description": "should delay by selector does not completes",
    "lineNumber": 107
  },
  {
    "__docId__": 1871,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it958",
    "testId": 958,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it958",
    "access": null,
    "description": "should raise error if selector throws",
    "lineNumber": 119
  },
  {
    "__docId__": 1872,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it959",
    "testId": 959,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it959",
    "access": null,
    "description": "should start subscription when subscription delay emits",
    "lineNumber": 128
  },
  {
    "__docId__": 1873,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it960",
    "testId": 960,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it960",
    "access": null,
    "description": "should start subscription when subscription delay completes without emit value",
    "lineNumber": 143
  },
  {
    "__docId__": 1874,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it961",
    "testId": 961,
    "memberof": "spec-js/operators/delayWhen-spec.js~describe949",
    "testDepth": 1,
    "longname": "spec-js/operators/delayWhen-spec.js~describe949.it961",
    "access": null,
    "description": "should raise error when subscription delay raises error",
    "lineNumber": 158
  },
  {
    "__docId__": 1875,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/dematerialize-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/dematerialize-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar Notification = Rx.Notification;\n/** @test {dematerialize} */\ndescribe('Observable.prototype.dematerialize', function () {\n    asDiagram('dematerialize')('should dematerialize an Observable', function () {\n        var values = {\n            a: '{x}',\n            b: '{y}',\n            c: '{z}',\n            d: '|'\n        };\n        var e1 = hot('--a--b--c--d-|', values);\n        var expected = '--x--y--z--|';\n        var result = e1.map(function (x) {\n            if (x === '|') {\n                return Notification.createComplete();\n            }\n            else {\n                return Notification.createNext(x.replace('{', '').replace('}', ''));\n            }\n        }).dematerialize();\n        expectObservable(result).toBe(expected);\n    });\n    it('should dematerialize a happy stream', function () {\n        var values = {\n            a: Notification.createNext('w'),\n            b: Notification.createNext('x'),\n            c: Notification.createNext('y'),\n            d: Notification.createComplete()\n        };\n        var e1 = hot('--a--b--c--d--|', values);\n        var e1subs = '^          !';\n        var expected = '--w--x--y--|';\n        expectObservable(e1.dematerialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should dematerialize a sad stream', function () {\n        var values = {\n            a: Notification.createNext('w'),\n            b: Notification.createNext('x'),\n            c: Notification.createNext('y'),\n            d: Notification.createError('error')\n        };\n        var e1 = hot('--a--b--c--d--|', values);\n        var e1subs = '^          !';\n        var expected = '--w--x--y--#';\n        expectObservable(e1.dematerialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should dematerialize stream does not completes', function () {\n        var e1 = hot('------');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.dematerialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should dematerialize stream never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.dematerialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should dematerialize stream does not emit', function () {\n        var e1 = hot('----|');\n        var e1subs = '^   !';\n        var expected = '----|';\n        expectObservable(e1.dematerialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should dematerialize empty stream', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.dematerialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should dematerialize stream throws', function () {\n        var error = 'error';\n        var e1 = hot('(x|)', { x: Notification.createError(error) });\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.dematerialize()).toBe(expected, null, error);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var values = {\n            a: Notification.createNext('w'),\n            b: Notification.createNext('x')\n        };\n        var e1 = hot('--a--b--c--d--|', values);\n        var e1subs = '^      !       ';\n        var expected = '--w--x--       ';\n        var unsub = '       !       ';\n        var result = e1.dematerialize();\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var values = {\n            a: Notification.createNext('w'),\n            b: Notification.createNext('x')\n        };\n        var e1 = hot('--a--b--c--d--|', values);\n        var e1subs = '^      !       ';\n        var expected = '--w--x--       ';\n        var unsub = '       !       ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .dematerialize()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should dematerialize and completes when stream compltes with complete notification', function () {\n        var e1 = hot('----(a|)', { a: Notification.createComplete() });\n        var e1subs = '^   !';\n        var expected = '----|';\n        expectObservable(e1.dematerialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should dematerialize and completes when stream emits complete notification', function () {\n        var e1 = hot('----a--|', { a: Notification.createComplete() });\n        var e1subs = '^   !';\n        var expected = '----|';\n        expectObservable(e1.dematerialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=dematerialize-spec.js.map"
  },
  {
    "__docId__": 1876,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe962",
    "testId": 962,
    "memberof": "spec-js/operators/dematerialize-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962",
    "access": null,
    "description": "Observable.prototype.dematerialize",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{dematerialize}"
      }
    ],
    "testTargets": [
      "dematerialize"
    ]
  },
  {
    "__docId__": 1877,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it963",
    "testId": 963,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it963",
    "access": null,
    "description": "should dematerialize a happy stream",
    "lineNumber": 26
  },
  {
    "__docId__": 1878,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it964",
    "testId": 964,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it964",
    "access": null,
    "description": "should dematerialize a sad stream",
    "lineNumber": 39
  },
  {
    "__docId__": 1879,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it965",
    "testId": 965,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it965",
    "access": null,
    "description": "should dematerialize stream does not completes",
    "lineNumber": 52
  },
  {
    "__docId__": 1880,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it966",
    "testId": 966,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it966",
    "access": null,
    "description": "should dematerialize stream never completes",
    "lineNumber": 59
  },
  {
    "__docId__": 1881,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it967",
    "testId": 967,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it967",
    "access": null,
    "description": "should dematerialize stream does not emit",
    "lineNumber": 66
  },
  {
    "__docId__": 1882,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it968",
    "testId": 968,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it968",
    "access": null,
    "description": "should dematerialize empty stream",
    "lineNumber": 73
  },
  {
    "__docId__": 1883,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it969",
    "testId": 969,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it969",
    "access": null,
    "description": "should dematerialize stream throws",
    "lineNumber": 80
  },
  {
    "__docId__": 1884,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it970",
    "testId": 970,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it970",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 88
  },
  {
    "__docId__": 1885,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it971",
    "testId": 971,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it971",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 101
  },
  {
    "__docId__": 1886,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it972",
    "testId": 972,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it972",
    "access": null,
    "description": "should dematerialize and completes when stream compltes with complete notification",
    "lineNumber": 117
  },
  {
    "__docId__": 1887,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it973",
    "testId": 973,
    "memberof": "spec-js/operators/dematerialize-spec.js~describe962",
    "testDepth": 1,
    "longname": "spec-js/operators/dematerialize-spec.js~describe962.it973",
    "access": null,
    "description": "should dematerialize and completes when stream emits complete notification",
    "lineNumber": 124
  },
  {
    "__docId__": 1888,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/distinct-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/distinct-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {distinct} */\ndescribe('Observable.prototype.distinct', function () {\n    it('should distinguish between values', function () {\n        var e1 = hot('--a--a--a--b--b--a--|');\n        var e1subs = '^                   !';\n        var expected = '--a--------b--------|';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should distinguish between values and does not completes', function () {\n        var e1 = hot('--a--a--a--b--b--a-');\n        var e1subs = '^                  ';\n        var expected = '--a--------b-------';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes if source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes if source does not completes', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete if source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete if source does not emit', function () {\n        var e1 = hot('------|');\n        var e1subs = '^     !';\n        var expected = '------|';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit if source emits single element only', function () {\n        var e1 = hot('--a--|');\n        var e1subs = '^    !';\n        var expected = '--a--|';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit if source is scalar', function () {\n        var e1 = Observable.of('a');\n        var expected = '(a|)';\n        expectObservable(e1.distinct()).toBe(expected);\n    });\n    it('should raises error if source raises error', function () {\n        var e1 = hot('--a--a--#');\n        var e1subs = '^       !';\n        var expected = '--a-----#';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raises error if source throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not omit if source elements are all different', function () {\n        var e1 = hot('--a--b--c--d--e--f--|');\n        var e1subs = '^                   !';\n        var expected = '--a--b--c--d--e--f--|';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--b--b--d--a--f--|');\n        var e1subs = '^         !          ';\n        var expected = '--a--b-----          ';\n        var unsub = '          !          ';\n        var result = e1.distinct();\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--b--d--a--f--|');\n        var e1subs = '^         !          ';\n        var expected = '--a--b-----          ';\n        var unsub = '          !          ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .distinct()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit once if source elements are all same', function () {\n        var e1 = hot('--a--a--a--a--a--a--|');\n        var e1subs = '^                   !';\n        var expected = '--a-----------------|';\n        expectObservable(e1.distinct()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should distinguish values by key', function () {\n        var values = { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 };\n        var e1 = hot('--a--b--c--d--e--f--|', values);\n        var e1subs = '^                   !';\n        var expected = '--a--b--c-----------|';\n        var selector = function (value) { return value % 3; };\n        expectObservable(e1.distinct(selector)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raises error when selector throws', function () {\n        var e1 = hot('--a--b--c--d--e--f--|');\n        var e1subs = '^          !         ';\n        var expected = '--a--b--c--#         ';\n        var selector = function (value) {\n            if (value === 'd') {\n                throw new Error('d is for dumb');\n            }\n            return value;\n        };\n        expectObservable(e1.distinct(selector)).toBe(expected, undefined, new Error('d is for dumb'));\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should support a flushing stream', function () {\n        var e1 = hot('--a--b--a--b--a--b--|');\n        var e1subs = '^                   !';\n        var e2 = hot('-----------x--------|');\n        var e2subs = '^                   !';\n        var expected = '--a--b--------a--b--|';\n        expectObservable(e1.distinct(null, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error if flush raises error', function () {\n        var e1 = hot('--a--b--a--b--a--b--|');\n        var e1subs = '^            !';\n        var e2 = hot('-----------x-#');\n        var e2subs = '^            !';\n        var expected = '--a--b-------#';\n        expectObservable(e1.distinct(null, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should unsubscribe from the flushing stream when the main stream is unsubbed', function () {\n        var e1 = hot('--a--b--a--b--a--b--|');\n        var e1subs = '^          !         ';\n        var e2 = hot('-----------x--------|');\n        var e2subs = '^          !         ';\n        var unsub = '           !         ';\n        var expected = '--a--b------';\n        expectObservable(e1.distinct(null, e2), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow opting in to default comparator with flush', function () {\n        var e1 = hot('--a--b--a--b--a--b--|');\n        var e1subs = '^                   !';\n        var e2 = hot('-----------x--------|');\n        var e2subs = '^                   !';\n        var expected = '--a--b--------a--b--|';\n        expectObservable(e1.distinct(null, e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n});\n//# sourceMappingURL=distinct-spec.js.map"
  },
  {
    "__docId__": 1889,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe974",
    "testId": 974,
    "memberof": "spec-js/operators/distinct-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/distinct-spec.js~describe974",
    "access": null,
    "description": "Observable.prototype.distinct",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{distinct}"
      }
    ],
    "testTargets": [
      "distinct"
    ]
  },
  {
    "__docId__": 1890,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it975",
    "testId": 975,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it975",
    "access": null,
    "description": "should distinguish between values",
    "lineNumber": 6
  },
  {
    "__docId__": 1891,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it976",
    "testId": 976,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it976",
    "access": null,
    "description": "should distinguish between values and does not completes",
    "lineNumber": 13
  },
  {
    "__docId__": 1892,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it977",
    "testId": 977,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it977",
    "access": null,
    "description": "should not completes if source never completes",
    "lineNumber": 20
  },
  {
    "__docId__": 1893,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it978",
    "testId": 978,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it978",
    "access": null,
    "description": "should not completes if source does not completes",
    "lineNumber": 27
  },
  {
    "__docId__": 1894,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it979",
    "testId": 979,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it979",
    "access": null,
    "description": "should complete if source is empty",
    "lineNumber": 34
  },
  {
    "__docId__": 1895,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it980",
    "testId": 980,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it980",
    "access": null,
    "description": "should complete if source does not emit",
    "lineNumber": 41
  },
  {
    "__docId__": 1896,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it981",
    "testId": 981,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it981",
    "access": null,
    "description": "should emit if source emits single element only",
    "lineNumber": 48
  },
  {
    "__docId__": 1897,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it982",
    "testId": 982,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it982",
    "access": null,
    "description": "should emit if source is scalar",
    "lineNumber": 55
  },
  {
    "__docId__": 1898,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it983",
    "testId": 983,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it983",
    "access": null,
    "description": "should raises error if source raises error",
    "lineNumber": 60
  },
  {
    "__docId__": 1899,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it984",
    "testId": 984,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it984",
    "access": null,
    "description": "should raises error if source throws",
    "lineNumber": 67
  },
  {
    "__docId__": 1900,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it985",
    "testId": 985,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it985",
    "access": null,
    "description": "should not omit if source elements are all different",
    "lineNumber": 74
  },
  {
    "__docId__": 1901,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it986",
    "testId": 986,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it986",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 81
  },
  {
    "__docId__": 1902,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it987",
    "testId": 987,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it987",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 90
  },
  {
    "__docId__": 1903,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it988",
    "testId": 988,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it988",
    "access": null,
    "description": "should emit once if source elements are all same",
    "lineNumber": 102
  },
  {
    "__docId__": 1904,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it989",
    "testId": 989,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it989",
    "access": null,
    "description": "should distinguish values by key",
    "lineNumber": 109
  },
  {
    "__docId__": 1905,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it990",
    "testId": 990,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it990",
    "access": null,
    "description": "should raises error when selector throws",
    "lineNumber": 118
  },
  {
    "__docId__": 1906,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it991",
    "testId": 991,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it991",
    "access": null,
    "description": "should support a flushing stream",
    "lineNumber": 131
  },
  {
    "__docId__": 1907,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it992",
    "testId": 992,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it992",
    "access": null,
    "description": "should raise error if flush raises error",
    "lineNumber": 141
  },
  {
    "__docId__": 1908,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it993",
    "testId": 993,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it993",
    "access": null,
    "description": "should unsubscribe from the flushing stream when the main stream is unsubbed",
    "lineNumber": 151
  },
  {
    "__docId__": 1909,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it994",
    "testId": 994,
    "memberof": "spec-js/operators/distinct-spec.js~describe974",
    "testDepth": 1,
    "longname": "spec-js/operators/distinct-spec.js~describe974.it994",
    "access": null,
    "description": "should allow opting in to default comparator with flush",
    "lineNumber": 162
  },
  {
    "__docId__": 1910,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/distinctUntilChanged-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {distinctUntilChanged} */\ndescribe('Observable.prototype.distinctUntilChanged', function () {\n    asDiagram('distinctUntilChanged')('should distinguish between values', function () {\n        var e1 = hot('-1--2-2----1-3-|');\n        var expected = '-1--2------1-3-|';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n    });\n    it('should distinguish between values', function () {\n        var e1 = hot('--a--a--a--b--b--a--|');\n        var e1subs = '^                   !';\n        var expected = '--a--------b-----a--|';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should distinguish between values and does not completes', function () {\n        var e1 = hot('--a--a--a--b--b--a-');\n        var e1subs = '^                  ';\n        var expected = '--a--------b-----a-';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes if source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes if source does not completes', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete if source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete if source does not emit', function () {\n        var e1 = hot('------|');\n        var e1subs = '^     !';\n        var expected = '------|';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit if source emits single element only', function () {\n        var e1 = hot('--a--|');\n        var e1subs = '^    !';\n        var expected = '--a--|';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit if source is scalar', function () {\n        var e1 = Observable.of('a');\n        var expected = '(a|)';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n    });\n    it('should raises error if source raises error', function () {\n        var e1 = hot('--a--a--#');\n        var e1subs = '^       !';\n        var expected = '--a-----#';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raises error if source throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not omit if source elements are all different', function () {\n        var e1 = hot('--a--b--c--d--e--f--|');\n        var e1subs = '^                   !';\n        var expected = '--a--b--c--d--e--f--|';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--b--b--d--a--f--|');\n        var e1subs = '^         !          ';\n        var expected = '--a--b-----          ';\n        var unsub = '          !          ';\n        var result = e1.distinctUntilChanged();\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--b--d--a--f--|');\n        var e1subs = '^         !          ';\n        var expected = '--a--b-----          ';\n        var unsub = '          !          ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .distinctUntilChanged()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit once if source elements are all same', function () {\n        var e1 = hot('--a--a--a--a--a--a--|');\n        var e1subs = '^                   !';\n        var expected = '--a-----------------|';\n        expectObservable(e1.distinctUntilChanged()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit once if comparator returns true always regardless of source emits', function () {\n        var e1 = hot('--a--b--c--d--e--f--|');\n        var e1subs = '^                   !';\n        var expected = '--a-----------------|';\n        expectObservable(e1.distinctUntilChanged(function () { return true; })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit all if comparator returns false always regardless of source emits', function () {\n        var e1 = hot('--a--a--a--a--a--a--|');\n        var e1subs = '^                   !';\n        var expected = '--a--a--a--a--a--a--|';\n        expectObservable(e1.distinctUntilChanged(function () { return false; })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should distinguish values by comparator', function () {\n        var e1 = hot('--a--b--c--d--e--f--|', { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 });\n        var e1subs = '^                   !';\n        var expected = '--a-----c-----e-----|';\n        var comparator = function (x, y) { return y % 2 === 0; };\n        expectObservable(e1.distinctUntilChanged(comparator)).toBe(expected, { a: 1, c: 3, e: 5 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raises error when comparator throws', function () {\n        var e1 = hot('--a--b--c--d--e--f--|');\n        var e1subs = '^          !         ';\n        var expected = '--a--b--c--#         ';\n        var comparator = function (x, y) {\n            if (y === 'd') {\n                throw 'error';\n            }\n            return x === y;\n        };\n        expectObservable(e1.distinctUntilChanged(comparator)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should use the keySelector to pick comparator values', function () {\n        var e1 = hot('--a--b--c--d--e--f--|', { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 });\n        var e1subs = '^                   !';\n        var expected = '--a--b-----d-----f--|';\n        var comparator = function (x, y) { return y % 2 === 1; };\n        var keySelector = function (x) { return x % 2; };\n        expectObservable(e1.distinctUntilChanged(comparator, keySelector)).toBe(expected, { a: 1, b: 2, d: 4, f: 6 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raises error when keySelector throws', function () {\n        var e1 = hot('--a--b--c--d--e--f--|');\n        var e1subs = '^          !         ';\n        var expected = '--a--b--c--#         ';\n        var keySelector = function (x) {\n            if (x === 'd') {\n                throw 'error';\n            }\n            return x;\n        };\n        expectObservable(e1.distinctUntilChanged(null, keySelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=distinctUntilChanged-spec.js.map"
  },
  {
    "__docId__": 1911,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe995",
    "testId": 995,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "access": null,
    "description": "Observable.prototype.distinctUntilChanged",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{distinctUntilChanged}"
      }
    ],
    "testTargets": [
      "distinctUntilChanged"
    ]
  },
  {
    "__docId__": 1912,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it996",
    "testId": 996,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it996",
    "access": null,
    "description": "should distinguish between values",
    "lineNumber": 11
  },
  {
    "__docId__": 1913,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it997",
    "testId": 997,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it997",
    "access": null,
    "description": "should distinguish between values and does not completes",
    "lineNumber": 18
  },
  {
    "__docId__": 1914,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it998",
    "testId": 998,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it998",
    "access": null,
    "description": "should not completes if source never completes",
    "lineNumber": 25
  },
  {
    "__docId__": 1915,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it999",
    "testId": 999,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it999",
    "access": null,
    "description": "should not completes if source does not completes",
    "lineNumber": 32
  },
  {
    "__docId__": 1916,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1000",
    "testId": 1000,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1000",
    "access": null,
    "description": "should complete if source is empty",
    "lineNumber": 39
  },
  {
    "__docId__": 1917,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1001",
    "testId": 1001,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1001",
    "access": null,
    "description": "should complete if source does not emit",
    "lineNumber": 46
  },
  {
    "__docId__": 1918,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1002",
    "testId": 1002,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1002",
    "access": null,
    "description": "should emit if source emits single element only",
    "lineNumber": 53
  },
  {
    "__docId__": 1919,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1003",
    "testId": 1003,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1003",
    "access": null,
    "description": "should emit if source is scalar",
    "lineNumber": 60
  },
  {
    "__docId__": 1920,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1004",
    "testId": 1004,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1004",
    "access": null,
    "description": "should raises error if source raises error",
    "lineNumber": 65
  },
  {
    "__docId__": 1921,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1005",
    "testId": 1005,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1005",
    "access": null,
    "description": "should raises error if source throws",
    "lineNumber": 72
  },
  {
    "__docId__": 1922,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1006",
    "testId": 1006,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1006",
    "access": null,
    "description": "should not omit if source elements are all different",
    "lineNumber": 79
  },
  {
    "__docId__": 1923,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1007",
    "testId": 1007,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1007",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 86
  },
  {
    "__docId__": 1924,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1008",
    "testId": 1008,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1008",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 95
  },
  {
    "__docId__": 1925,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1009",
    "testId": 1009,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1009",
    "access": null,
    "description": "should emit once if source elements are all same",
    "lineNumber": 107
  },
  {
    "__docId__": 1926,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1010",
    "testId": 1010,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1010",
    "access": null,
    "description": "should emit once if comparator returns true always regardless of source emits",
    "lineNumber": 114
  },
  {
    "__docId__": 1927,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1011",
    "testId": 1011,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1011",
    "access": null,
    "description": "should emit all if comparator returns false always regardless of source emits",
    "lineNumber": 121
  },
  {
    "__docId__": 1928,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1012",
    "testId": 1012,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1012",
    "access": null,
    "description": "should distinguish values by comparator",
    "lineNumber": 128
  },
  {
    "__docId__": 1929,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1013",
    "testId": 1013,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1013",
    "access": null,
    "description": "should raises error when comparator throws",
    "lineNumber": 136
  },
  {
    "__docId__": 1930,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1014",
    "testId": 1014,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1014",
    "access": null,
    "description": "should use the keySelector to pick comparator values",
    "lineNumber": 149
  },
  {
    "__docId__": 1931,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1015",
    "testId": 1015,
    "memberof": "spec-js/operators/distinctUntilChanged-spec.js~describe995",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilChanged-spec.js~describe995.it1015",
    "access": null,
    "description": "should raises error when keySelector throws",
    "lineNumber": 158
  },
  {
    "__docId__": 1932,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/distinctUntilKeyChanged-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\n/** @test {distinctUntilKeyChanged} */\ndescribe('Observable.prototype.distinctUntilKeyChanged', function () {\n    asDiagram('distinctUntilKeyChanged(\\'k\\')')('should distinguish between values', function () {\n        var values = { a: { k: 1 }, b: { k: 2 }, c: { k: 3 } };\n        var e1 = hot('-a--b-b----a-c-|', values);\n        var expected = '-a--b------a-c-|';\n        var result = e1.distinctUntilKeyChanged('k');\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should distinguish between values', function () {\n        var values = { a: { val: 1 }, b: { val: 2 } };\n        var e1 = hot('--a--a--a--b--b--a--|', values);\n        var e1subs = '^                   !';\n        var expected = '--a--------b-----a--|';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should distinguish between values and does not completes', function () {\n        var values = { a: { val: 1 }, b: { val: 2 } };\n        var e1 = hot('--a--a--a--b--b--a-', values);\n        var e1subs = '^                  ';\n        var expected = '--a--------b-----a-';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should distinguish between values with key', function () {\n        var values = { a: { val: 1 }, b: { valOther: 1 }, c: { valOther: 3 }, d: { val: 1 }, e: { val: 5 } };\n        var e1 = hot('--a--b--c--d--e--|', values);\n        var e1subs = '^                !';\n        var expected = '--a--b-----d--e--|';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not compare if source does not have element with key', function () {\n        var values = { a: { valOther: 1 }, b: { valOther: 1 }, c: { valOther: 3 }, d: { valOther: 1 }, e: { valOther: 5 } };\n        var e1 = hot('--a--b--c--d--e--|', values);\n        var e1subs = '^                !';\n        var expected = '--a--------------|';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes if source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes if source does not completes', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete if source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete if source does not emit', function () {\n        var e1 = hot('------|');\n        var e1subs = '^     !';\n        var expected = '------|';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit if source emits single element only', function () {\n        var values = { a: { val: 1 } };\n        var e1 = hot('--a--|', values);\n        var e1subs = '^    !';\n        var expected = '--a--|';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit if source is scalar', function () {\n        var values = { a: { val: 1 } };\n        var e1 = Rx.Observable.of(values.a);\n        var expected = '(a|)';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected, values);\n    });\n    it('should raises error if source raises error', function () {\n        var values = { a: { val: 1 } };\n        var e1 = hot('--a--a--#', values);\n        var e1subs = '^       !';\n        var expected = '--a-----#';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raises error if source throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not omit if source elements are all different', function () {\n        var values = { a: { val: 1 }, b: { val: 2 }, c: { val: 3 }, d: { val: 4 }, e: { val: 5 } };\n        var e1 = hot('--a--b--c--d--e--|', values);\n        var e1subs = '^                !';\n        var expected = '--a--b--c--d--e--|';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var values = { a: { val: 1 }, b: { val: 2 }, c: { val: 3 }, d: { val: 4 }, e: { val: 5 } };\n        var e1 = hot('--a--b--b--d--a--e--|', values);\n        var e1subs = '^         !          ';\n        var expected = '--a--b-----          ';\n        var unsub = '          !          ';\n        var result = e1.distinctUntilKeyChanged('val');\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var values = { a: { val: 1 }, b: { val: 2 }, c: { val: 3 }, d: { val: 4 }, e: { val: 5 } };\n        var e1 = hot('--a--b--b--d--a--e--|', values);\n        var e1subs = '^         !          ';\n        var expected = '--a--b-----          ';\n        var unsub = '          !          ';\n        var result = e1\n            .mergeMap(function (x) { return Rx.Observable.of(x); })\n            .distinctUntilKeyChanged('val')\n            .mergeMap(function (x) { return Rx.Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit once if source elements are all same', function () {\n        var values = { a: { val: 1 } };\n        var e1 = hot('--a--a--a--a--a--a--|', values);\n        var e1subs = '^                   !';\n        var expected = '--a-----------------|';\n        expectObservable(e1.distinctUntilKeyChanged('val')).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit once if comparer returns true always regardless of source emits', function () {\n        var values = { a: { val: 1 }, b: { val: 2 }, c: { val: 3 }, d: { val: 4 }, e: { val: 5 } };\n        var e1 = hot('--a--b--c--d--e--|', values);\n        var e1subs = '^                !';\n        var expected = '--a--------------|';\n        expectObservable(e1.distinctUntilKeyChanged('val', function () { return true; })).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit all if comparer returns false always regardless of source emits', function () {\n        var values = { a: { val: 1 } };\n        var e1 = hot('--a--a--a--a--a--a--|', values);\n        var e1subs = '^                   !';\n        var expected = '--a--a--a--a--a--a--|';\n        expectObservable(e1.distinctUntilKeyChanged('val', function () { return false; })).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should distinguish values by selector', function () {\n        var values = { a: { val: 1 }, b: { val: 2 }, c: { val: 3 }, d: { val: 4 }, e: { val: 5 } };\n        var e1 = hot('--a--b--c--d--e--|', values);\n        var e1subs = '^                !';\n        var expected = '--a-----c-----e--|';\n        var selector = function (x, y) { return y % 2 === 0; };\n        expectObservable(e1.distinctUntilKeyChanged('val', selector)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raises error when comparer throws', function () {\n        var values = { a: { val: 1 }, b: { val: 2 }, c: { val: 3 }, d: { val: 4 }, e: { val: 5 } };\n        var e1 = hot('--a--b--c--d--e--|', values);\n        var e1subs = '^          !      ';\n        var expected = '--a--b--c--#      ';\n        var selector = function (x, y) {\n            if (y === 4) {\n                throw 'error';\n            }\n            return x === y;\n        };\n        expectObservable(e1.distinctUntilKeyChanged('val', selector)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=distinctUntilKeyChanged-spec.js.map"
  },
  {
    "__docId__": 1933,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1016",
    "testId": 1016,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "access": null,
    "description": "Observable.prototype.distinctUntilKeyChanged",
    "lineNumber": 4,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{distinctUntilKeyChanged}"
      }
    ],
    "testTargets": [
      "distinctUntilKeyChanged"
    ]
  },
  {
    "__docId__": 1934,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1017",
    "testId": 1017,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1017",
    "access": null,
    "description": "should distinguish between values",
    "lineNumber": 12
  },
  {
    "__docId__": 1935,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1018",
    "testId": 1018,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1018",
    "access": null,
    "description": "should distinguish between values and does not completes",
    "lineNumber": 20
  },
  {
    "__docId__": 1936,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1019",
    "testId": 1019,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1019",
    "access": null,
    "description": "should distinguish between values with key",
    "lineNumber": 28
  },
  {
    "__docId__": 1937,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1020",
    "testId": 1020,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1020",
    "access": null,
    "description": "should not compare if source does not have element with key",
    "lineNumber": 36
  },
  {
    "__docId__": 1938,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1021",
    "testId": 1021,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1021",
    "access": null,
    "description": "should not completes if source never completes",
    "lineNumber": 44
  },
  {
    "__docId__": 1939,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1022",
    "testId": 1022,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1022",
    "access": null,
    "description": "should not completes if source does not completes",
    "lineNumber": 51
  },
  {
    "__docId__": 1940,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1023",
    "testId": 1023,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1023",
    "access": null,
    "description": "should complete if source is empty",
    "lineNumber": 58
  },
  {
    "__docId__": 1941,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1024",
    "testId": 1024,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1024",
    "access": null,
    "description": "should complete if source does not emit",
    "lineNumber": 65
  },
  {
    "__docId__": 1942,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1025",
    "testId": 1025,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1025",
    "access": null,
    "description": "should emit if source emits single element only",
    "lineNumber": 72
  },
  {
    "__docId__": 1943,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1026",
    "testId": 1026,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1026",
    "access": null,
    "description": "should emit if source is scalar",
    "lineNumber": 80
  },
  {
    "__docId__": 1944,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1027",
    "testId": 1027,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1027",
    "access": null,
    "description": "should raises error if source raises error",
    "lineNumber": 86
  },
  {
    "__docId__": 1945,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1028",
    "testId": 1028,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1028",
    "access": null,
    "description": "should raises error if source throws",
    "lineNumber": 94
  },
  {
    "__docId__": 1946,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1029",
    "testId": 1029,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1029",
    "access": null,
    "description": "should not omit if source elements are all different",
    "lineNumber": 101
  },
  {
    "__docId__": 1947,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1030",
    "testId": 1030,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1030",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 109
  },
  {
    "__docId__": 1948,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1031",
    "testId": 1031,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1031",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 119
  },
  {
    "__docId__": 1949,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1032",
    "testId": 1032,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1032",
    "access": null,
    "description": "should emit once if source elements are all same",
    "lineNumber": 132
  },
  {
    "__docId__": 1950,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1033",
    "testId": 1033,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1033",
    "access": null,
    "description": "should emit once if comparer returns true always regardless of source emits",
    "lineNumber": 140
  },
  {
    "__docId__": 1951,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1034",
    "testId": 1034,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1034",
    "access": null,
    "description": "should emit all if comparer returns false always regardless of source emits",
    "lineNumber": 148
  },
  {
    "__docId__": 1952,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1035",
    "testId": 1035,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1035",
    "access": null,
    "description": "should distinguish values by selector",
    "lineNumber": 156
  },
  {
    "__docId__": 1953,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1036",
    "testId": 1036,
    "memberof": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016",
    "testDepth": 1,
    "longname": "spec-js/operators/distinctUntilKeyChanged-spec.js~describe1016.it1036",
    "access": null,
    "description": "should raises error when comparer throws",
    "lineNumber": 165
  },
  {
    "__docId__": 1954,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/do-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/do-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar Subject = Rx.Subject;\n/** @test {do} */\ndescribe('Observable.prototype.do', function () {\n    asDiagram('do(x => console.log(x))')('should mirror multiple values and complete', function () {\n        var e1 = cold('--1--2--3--|');\n        var e1subs = '^          !';\n        var expected = '--1--2--3--|';\n        var result = e1.do(function () {\n            //noop\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should next with a callback', function () {\n        var value = null;\n        Observable.of(42).do(function (x) {\n            value = x;\n        })\n            .subscribe();\n        chai_1.expect(value).to.equal(42);\n    });\n    it('should error with a callback', function () {\n        var err = null;\n        Observable.throw('bad').do(null, function (x) {\n            err = x;\n        })\n            .subscribe(null, function (ex) {\n            chai_1.expect(ex).to.equal('bad');\n        });\n        chai_1.expect(err).to.equal('bad');\n    });\n    it('should handle everything with an observer', function (done) {\n        var expected = [1, 2, 3];\n        var results = [];\n        Observable.of(1, 2, 3)\n            .do({\n            next: function (x) {\n                results.push(x);\n            },\n            error: function (err) {\n                done(new Error('should not be called'));\n            },\n            complete: function () {\n                chai_1.expect(results).to.deep.equal(expected);\n                done();\n            }\n        }).subscribe();\n    });\n    it('should handle everything with a Subject', function (done) {\n        var expected = [1, 2, 3];\n        var results = [];\n        var subject = new Subject();\n        subject.subscribe({\n            next: function (x) {\n                results.push(x);\n            },\n            error: function (err) {\n                done(new Error('should not be called'));\n            },\n            complete: function () {\n                chai_1.expect(results).to.deep.equal(expected);\n                done();\n            }\n        });\n        Observable.of(1, 2, 3)\n            .do(subject)\n            .subscribe();\n    });\n    it('should handle an error with a callback', function () {\n        var errored = false;\n        Observable.throw('bad').do(null, function (err) {\n            chai_1.expect(err).to.equal('bad');\n        })\n            .subscribe(null, function (err) {\n            errored = true;\n            chai_1.expect(err).to.equal('bad');\n        });\n        chai_1.expect(errored).to.be.true;\n    });\n    it('should handle an error with observer', function () {\n        var errored = false;\n        Observable.throw('bad').do({ error: function (err) {\n                chai_1.expect(err).to.equal('bad');\n            } })\n            .subscribe(null, function (err) {\n            errored = true;\n            chai_1.expect(err).to.equal('bad');\n        });\n        chai_1.expect(errored).to.be.true;\n    });\n    it('should handle complete with observer', function () {\n        var completed = false;\n        Observable.empty().do({\n            complete: function () {\n                completed = true;\n            }\n        }).subscribe();\n        chai_1.expect(completed).to.be.true;\n    });\n    it('should handle next with observer', function () {\n        var value = null;\n        Observable.of('hi').do({\n            next: function (x) {\n                value = x;\n            }\n        }).subscribe();\n        chai_1.expect(value).to.equal('hi');\n    });\n    it('should raise error if next handler raises error', function () {\n        Observable.of('hi').do({\n            next: function (x) {\n                throw new Error('bad');\n            }\n        }).subscribe(null, function (err) {\n            chai_1.expect(err.message).to.equal('bad');\n        });\n    });\n    it('should raise error if error handler raises error', function () {\n        Observable.throw('ops').do({\n            error: function (x) {\n                throw new Error('bad');\n            }\n        }).subscribe(null, function (err) {\n            chai_1.expect(err.message).to.equal('bad');\n        });\n    });\n    it('should raise error if complete handler raises error', function () {\n        Observable.empty().do({\n            complete: function () {\n                throw new Error('bad');\n            }\n        }).subscribe(null, function (err) {\n            chai_1.expect(err.message).to.equal('bad');\n        });\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--1--2--3--#');\n        var unsub = '       !    ';\n        var e1subs = '^      !    ';\n        var expected = '--1--2--    ';\n        var result = e1.do(function () {\n            //noop\n        });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--1--2--3--#');\n        var e1subs = '^      !    ';\n        var expected = '--1--2--    ';\n        var unsub = '       !    ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .do(function () {\n            //noop\n        })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mirror multiple values and complete', function () {\n        var e1 = cold('--1--2--3--|');\n        var e1subs = '^          !';\n        var expected = '--1--2--3--|';\n        var result = e1.do(function () {\n            //noop\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mirror multiple values and terminate with error', function () {\n        var e1 = cold('--1--2--3--#');\n        var e1subs = '^          !';\n        var expected = '--1--2--3--#';\n        var result = e1.do(function () {\n            //noop\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=do-spec.js.map"
  },
  {
    "__docId__": 1955,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1037",
    "testId": 1037,
    "memberof": "spec-js/operators/do-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/do-spec.js~describe1037",
    "access": null,
    "description": "Observable.prototype.do",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{do}"
      }
    ],
    "testTargets": [
      "do"
    ]
  },
  {
    "__docId__": 1956,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1038",
    "testId": 1038,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1038",
    "access": null,
    "description": "should next with a callback",
    "lineNumber": 18
  },
  {
    "__docId__": 1957,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1039",
    "testId": 1039,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1039",
    "access": null,
    "description": "should error with a callback",
    "lineNumber": 26
  },
  {
    "__docId__": 1958,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1040",
    "testId": 1040,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1040",
    "access": null,
    "description": "should handle everything with an observer",
    "lineNumber": 36
  },
  {
    "__docId__": 1959,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1041",
    "testId": 1041,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1041",
    "access": null,
    "description": "should handle everything with a Subject",
    "lineNumber": 53
  },
  {
    "__docId__": 1960,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1042",
    "testId": 1042,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1042",
    "access": null,
    "description": "should handle an error with a callback",
    "lineNumber": 73
  },
  {
    "__docId__": 1961,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1043",
    "testId": 1043,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1043",
    "access": null,
    "description": "should handle an error with observer",
    "lineNumber": 84
  },
  {
    "__docId__": 1962,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1044",
    "testId": 1044,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1044",
    "access": null,
    "description": "should handle complete with observer",
    "lineNumber": 95
  },
  {
    "__docId__": 1963,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1045",
    "testId": 1045,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1045",
    "access": null,
    "description": "should handle next with observer",
    "lineNumber": 104
  },
  {
    "__docId__": 1964,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1046",
    "testId": 1046,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1046",
    "access": null,
    "description": "should raise error if next handler raises error",
    "lineNumber": 113
  },
  {
    "__docId__": 1965,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1047",
    "testId": 1047,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1047",
    "access": null,
    "description": "should raise error if error handler raises error",
    "lineNumber": 122
  },
  {
    "__docId__": 1966,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1048",
    "testId": 1048,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1048",
    "access": null,
    "description": "should raise error if complete handler raises error",
    "lineNumber": 131
  },
  {
    "__docId__": 1967,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1049",
    "testId": 1049,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1049",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 140
  },
  {
    "__docId__": 1968,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1050",
    "testId": 1050,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1050",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 151
  },
  {
    "__docId__": 1969,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1051",
    "testId": 1051,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1051",
    "access": null,
    "description": "should mirror multiple values and complete",
    "lineNumber": 165
  },
  {
    "__docId__": 1970,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1052",
    "testId": 1052,
    "memberof": "spec-js/operators/do-spec.js~describe1037",
    "testDepth": 1,
    "longname": "spec-js/operators/do-spec.js~describe1037.it1052",
    "access": null,
    "description": "should mirror multiple values and terminate with error",
    "lineNumber": 175
  },
  {
    "__docId__": 1971,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/elementAt-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/elementAt-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {elementAt} */\ndescribe('Observable.prototype.elementAt', function () {\n    asDiagram('elementAt(2)')('should return last element by zero-based index', function () {\n        var source = hot('--a--b--c-d---|');\n        var subs = '^       !      ';\n        var expected = '--------(c|)   ';\n        expectObservable(source.elementAt(2)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return first element by zero-based index', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^ !';\n        var expected = '--(a|)';\n        expectObservable(source.elementAt(0)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return non-first element by zero-based index', function () {\n        var source = hot('--a--b--c--d--e--f--|');\n        var subs = '^          !';\n        var expected = '-----------(d|)';\n        expectObservable(source.elementAt(3)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return last element by zero-based index', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^       !';\n        var expected = '--------(c|)';\n        expectObservable(source.elementAt(2)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should raise error if source is Empty Observable', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '#';\n        expectObservable(source.elementAt(0)).toBe(expected, undefined, new Rx.ArgumentOutOfRangeError());\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should propagate error if source is Throw Observable', function () {\n        var source = cold('#');\n        var subs = '(^!)';\n        var expected = '#';\n        expectObservable(source.elementAt(0)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return Never if source is Never Observable', function () {\n        var source = cold('-');\n        var subs = '^';\n        var expected = '-';\n        expectObservable(source.elementAt(0)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^     !     ';\n        var expected = '-------     ';\n        var unsub = '      !     ';\n        var result = source.elementAt(2);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result Observable is unsubscribed', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^     !     ';\n        var expected = '-------     ';\n        var unsub = '      !     ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .elementAt(2)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should throw if index is smaller than zero', function () {\n        chai_1.expect(function () { Observable.range(0, 10).elementAt(-1); })\n            .to.throw(Rx.ArgumentOutOfRangeError);\n    });\n    it('should raise error if index is out of range but does not have default value', function () {\n        var source = hot('--a--|');\n        var subs = '^    !';\n        var expected = '-----#';\n        expectObservable(source.elementAt(3))\n            .toBe(expected, null, new Rx.ArgumentOutOfRangeError());\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return default value if index is out of range', function () {\n        var source = hot('--a--|');\n        var subs = '^    !';\n        var expected = '-----(x|)';\n        var defaultValue = '42';\n        expectObservable(source.elementAt(3, defaultValue)).toBe(expected, { x: defaultValue });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=elementAt-spec.js.map"
  },
  {
    "__docId__": 1972,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1053",
    "testId": 1053,
    "memberof": "spec-js/operators/elementAt-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053",
    "access": null,
    "description": "Observable.prototype.elementAt",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{elementAt}"
      }
    ],
    "testTargets": [
      "elementAt"
    ]
  },
  {
    "__docId__": 1973,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1054",
    "testId": 1054,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1054",
    "access": null,
    "description": "should return first element by zero-based index",
    "lineNumber": 14
  },
  {
    "__docId__": 1974,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1055",
    "testId": 1055,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1055",
    "access": null,
    "description": "should return non-first element by zero-based index",
    "lineNumber": 21
  },
  {
    "__docId__": 1975,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1056",
    "testId": 1056,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1056",
    "access": null,
    "description": "should return last element by zero-based index",
    "lineNumber": 28
  },
  {
    "__docId__": 1976,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1057",
    "testId": 1057,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1057",
    "access": null,
    "description": "should raise error if source is Empty Observable",
    "lineNumber": 35
  },
  {
    "__docId__": 1977,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1058",
    "testId": 1058,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1058",
    "access": null,
    "description": "should propagate error if source is Throw Observable",
    "lineNumber": 42
  },
  {
    "__docId__": 1978,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1059",
    "testId": 1059,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1059",
    "access": null,
    "description": "should return Never if source is Never Observable",
    "lineNumber": 49
  },
  {
    "__docId__": 1979,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1060",
    "testId": 1060,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1060",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 56
  },
  {
    "__docId__": 1980,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1061",
    "testId": 1061,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1061",
    "access": null,
    "description": "should not break unsubscription chains when result Observable is unsubscribed",
    "lineNumber": 65
  },
  {
    "__docId__": 1981,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1062",
    "testId": 1062,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1062",
    "access": null,
    "description": "should throw if index is smaller than zero",
    "lineNumber": 77
  },
  {
    "__docId__": 1982,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1063",
    "testId": 1063,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1063",
    "access": null,
    "description": "should raise error if index is out of range but does not have default value",
    "lineNumber": 81
  },
  {
    "__docId__": 1983,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1064",
    "testId": 1064,
    "memberof": "spec-js/operators/elementAt-spec.js~describe1053",
    "testDepth": 1,
    "longname": "spec-js/operators/elementAt-spec.js~describe1053.it1064",
    "access": null,
    "description": "should return default value if index is out of range",
    "lineNumber": 89
  },
  {
    "__docId__": 1984,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/every-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/every-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {every} */\ndescribe('Observable.prototype.every', function () {\n    function truePredicate(x) {\n        return true;\n    }\n    function predicate(x) {\n        return x % 5 === 0;\n    }\n    asDiagram('every(x => x % 5 === 0)')('should return false if only some of element matches with predicate', function () {\n        var source = hot('--a--b--c--d--e--|', { a: 5, b: 10, c: 15, d: 18, e: 20 });\n        var sourceSubs = '^          !      ';\n        var expected = '-----------(F|)   ';\n        expectObservable(source.every(predicate)).toBe(expected, { F: false });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should accept thisArg with scalar observables', function () {\n        var thisArg = {};\n        Observable.of(1).every(function (value, index) {\n            chai_1.expect(this).to.deep.equal(thisArg);\n            return true;\n        }, thisArg).subscribe();\n    });\n    it('should accept thisArg with array observables', function () {\n        var thisArg = {};\n        Observable.of(1, 2, 3, 4).every(function (value, index) {\n            chai_1.expect(this).to.deep.equal(thisArg);\n            return true;\n        }, thisArg).subscribe();\n    });\n    it('should accept thisArg with ordinary observables', function () {\n        var thisArg = {};\n        Observable.create(function (observer) {\n            observer.next(1);\n            observer.complete();\n        })\n            .every(function (value, index) {\n            chai_1.expect(this).to.deep.equal(thisArg);\n        }, thisArg).subscribe();\n    });\n    it('should emit true if source is empty', function () {\n        var source = hot('-----|');\n        var sourceSubs = '^    !';\n        var expected = '-----(x|)';\n        expectObservable(source.every(predicate)).toBe(expected, { x: true });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should emit false if single source of element does not match with predicate', function () {\n        var source = hot('--a--|');\n        var sourceSubs = '^ !';\n        var expected = '--(x|)';\n        expectObservable(source.every(predicate)).toBe(expected, { x: false });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should emit false if none of element does not match with predicate', function () {\n        var source = hot('--a--b--c--d--e--|');\n        var sourceSubs = '^ !';\n        var expected = '--(x|)';\n        expectObservable(source.every(predicate)).toBe(expected, { x: false });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should return false if only some of element matches with predicate', function () {\n        var source = hot('--a--b--c--d--e--|', { a: 5, b: 10, c: 15 });\n        var sourceSubs = '^          !';\n        var expected = '-----------(x|)';\n        expectObservable(source.every(predicate)).toBe(expected, { x: false });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var source = hot('--a--b--c--d--e--|', { a: 5, b: 10, c: 15 });\n        var sourceSubs = '^      !          ';\n        var expected = '--------          ';\n        var unsub = '       !          ';\n        var result = source.every(predicate);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should not break unsubscription chains when result Observable is unsubscribed', function () {\n        var source = hot('--a--b--c--d--e--|', { a: 5, b: 10, c: 15 });\n        var sourceSubs = '^      !          ';\n        var expected = '--------          ';\n        var unsub = '       !          ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .every(predicate)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should propagate error if predicate eventually throws', function () {\n        var source = hot('--a--b--c--d--e--|');\n        var sourceSubs = '^       !';\n        var expected = '--------#';\n        function faultyPredicate(x) {\n            if (x === 'c') {\n                throw 'error';\n            }\n            else {\n                return true;\n            }\n        }\n        expectObservable(source.every(faultyPredicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should emit true if single source element match with predicate', function () {\n        var source = hot('--a--|', { a: 5 });\n        var sourceSubs = '^    !';\n        var expected = '-----(x|)';\n        expectObservable(source.every(predicate)).toBe(expected, { x: true });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should emit true if Scalar source matches with predicate', function () {\n        var source = Observable.of(5);\n        var expected = '(T|)';\n        expectObservable(source.every(predicate)).toBe(expected, { T: true });\n    });\n    it('should emit false if Scalar source does not match with predicate', function () {\n        var source = Observable.of(3);\n        var expected = '(F|)';\n        expectObservable(source.every(predicate)).toBe(expected, { F: false });\n    });\n    it('should propagate error if predicate throws on Scalar source', function () {\n        var source = Observable.of(3);\n        var expected = '#';\n        function faultyPredicate(x) {\n            throw 'error';\n        }\n        expectObservable(source.every(faultyPredicate)).toBe(expected);\n    });\n    it('should emit true if Array source matches with predicate', function () {\n        var source = Observable.of(5, 10, 15, 20);\n        var expected = '(T|)';\n        expectObservable(source.every(predicate)).toBe(expected, { T: true });\n    });\n    it('should emit false if Array source does not match with predicate', function () {\n        var source = Observable.of(5, 9, 15, 20);\n        var expected = '(F|)';\n        expectObservable(source.every(predicate)).toBe(expected, { F: false });\n    });\n    it('should propagate error if predicate eventually throws on Array source', function () {\n        var source = Observable.of(5, 10, 15, 20);\n        var expected = '#';\n        function faultyPredicate(x) {\n            if (x === 15) {\n                throw 'error';\n            }\n            return true;\n        }\n        expectObservable(source.every(faultyPredicate)).toBe(expected);\n    });\n    it('should emit true if all source element matches with predicate', function () {\n        var source = hot('--a--b--c--d--e--|', { a: 5, b: 10, c: 15, d: 20, e: 25 });\n        var sourceSubs = '^                !';\n        var expected = '-----------------(x|)';\n        expectObservable(source.every(predicate)).toBe(expected, { x: true });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should raise error if source raises error', function () {\n        var source = hot('--#');\n        var sourceSubs = '^ !';\n        var expected = '--#';\n        expectObservable(source.every(truePredicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should not completes if source never emits', function () {\n        var source = cold('-');\n        var sourceSubs = '^';\n        var expected = '-';\n        expectObservable(source.every(truePredicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should emit true if source element matches with predicate after subscription', function () {\n        var source = hot('--z--^--a--b--c--d--e--|', { a: 5, b: 10, c: 15, d: 20, e: 25 });\n        var sourceSubs = '^                 !';\n        var expected = '------------------(x|)';\n        expectObservable(source.every(predicate)).toBe(expected, { x: true });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should emit false if source element does not match with predicate after subscription', function () {\n        var source = hot('--z--^--b--c--z--d--|', { a: 5, b: 10, c: 15, d: 20 });\n        var sourceSubs = '^        !';\n        var expected = '---------(x|)';\n        expectObservable(source.every(predicate)).toBe(expected, { x: false });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should raise error if source raises error after subscription', function () {\n        var source = hot('--z--^--#');\n        var sourceSubs = '^  !';\n        var expected = '---#';\n        expectObservable(source.every(truePredicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should emit true if source does not emit after subscription', function () {\n        var source = hot('--z--^-----|');\n        var sourceSubs = '^     !';\n        var expected = '------(x|)';\n        expectObservable(source.every(predicate)).toBe(expected, { x: true });\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n});\n//# sourceMappingURL=every-spec.js.map"
  },
  {
    "__docId__": 1985,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1065",
    "testId": 1065,
    "memberof": "spec-js/operators/every-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/every-spec.js~describe1065",
    "access": null,
    "description": "Observable.prototype.every",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{every}"
      }
    ],
    "testTargets": [
      "every"
    ]
  },
  {
    "__docId__": 1986,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1066",
    "testId": 1066,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1066",
    "access": null,
    "description": "should accept thisArg with scalar observables",
    "lineNumber": 20
  },
  {
    "__docId__": 1987,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1067",
    "testId": 1067,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1067",
    "access": null,
    "description": "should accept thisArg with array observables",
    "lineNumber": 27
  },
  {
    "__docId__": 1988,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1068",
    "testId": 1068,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1068",
    "access": null,
    "description": "should accept thisArg with ordinary observables",
    "lineNumber": 34
  },
  {
    "__docId__": 1989,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1069",
    "testId": 1069,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1069",
    "access": null,
    "description": "should emit true if source is empty",
    "lineNumber": 44
  },
  {
    "__docId__": 1990,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1070",
    "testId": 1070,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1070",
    "access": null,
    "description": "should emit false if single source of element does not match with predicate",
    "lineNumber": 51
  },
  {
    "__docId__": 1991,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1071",
    "testId": 1071,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1071",
    "access": null,
    "description": "should emit false if none of element does not match with predicate",
    "lineNumber": 58
  },
  {
    "__docId__": 1992,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1072",
    "testId": 1072,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1072",
    "access": null,
    "description": "should return false if only some of element matches with predicate",
    "lineNumber": 65
  },
  {
    "__docId__": 1993,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1073",
    "testId": 1073,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1073",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 72
  },
  {
    "__docId__": 1994,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1074",
    "testId": 1074,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1074",
    "access": null,
    "description": "should not break unsubscription chains when result Observable is unsubscribed",
    "lineNumber": 81
  },
  {
    "__docId__": 1995,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1075",
    "testId": 1075,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1075",
    "access": null,
    "description": "should propagate error if predicate eventually throws",
    "lineNumber": 93
  },
  {
    "__docId__": 1996,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1076",
    "testId": 1076,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1076",
    "access": null,
    "description": "should emit true if single source element match with predicate",
    "lineNumber": 108
  },
  {
    "__docId__": 1997,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1077",
    "testId": 1077,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1077",
    "access": null,
    "description": "should emit true if Scalar source matches with predicate",
    "lineNumber": 115
  },
  {
    "__docId__": 1998,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1078",
    "testId": 1078,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1078",
    "access": null,
    "description": "should emit false if Scalar source does not match with predicate",
    "lineNumber": 120
  },
  {
    "__docId__": 1999,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1079",
    "testId": 1079,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1079",
    "access": null,
    "description": "should propagate error if predicate throws on Scalar source",
    "lineNumber": 125
  },
  {
    "__docId__": 2000,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1080",
    "testId": 1080,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1080",
    "access": null,
    "description": "should emit true if Array source matches with predicate",
    "lineNumber": 133
  },
  {
    "__docId__": 2001,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1081",
    "testId": 1081,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1081",
    "access": null,
    "description": "should emit false if Array source does not match with predicate",
    "lineNumber": 138
  },
  {
    "__docId__": 2002,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1082",
    "testId": 1082,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1082",
    "access": null,
    "description": "should propagate error if predicate eventually throws on Array source",
    "lineNumber": 143
  },
  {
    "__docId__": 2003,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1083",
    "testId": 1083,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1083",
    "access": null,
    "description": "should emit true if all source element matches with predicate",
    "lineNumber": 154
  },
  {
    "__docId__": 2004,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1084",
    "testId": 1084,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1084",
    "access": null,
    "description": "should raise error if source raises error",
    "lineNumber": 161
  },
  {
    "__docId__": 2005,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1085",
    "testId": 1085,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1085",
    "access": null,
    "description": "should not completes if source never emits",
    "lineNumber": 168
  },
  {
    "__docId__": 2006,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1086",
    "testId": 1086,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1086",
    "access": null,
    "description": "should emit true if source element matches with predicate after subscription",
    "lineNumber": 175
  },
  {
    "__docId__": 2007,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1087",
    "testId": 1087,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1087",
    "access": null,
    "description": "should emit false if source element does not match with predicate after subscription",
    "lineNumber": 182
  },
  {
    "__docId__": 2008,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1088",
    "testId": 1088,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1088",
    "access": null,
    "description": "should raise error if source raises error after subscription",
    "lineNumber": 189
  },
  {
    "__docId__": 2009,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1089",
    "testId": 1089,
    "memberof": "spec-js/operators/every-spec.js~describe1065",
    "testDepth": 1,
    "longname": "spec-js/operators/every-spec.js~describe1065.it1089",
    "access": null,
    "description": "should emit true if source does not emit after subscription",
    "lineNumber": 196
  },
  {
    "__docId__": 2010,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/exhaust-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/exhaust-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {exhaust} */\ndescribe('Observable.prototype.exhaust', function () {\n    asDiagram('exhaust')('should handle a hot observable of hot observables', function () {\n        var x = cold('--a---b---c--|               ');\n        var y = cold('---d--e---f---|      ');\n        var z = cold('---g--h---i---|');\n        var e1 = hot('------x-------y-----z-------------|', { x: x, y: y, z: z });\n        var expected = '--------a---b---c------g--h---i---|';\n        expectObservable(e1.exhaust()).toBe(expected);\n    });\n    it('should switch to first immediately-scheduled inner Observable', function () {\n        var e1 = cold('(ab|)');\n        var e1subs = '(^!)';\n        var e2 = cold('(cd|)');\n        var e2subs = [];\n        var expected = '(ab|)';\n        expectObservable(Observable.of(e1, e2).exhaust()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a hot observable of observables', function () {\n        var x = cold('--a---b---c--|               ');\n        var xsubs = '      ^            !               ';\n        var y = cold('---d--e---f---|      ');\n        var ysubs = [];\n        var z = cold('---g--h---i---|');\n        var zsubs = '                    ^             !';\n        var e1 = hot('------x-------y-----z-------------|', { x: x, y: y, z: z });\n        var expected = '--------a---b---c------g--h---i---|';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n    });\n    it('should handle a hot observable of observables, outer is unsubscribed early', function () {\n        var x = cold('--a---b---c--|         ');\n        var xsubs = '      ^         !           ';\n        var y = cold('---d--e---f---|');\n        var ysubs = [];\n        var e1 = hot('------x-------y------|       ', { x: x, y: y });\n        var unsub = '                !            ';\n        var expected = '--------a---b---             ';\n        expectObservable(e1.exhaust(), unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var x = cold('--a---b---c--|         ');\n        var xsubs = '      ^         !           ';\n        var y = cold('---d--e---f---|');\n        var ysubs = [];\n        var e1 = hot('------x-------y------|       ', { x: x, y: y });\n        var unsub = '                !            ';\n        var expected = '--------a---b----            ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .exhaust()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle a hot observable of observables, inner never completes', function () {\n        var x = cold('--a---b--|              ');\n        var xsubs = '   ^        !              ';\n        var y = cold('-d---e-            ');\n        var ysubs = [];\n        var z = cold('---f--g---h--');\n        var zsubs = '              ^            ';\n        var e1 = hot('---x---y------z----------| ', { x: x, y: y, z: z });\n        var expected = '-----a---b-------f--g---h--';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n    });\n    it('should handle a synchronous switch and stay on the first inner observable', function () {\n        var x = cold('--a---b---c--|   ');\n        var xsubs = '      ^            !   ';\n        var y = cold('---d--e---f---|  ');\n        var ysubs = [];\n        var e1 = hot('------(xy)------------|', { x: x, y: y });\n        var expected = '--------a---b---c-----|';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle a hot observable of observables, one inner throws', function () {\n        var x = cold('--a---#                ');\n        var xsubs = '      ^     !                ';\n        var y = cold('---d--e---f---|');\n        var ysubs = [];\n        var e1 = hot('------x-------y------|       ', { x: x, y: y });\n        var expected = '--------a---#                ';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle a hot observable of observables, outer throws', function () {\n        var x = cold('--a---b---c--|         ');\n        var xsubs = '      ^            !         ';\n        var y = cold('---d--e---f---|');\n        var ysubs = [];\n        var e1 = hot('------x-------y-------#      ', { x: x, y: y });\n        var expected = '--------a---b---c-----#      ';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle an empty hot observable', function () {\n        var e1 = hot('------|');\n        var e1subs = '^     !';\n        var expected = '------|';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a never hot observable', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete not before the outer completes', function () {\n        var x = cold('--a---b---c--|   ');\n        var xsubs = '      ^            !   ';\n        var e1 = hot('------x---------------|', { x: x });\n        var expected = '--------a---b---c-----|';\n        expectObservable(e1.exhaust()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n    });\n    it('should handle an observable of promises', function (done) {\n        var expected = [1];\n        Observable.of(Promise.resolve(1), Promise.resolve(2), Promise.resolve(3))\n            .exhaust()\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should handle an observable of promises, where one rejects', function (done) {\n        Observable.of(Promise.reject(2), Promise.resolve(1))\n            .exhaust()\n            .subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (err) {\n            chai_1.expect(err).to.equal(2);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n});\n//# sourceMappingURL=exhaust-spec.js.map"
  },
  {
    "__docId__": 2011,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1090",
    "testId": 1090,
    "memberof": "spec-js/operators/exhaust-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090",
    "access": null,
    "description": "Observable.prototype.exhaust",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{exhaust}"
      }
    ],
    "testTargets": [
      "exhaust"
    ]
  },
  {
    "__docId__": 2012,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1091",
    "testId": 1091,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1091",
    "access": null,
    "description": "should switch to first immediately-scheduled inner Observable",
    "lineNumber": 15
  },
  {
    "__docId__": 2013,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1092",
    "testId": 1092,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1092",
    "access": null,
    "description": "should handle throw",
    "lineNumber": 25
  },
  {
    "__docId__": 2014,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1093",
    "testId": 1093,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1093",
    "access": null,
    "description": "should handle empty",
    "lineNumber": 32
  },
  {
    "__docId__": 2015,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1094",
    "testId": 1094,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1094",
    "access": null,
    "description": "should handle never",
    "lineNumber": 39
  },
  {
    "__docId__": 2016,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1095",
    "testId": 1095,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1095",
    "access": null,
    "description": "should handle a hot observable of observables",
    "lineNumber": 46
  },
  {
    "__docId__": 2017,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1096",
    "testId": 1096,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1096",
    "access": null,
    "description": "should handle a hot observable of observables, outer is unsubscribed early",
    "lineNumber": 60
  },
  {
    "__docId__": 2018,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1097",
    "testId": 1097,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1097",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 72
  },
  {
    "__docId__": 2019,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1098",
    "testId": 1098,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1098",
    "access": null,
    "description": "should handle a hot observable of observables, inner never completes",
    "lineNumber": 88
  },
  {
    "__docId__": 2020,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1099",
    "testId": 1099,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1099",
    "access": null,
    "description": "should handle a synchronous switch and stay on the first inner observable",
    "lineNumber": 102
  },
  {
    "__docId__": 2021,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1100",
    "testId": 1100,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1100",
    "access": null,
    "description": "should handle a hot observable of observables, one inner throws",
    "lineNumber": 113
  },
  {
    "__docId__": 2022,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1101",
    "testId": 1101,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1101",
    "access": null,
    "description": "should handle a hot observable of observables, outer throws",
    "lineNumber": 124
  },
  {
    "__docId__": 2023,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1102",
    "testId": 1102,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1102",
    "access": null,
    "description": "should handle an empty hot observable",
    "lineNumber": 135
  },
  {
    "__docId__": 2024,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1103",
    "testId": 1103,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1103",
    "access": null,
    "description": "should handle a never hot observable",
    "lineNumber": 142
  },
  {
    "__docId__": 2025,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1104",
    "testId": 1104,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1104",
    "access": null,
    "description": "should complete not before the outer completes",
    "lineNumber": 149
  },
  {
    "__docId__": 2026,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1105",
    "testId": 1105,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1105",
    "access": null,
    "description": "should handle an observable of promises",
    "lineNumber": 157
  },
  {
    "__docId__": 2027,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1106",
    "testId": 1106,
    "memberof": "spec-js/operators/exhaust-spec.js~describe1090",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaust-spec.js~describe1090.it1106",
    "access": null,
    "description": "should handle an observable of promises, where one rejects",
    "lineNumber": 168
  },
  {
    "__docId__": 2028,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/exhaustMap-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/exhaustMap-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {exhaustMap} */\ndescribe('Observable.prototype.exhaustMap', function () {\n    asDiagram('exhaustMap(i => 10*i\\u2014\\u201410*i\\u2014\\u201410*i\\u2014| )')('should map-and-flatten each item to an Observable', function () {\n        var e1 = hot('--1-----3--5-------|');\n        var e1subs = '^                  !';\n        var e2 = cold('x-x-x|              ', { x: 10 });\n        var expected = '--x-x-x-y-y-y------|';\n        var values = { x: 10, y: 30, z: 50 };\n        var result = e1.exhaustMap(function (x) { return e2.map(function (i) { return i * x; }); });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle outer throw', function () {\n        var x = cold('--a--b--c--|');\n        var xsubs = [];\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        var result = e1.exhaustMap(function () { return x; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle outer empty', function () {\n        var x = cold('--a--b--c--|');\n        var xsubs = [];\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        var result = e1.exhaustMap(function () { return x; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle outer never', function () {\n        var x = cold('--a--b--c--|');\n        var xsubs = [];\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var result = e1.exhaustMap(function () { return x; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if project throws', function () {\n        var e1 = hot('---x---------y-----------------z-------------|');\n        var e1subs = '^  !';\n        var expected = '---#';\n        var result = e1.exhaustMap(function (value) {\n            throw 'error';\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if selector throws', function () {\n        var x = cold('--a--b--c--|         ');\n        var xsubs = '   ^ !                  ';\n        var e1 = hot('---x---------y----z----|');\n        var e1subs = '^    !                  ';\n        var expected = '-----#                  ';\n        var result = e1.exhaustMap(function (value) { return x; }, function () {\n            throw 'error';\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch with a selector function', function () {\n        var x = cold('--a--b--c--|                              ');\n        var xsubs = '   ^          !                              ';\n        var y = cold('--d--e--f--|                    ');\n        var ysubs = [];\n        var z = cold('--g--h--i--|  ');\n        var zsubs = '                               ^          !  ';\n        var e1 = hot('---x---------y-----------------z-------------|');\n        var e1subs = '^                                            !';\n        var expected = '-----a--b--c---------------------g--h--i-----|';\n        var observableLookup = { x: x, y: y, z: z };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner cold observables, outer is unsubscribed early', function () {\n        var x = cold('--a--b--c--|                               ');\n        var xsubs = '   ^          !                               ';\n        var y = cold('--d--e--f--|                     ');\n        var ysubs = [];\n        var z = cold('--g--h--i--|   ');\n        var zsubs = '                               ^  !           ';\n        var e1 = hot('---x---------y-----------------z-------------|');\n        var unsub = '                                  !           ';\n        var e1subs = '^                                 !           ';\n        var expected = '-----a--b--c---------------------g-           ';\n        var observableLookup = { x: x, y: y, z: z };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var x = cold('--a--b--c--|                               ');\n        var xsubs = '   ^          !                               ';\n        var y = cold('--d--e--f--|                     ');\n        var ysubs = [];\n        var z = cold('--g--h--i--|   ');\n        var zsubs = '                               ^  !           ';\n        var e1 = hot('---x---------y-----------------z-------------|');\n        var e1subs = '^                                 !           ';\n        var expected = '-----a--b--c---------------------g-           ';\n        var unsub = '                                  !           ';\n        var observableLookup = { x: x, y: y, z: z };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .exhaustMap(function (value) { return observableLookup[value]; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner cold observables, inner never completes', function () {\n        var x = cold('--a--b--c--|                              ');\n        var xsubs = '   ^          !                              ';\n        var y = cold('--d--e--f--|                    ');\n        var ysubs = [];\n        var z = cold('--g--h--i-----');\n        var zsubs = '                               ^             ';\n        var e1 = hot('---x---------y-----------------z---------|   ');\n        var e1subs = '^                                            ';\n        var expected = '-----a--b--c---------------------g--h--i-----';\n        var observableLookup = { x: x, y: y, z: z };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a synchronous switch an stay on the first inner observable', function () {\n        var x = cold('--a--b--c--d--e--|   ');\n        var xsubs = '         ^                !   ';\n        var y = cold('---f---g---h---i--|  ');\n        var ysubs = [];\n        var e1 = hot('---------(xy)----------------|');\n        var e1subs = '^                            !';\n        var expected = '-----------a--b--c--d--e-----|';\n        var observableLookup = { x: x, y: y };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner cold observables, one inner throws', function () {\n        var x = cold('--a--b--c--d--#             ');\n        var xsubs = '         ^             !             ';\n        var y = cold('---f---g---h---i--');\n        var ysubs = [];\n        var e1 = hot('---------x---------y---------|       ');\n        var e1subs = '^                      !             ';\n        var expected = '-----------a--b--c--d--#             ';\n        var observableLookup = { x: x, y: y };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner hot observables', function () {\n        var x = hot('-----a--b--c--d--e--|                  ');\n        var xsubs = '         ^          !                  ';\n        var y = hot('--p-o-o-p-------f---g---h---i--|       ');\n        var ysubs = [];\n        var z = hot('---z-o-o-m-------------j---k---l---m--|');\n        var zsubs = '                    ^                 !';\n        var e1 = hot('---------x----y-----z--------|         ');\n        var e1subs = '^                                     !';\n        var expected = '-----------c--d--e-----j---k---l---m--|';\n        var observableLookup = { x: x, y: y, z: z };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner empty and empty', function () {\n        var x = cold('|');\n        var y = cold('|');\n        var xsubs = '         (^!)                 ';\n        var ysubs = '                   (^!)       ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^                            !';\n        var expected = '-----------------------------|';\n        var observableLookup = { x: x, y: y };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner empty and never', function () {\n        var x = cold('|');\n        var y = cold('-');\n        var xsubs = '         (^!)                 ';\n        var ysubs = '                   ^          ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^                             ';\n        var expected = '------------------------------';\n        var observableLookup = { x: x, y: y };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should never switch inner never', function () {\n        var x = cold('-');\n        var y = cold('#');\n        var xsubs = '         ^                     ';\n        var ysubs = [];\n        var e1 = hot('---------x---------y----------|');\n        var e1subs = '^                              ';\n        var expected = '-------------------------------';\n        var observableLookup = { x: x, y: y };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner empty and throw', function () {\n        var x = cold('|');\n        var y = cold('#');\n        var xsubs = '         (^!)                  ';\n        var ysubs = '                   (^!)        ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^                  !          ';\n        var expected = '-------------------#          ';\n        var observableLookup = { x: x, y: y };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle outer error', function () {\n        var x = cold('--a--b--c--d--e--|');\n        var xsubs = '         ^         !       ';\n        var e1 = hot('---------x---------#       ');\n        var e1subs = '^                  !       ';\n        var expected = '-----------a--b--c-#       ';\n        var observableLookup = { x: x };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch with resultSelector goodness', function () {\n        var x = cold('--a--b--c--d--e-|                   ');\n        var xsubs = '  ^               !                   ';\n        var y = cold('---f---g---h---i--|       ');\n        var ysubs = [];\n        var z = cold('---k---l---m---n--|');\n        var zsubs = '                   ^                 !';\n        var e1 = hot('--x---------y------z-|                ');\n        var e1subs = '^                                    !';\n        var expected = '----a--b--c--d--e-----k---l---m---n--|';\n        var observableLookup = { x: x, y: y, z: z };\n        var expectedValues = {\n            a: ['x', 'a', 0, 0],\n            b: ['x', 'b', 0, 1],\n            c: ['x', 'c', 0, 2],\n            d: ['x', 'd', 0, 3],\n            e: ['x', 'e', 0, 4],\n            k: ['z', 'k', 1, 0],\n            l: ['z', 'l', 1, 1],\n            m: ['z', 'm', 1, 2],\n            n: ['z', 'n', 1, 3],\n        };\n        var result = e1.exhaustMap(function (value) { return observableLookup[value]; }, function (innerValue, outerValue, innerIndex, outerIndex) { return [innerValue, outerValue, innerIndex, outerIndex]; });\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=exhaustMap-spec.js.map"
  },
  {
    "__docId__": 2029,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1107",
    "testId": 1107,
    "memberof": "spec-js/operators/exhaustMap-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "access": null,
    "description": "Observable.prototype.exhaustMap",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{exhaustMap}"
      }
    ],
    "testTargets": [
      "exhaustMap"
    ]
  },
  {
    "__docId__": 2030,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1108",
    "testId": 1108,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1108",
    "access": null,
    "description": "should handle outer throw",
    "lineNumber": 16
  },
  {
    "__docId__": 2031,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1109",
    "testId": 1109,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1109",
    "access": null,
    "description": "should handle outer empty",
    "lineNumber": 27
  },
  {
    "__docId__": 2032,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1110",
    "testId": 1110,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1110",
    "access": null,
    "description": "should handle outer never",
    "lineNumber": 38
  },
  {
    "__docId__": 2033,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1111",
    "testId": 1111,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1111",
    "access": null,
    "description": "should raise error if project throws",
    "lineNumber": 49
  },
  {
    "__docId__": 2034,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1112",
    "testId": 1112,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1112",
    "access": null,
    "description": "should raise error if selector throws",
    "lineNumber": 59
  },
  {
    "__docId__": 2035,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1113",
    "testId": 1113,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1113",
    "access": null,
    "description": "should switch with a selector function",
    "lineNumber": 72
  },
  {
    "__docId__": 2036,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1114",
    "testId": 1114,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1114",
    "access": null,
    "description": "should switch inner cold observables, outer is unsubscribed early",
    "lineNumber": 90
  },
  {
    "__docId__": 2037,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1115",
    "testId": 1115,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1115",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 109
  },
  {
    "__docId__": 2038,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1116",
    "testId": 1116,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1116",
    "access": null,
    "description": "should switch inner cold observables, inner never completes",
    "lineNumber": 131
  },
  {
    "__docId__": 2039,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1117",
    "testId": 1117,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1117",
    "access": null,
    "description": "should handle a synchronous switch an stay on the first inner observable",
    "lineNumber": 149
  },
  {
    "__docId__": 2040,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1118",
    "testId": 1118,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1118",
    "access": null,
    "description": "should switch inner cold observables, one inner throws",
    "lineNumber": 164
  },
  {
    "__docId__": 2041,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1119",
    "testId": 1119,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1119",
    "access": null,
    "description": "should switch inner hot observables",
    "lineNumber": 179
  },
  {
    "__docId__": 2042,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1120",
    "testId": 1120,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1120",
    "access": null,
    "description": "should switch inner empty and empty",
    "lineNumber": 197
  },
  {
    "__docId__": 2043,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1121",
    "testId": 1121,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1121",
    "access": null,
    "description": "should switch inner empty and never",
    "lineNumber": 212
  },
  {
    "__docId__": 2044,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1122",
    "testId": 1122,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1122",
    "access": null,
    "description": "should never switch inner never",
    "lineNumber": 227
  },
  {
    "__docId__": 2045,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1123",
    "testId": 1123,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1123",
    "access": null,
    "description": "should switch inner empty and throw",
    "lineNumber": 242
  },
  {
    "__docId__": 2046,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1124",
    "testId": 1124,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1124",
    "access": null,
    "description": "should handle outer error",
    "lineNumber": 257
  },
  {
    "__docId__": 2047,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1125",
    "testId": 1125,
    "memberof": "spec-js/operators/exhaustMap-spec.js~describe1107",
    "testDepth": 1,
    "longname": "spec-js/operators/exhaustMap-spec.js~describe1107.it1125",
    "access": null,
    "description": "should switch with resultSelector goodness",
    "lineNumber": 269
  },
  {
    "__docId__": 2048,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/expand-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/expand-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {expand} */\ndescribe('Observable.prototype.expand', function () {\n    asDiagram('expand(x => x === 8 ? empty : \\u2014\\u20142*x\\u2014| )')('should recursively map-and-flatten each item to an Observable', function () {\n        var e1 = hot('--x----|  ', { x: 1 });\n        var e1subs = '^        !';\n        var e2 = cold('--c|    ', { c: 2 });\n        var expected = '--a-b-c-d|';\n        var values = { a: 1, b: 2, c: 4, d: 8 };\n        var result = e1.expand(function (x) { return x === 8 ? Observable.empty() : e2.map(function (c) { return c * x; }); });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with scheduler', function () {\n        var e1 = hot('--x----|  ', { x: 1 });\n        var e1subs = '^        !';\n        var e2 = cold('--c|    ', { c: 2 });\n        var expected = '--a-b-c-d|';\n        var values = { a: 1, b: 2, c: 4, d: 8 };\n        var result = e1.expand(function (x) { return x === 8 ? Observable.empty() : e2.map(function (c) { return c * x; }); }, Number.POSITIVE_INFINITY, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should map and recursively flatten', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n        };\n        var e1 = hot('(a|)', values);\n        var e1subs = '^           !   ';\n        var e2shape = '---(z|)         ';\n        var expected = 'a--b--c--d--(e|)';\n        /*\n          expectation explanation: (conjunction junction?) ...\n    \n          since `cold('---(z|)')` emits `x + x` and completes on frame 30\n          but the next \"expanded\" return value is synchronously subscribed to in\n          that same frame, it stacks like so:\n    \n          a\n          ---(b|)\n             ---(c|)\n                ---(d|)\n                   ---(e|)      (...which flattens into:)\n          a--b--c--d--(e|)\n        */\n        var result = e1.expand(function (x, index) {\n            if (x === 16) {\n                return Observable.empty();\n            }\n            else {\n                return cold(e2shape, { z: x + x });\n            }\n        });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should map and recursively flatten, and handle event raised error', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n        };\n        var e1 = hot('(a|)', values);\n        var e1subs = '^        !   ';\n        var e2shape = '---(z|)      ';\n        var expected = 'a--b--c--(d#)';\n        var result = e1.expand(function (x) {\n            if (x === 8) {\n                return cold('#');\n            }\n            return cold(e2shape, { z: x + x });\n        });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should map and recursively flatten, and propagate error thrown from projection', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n        };\n        var e1 = hot('(a|)', values);\n        var e1subs = '^        !   ';\n        var e2shape = '---(z|)      ';\n        var expected = 'a--b--c--(d#)';\n        var result = e1.expand(function (x) {\n            if (x === 8) {\n                throw 'error';\n            }\n            return cold(e2shape, { z: x + x });\n        });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing early', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n        };\n        var e1 = hot('(a|)', values);\n        var unsub = '       !  ';\n        var e1subs = '^      !  ';\n        var e2shape = '---(z|)   ';\n        var expected = 'a--b--c-  ';\n        var result = e1.expand(function (x) {\n            if (x === 16) {\n                return Observable.empty();\n            }\n            return cold(e2shape, { z: x + x });\n        });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n        };\n        var e1 = hot('(a|)', values);\n        var e1subs = '^      !  ';\n        var e2shape = '---(z|)   ';\n        var expected = 'a--b--c-  ';\n        var unsub = '       !  ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .expand(function (x) {\n            if (x === 16) {\n                return Observable.empty();\n            }\n            return cold(e2shape, { z: x + x });\n        })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow concurrent expansions', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n        };\n        var e1 = hot('a-a|              ', values);\n        var e1subs = '^             !   ';\n        var e2shape = '---(z|)           ';\n        var expected = 'a-ab-bc-cd-de-(e|)';\n        var result = e1.expand(function (x) {\n            if (x === 16) {\n                return Observable.empty();\n            }\n            return cold(e2shape, { z: x + x });\n        });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow configuring the concurrency limit parameter to 1', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n            u: 10,\n            v: 20,\n            x: 40,\n            y: 80,\n            z: 160,\n        };\n        var e1 = hot('a-u|', values);\n        var e2shape = '---(z|)';\n        //                 ---(z|)\n        //                    ---(z|)\n        //                       ---(z|)\n        //                          ---(z|)\n        //                             ---(z|)\n        //                                ---(z|)\n        //                                   ---(z|)\n        // Notice how for each column, there is at most 1 `-` character.\n        var e1subs = '^                       !    ';\n        var expected = 'a--u--b--v--c--x--d--y--(ez|)';\n        var concurrencyLimit = 1;\n        var result = e1.expand(function (x) {\n            if (x === 16 || x === 160) {\n                return Observable.empty();\n            }\n            return cold(e2shape, { z: x + x });\n        }, concurrencyLimit);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow configuring the concurrency limit parameter to 2', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            u: 10,\n            v: 20,\n            x: 40,\n        };\n        var e1 = hot('a---au|', values);\n        var e2shape = '------(z|)';\n        //                  ------(z|)\n        //                    ------(z|)\n        //                        ------(z|)\n        //                          ------(z|)\n        //                              ------(z|)\n        //                                ------(z|)\n        // Notice how for each column, there is at most 2 `-` characters.\n        var e1subs = '^                     !   ';\n        var expected = 'a---a-u---b-b---v-(cc)(x|)';\n        var concurrencyLimit = 2;\n        var result = e1.expand(function (x) {\n            if (x === 4 || x === 40) {\n                return Observable.empty();\n            }\n            return cold(e2shape, { z: x + x });\n        }, concurrencyLimit);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should ignore concurrency limit if it is not passed', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n            u: 10,\n            v: 20,\n            x: 40,\n            y: 80,\n            z: 160,\n        };\n        var e1 = hot('a-u|              ', values);\n        var e1subs = '^             !   ';\n        var e2shape = '---(z|)           ';\n        var expected = 'a-ub-vc-xd-ye-(z|)';\n        var concurrencyLimit = 100;\n        var result = e1.expand(function (x) {\n            if (x === 16 || x === 160) {\n                return Observable.empty();\n            }\n            return cold(e2shape, { z: x + x });\n        }, concurrencyLimit);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should map and recursively flatten with scalars', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n        };\n        var e1 = hot('(a|)', values);\n        var e1subs = '(^!)';\n        var expected = '(abcde|)';\n        var result = e1.expand(function (x) {\n            if (x === 16) {\n                return Observable.empty();\n            }\n            return Observable.of(x + x); // scalar\n        });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should recursively flatten promises', function (done) {\n        var expected = [1, 2, 4, 8, 16];\n        Observable.of(1)\n            .expand(function (x) {\n            if (x === 16) {\n                return Observable.empty();\n            }\n            return Promise.resolve(x + x);\n        })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should recursively flatten Arrays', function (done) {\n        var expected = [1, 2, 4, 8, 16];\n        Observable.of(1)\n            .expand(function (x) {\n            if (x === 16) {\n                return Observable.empty();\n            }\n            return [x + x];\n        })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should recursively flatten lowercase-o observables', function (done) {\n        var expected = [1, 2, 4, 8, 16];\n        var project = function (x, index) {\n            if (x === 16) {\n                return Observable.empty();\n            }\n            var ish = {\n                subscribe: function (observer) {\n                    observer.next(x + x);\n                    observer.complete();\n                }\n            };\n            ish[Symbol.observable] = function () {\n                return this;\n            };\n            return ish;\n        };\n        Observable.of(1)\n            .expand(project)\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should work when passing undefined for the optional arguments', function () {\n        var values = {\n            a: 1,\n            b: 1 + 1,\n            c: 2 + 2,\n            d: 4 + 4,\n            e: 8 + 8,\n        };\n        var e1 = hot('(a|)', values);\n        var e1subs = '^           !   ';\n        var e2shape = '---(z|)         ';\n        var expected = 'a--b--c--d--(e|)';\n        var project = function (x, index) {\n            if (x === 16) {\n                return Observable.empty();\n            }\n            return cold(e2shape, { z: x + x });\n        };\n        var result = e1.expand(project, undefined, undefined);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=expand-spec.js.map"
  },
  {
    "__docId__": 2049,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1126",
    "testId": 1126,
    "memberof": "spec-js/operators/expand-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/expand-spec.js~describe1126",
    "access": null,
    "description": "Observable.prototype.expand",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{expand}"
      }
    ],
    "testTargets": [
      "expand"
    ]
  },
  {
    "__docId__": 2050,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1127",
    "testId": 1127,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1127",
    "access": null,
    "description": "should work with scheduler",
    "lineNumber": 17
  },
  {
    "__docId__": 2051,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1128",
    "testId": 1128,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1128",
    "access": null,
    "description": "should map and recursively flatten",
    "lineNumber": 27
  },
  {
    "__docId__": 2052,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1129",
    "testId": 1129,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1129",
    "access": null,
    "description": "should map and recursively flatten, and handle event raised error",
    "lineNumber": 64
  },
  {
    "__docId__": 2053,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1130",
    "testId": 1130,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1130",
    "access": null,
    "description": "should map and recursively flatten, and propagate error thrown from projection",
    "lineNumber": 85
  },
  {
    "__docId__": 2054,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1131",
    "testId": 1131,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1131",
    "access": null,
    "description": "should allow unsubscribing early",
    "lineNumber": 106
  },
  {
    "__docId__": 2055,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1132",
    "testId": 1132,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1132",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 128
  },
  {
    "__docId__": 2056,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1133",
    "testId": 1133,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1133",
    "access": null,
    "description": "should allow concurrent expansions",
    "lineNumber": 153
  },
  {
    "__docId__": 2057,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1134",
    "testId": 1134,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1134",
    "access": null,
    "description": "should allow configuring the concurrency limit parameter to 1",
    "lineNumber": 174
  },
  {
    "__docId__": 2058,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1135",
    "testId": 1135,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1135",
    "access": null,
    "description": "should allow configuring the concurrency limit parameter to 2",
    "lineNumber": 209
  },
  {
    "__docId__": 2059,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1136",
    "testId": 1136,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1136",
    "access": null,
    "description": "should ignore concurrency limit if it is not passed",
    "lineNumber": 239
  },
  {
    "__docId__": 2060,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1137",
    "testId": 1137,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1137",
    "access": null,
    "description": "should map and recursively flatten with scalars",
    "lineNumber": 266
  },
  {
    "__docId__": 2061,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1138",
    "testId": 1138,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1138",
    "access": null,
    "description": "should recursively flatten promises",
    "lineNumber": 286
  },
  {
    "__docId__": 2062,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1139",
    "testId": 1139,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1139",
    "access": null,
    "description": "should recursively flatten Arrays",
    "lineNumber": 302
  },
  {
    "__docId__": 2063,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1140",
    "testId": 1140,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1140",
    "access": null,
    "description": "should recursively flatten lowercase-o observables",
    "lineNumber": 318
  },
  {
    "__docId__": 2064,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1141",
    "testId": 1141,
    "memberof": "spec-js/operators/expand-spec.js~describe1126",
    "testDepth": 1,
    "longname": "spec-js/operators/expand-spec.js~describe1126.it1141",
    "access": null,
    "description": "should work when passing undefined for the optional arguments",
    "lineNumber": 344
  },
  {
    "__docId__": 2065,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/filter-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/filter-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {filter} */\ndescribe('Observable.prototype.filter', function () {\n    function oddFilter(x) {\n        return (+x) % 2 === 1;\n    }\n    function isPrime(i) {\n        if (+i <= 1) {\n            return false;\n        }\n        var max = Math.floor(Math.sqrt(+i));\n        for (var j = 2; j <= max; ++j) {\n            if (+i % j === 0) {\n                return false;\n            }\n        }\n        return true;\n    }\n    asDiagram('filter(x => x % 2 === 1)')('should filter out even values', function () {\n        var source = hot('--0--1--2--3--4--|');\n        var subs = '^                !';\n        var expected = '-----1-----3-----|';\n        expectObservable(source.filter(oddFilter)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should filter in only prime numbers', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var subs = '^                  !';\n        var expected = '--3---5----7-------|';\n        expectObservable(source.filter(isPrime)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should filter with an always-true predicate', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var expected = '--3-4-5-6--7-8--9--|';\n        var predicate = function () { return true; };\n        expectObservable(source.filter(predicate)).toBe(expected);\n    });\n    it('should filter with an always-false predicate', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var expected = '-------------------|';\n        var predicate = function () { return false; };\n        expectObservable(source.filter(predicate)).toBe(expected);\n    });\n    it('should filter in only prime numbers, source unsubscribes early', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var subs = '^           !       ';\n        var unsub = '            !       ';\n        var expected = '--3---5----7-       ';\n        expectObservable(source.filter(isPrime), unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should filter in only prime numbers, source throws', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--#');\n        var subs = '^                  !';\n        var expected = '--3---5----7-------#';\n        expectObservable(source.filter(isPrime)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should filter in only prime numbers, but predicate throws', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var subs = '^       !           ';\n        var expected = '--3---5-#           ';\n        var invoked = 0;\n        function predicate(x, index) {\n            invoked++;\n            if (invoked === 4) {\n                throw 'error';\n            }\n            return isPrime(x);\n        }\n        ;\n        expectObservable(source.filter(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should filter in only prime numbers, predicate with index', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var subs = '^                  !';\n        var expected = '--3--------7-------|';\n        function predicate(x, i) {\n            return isPrime((+x) + i * 10);\n        }\n        expectObservable(source.filter(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should invoke predicate once for each checked value', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var expected = '--3---5----7-------|';\n        var invoked = 0;\n        var predicate = function (x) {\n            invoked++;\n            return isPrime(x);\n        };\n        var r = source\n            .filter(predicate)\n            .do(null, null, function () {\n            chai_1.expect(invoked).to.equal(7);\n        });\n        expectObservable(r).toBe(expected);\n    });\n    it('should filter in only prime numbers, predicate with index, ' +\n        'source unsubscribes early', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var subs = '^           !       ';\n        var unsub = '            !       ';\n        var expected = '--3--------7-       ';\n        function predicate(x, i) {\n            return isPrime((+x) + i * 10);\n        }\n        expectObservable(source.filter(predicate), unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should filter in only prime numbers, predicate with index, source throws', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--#');\n        var subs = '^                  !';\n        var expected = '--3--------7-------#';\n        function predicate(x, i) {\n            return isPrime((+x) + i * 10);\n        }\n        expectObservable(source.filter(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should filter in only prime numbers, predicate with index and throws', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var subs = '^       !           ';\n        var expected = '--3-----#           ';\n        var invoked = 0;\n        function predicate(x, i) {\n            invoked++;\n            if (invoked === 4) {\n                throw 'error';\n            }\n            return isPrime((+x) + i * 10);\n        }\n        ;\n        expectObservable(source.filter(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should compose with another filter to allow multiples of six', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var expected = '--------6----------|';\n        expectObservable(source\n            .filter(function (x) { return x % 2 === 0; })\n            .filter(function (x) { return x % 3 === 0; })).toBe(expected);\n    });\n    it('should be able to accept and use a thisArg', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var expected = '--------6----------|';\n        function Filterer() {\n            this.filter1 = function (x) { return x % 2 === 0; };\n            this.filter2 = function (x) { return x % 3 === 0; };\n        }\n        var filterer = new Filterer();\n        expectObservable(source\n            .filter(function (x) { return this.filter1(x); }, filterer)\n            .filter(function (x) { return this.filter2(x); }, filterer)\n            .filter(function (x) { return this.filter1(x); }, filterer)).toBe(expected);\n    });\n    it('should be able to use filter and map composed', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var expected = '----a---b----c-----|';\n        var values = { a: 16, b: 36, c: 64 };\n        expectObservable(source\n            .filter(function (x) { return x % 2 === 0; })\n            .map(function (x) { return x * x; })).toBe(expected, values);\n    });\n    it('should propagate errors from the source', function () {\n        var source = hot('--0--1--2--3--4--#');\n        var subs = '^                !';\n        var expected = '-----1-----3-----#';\n        expectObservable(source.filter(oddFilter)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should support Observable.empty', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '|';\n        expectObservable(source.filter(oddFilter)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should support Observable.never', function () {\n        var source = cold('-');\n        var subs = '^';\n        var expected = '-';\n        expectObservable(source.filter(oddFilter)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should support Observable.throw', function () {\n        var source = cold('#');\n        var subs = '(^!)';\n        var expected = '#';\n        expectObservable(source.filter(oddFilter)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should send errors down the error path', function (done) {\n        Observable.of(42).filter((function (x, index) {\n            throw 'bad';\n        }))\n            .subscribe(function (x) {\n            done(new Error('should not be called'));\n        }, function (err) {\n            chai_1.expect(err).to.equal('bad');\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var source = hot('-1--2--^-3-4-5-6--7-8--9--|');\n        var subs = '^           !       ';\n        var unsub = '            !       ';\n        var expected = '--3---5----7-       ';\n        var r = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .filter(isPrime)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(r, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=filter-spec.js.map"
  },
  {
    "__docId__": 2066,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1142",
    "testId": 1142,
    "memberof": "spec-js/operators/filter-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/filter-spec.js~describe1142",
    "access": null,
    "description": "Observable.prototype.filter",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{filter}"
      }
    ],
    "testTargets": [
      "filter"
    ]
  },
  {
    "__docId__": 2067,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1143",
    "testId": 1143,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1143",
    "access": null,
    "description": "should filter in only prime numbers",
    "lineNumber": 29
  },
  {
    "__docId__": 2068,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1144",
    "testId": 1144,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1144",
    "access": null,
    "description": "should filter with an always-true predicate",
    "lineNumber": 36
  },
  {
    "__docId__": 2069,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1145",
    "testId": 1145,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1145",
    "access": null,
    "description": "should filter with an always-false predicate",
    "lineNumber": 42
  },
  {
    "__docId__": 2070,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1146",
    "testId": 1146,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1146",
    "access": null,
    "description": "should filter in only prime numbers, source unsubscribes early",
    "lineNumber": 48
  },
  {
    "__docId__": 2071,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1147",
    "testId": 1147,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1147",
    "access": null,
    "description": "should filter in only prime numbers, source throws",
    "lineNumber": 56
  },
  {
    "__docId__": 2072,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1148",
    "testId": 1148,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1148",
    "access": null,
    "description": "should filter in only prime numbers, but predicate throws",
    "lineNumber": 63
  },
  {
    "__docId__": 2073,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1149",
    "testId": 1149,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1149",
    "access": null,
    "description": "should filter in only prime numbers, predicate with index",
    "lineNumber": 79
  },
  {
    "__docId__": 2074,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1150",
    "testId": 1150,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1150",
    "access": null,
    "description": "should invoke predicate once for each checked value",
    "lineNumber": 89
  },
  {
    "__docId__": 2075,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1151",
    "testId": 1151,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1151",
    "access": null,
    "lineNumber": 104
  },
  {
    "__docId__": 2076,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1152",
    "testId": 1152,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1152",
    "access": null,
    "description": "should filter in only prime numbers, predicate with index, source throws",
    "lineNumber": 116
  },
  {
    "__docId__": 2077,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1153",
    "testId": 1153,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1153",
    "access": null,
    "description": "should filter in only prime numbers, predicate with index and throws",
    "lineNumber": 126
  },
  {
    "__docId__": 2078,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1154",
    "testId": 1154,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1154",
    "access": null,
    "description": "should compose with another filter to allow multiples of six",
    "lineNumber": 142
  },
  {
    "__docId__": 2079,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1155",
    "testId": 1155,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1155",
    "access": null,
    "description": "should be able to accept and use a thisArg",
    "lineNumber": 149
  },
  {
    "__docId__": 2080,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1156",
    "testId": 1156,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1156",
    "access": null,
    "description": "should be able to use filter and map composed",
    "lineNumber": 162
  },
  {
    "__docId__": 2081,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1157",
    "testId": 1157,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1157",
    "access": null,
    "description": "should propagate errors from the source",
    "lineNumber": 170
  },
  {
    "__docId__": 2082,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1158",
    "testId": 1158,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1158",
    "access": null,
    "description": "should support Observable.empty",
    "lineNumber": 177
  },
  {
    "__docId__": 2083,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1159",
    "testId": 1159,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1159",
    "access": null,
    "description": "should support Observable.never",
    "lineNumber": 184
  },
  {
    "__docId__": 2084,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1160",
    "testId": 1160,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1160",
    "access": null,
    "description": "should support Observable.throw",
    "lineNumber": 191
  },
  {
    "__docId__": 2085,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1161",
    "testId": 1161,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1161",
    "access": null,
    "description": "should send errors down the error path",
    "lineNumber": 198
  },
  {
    "__docId__": 2086,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1162",
    "testId": 1162,
    "memberof": "spec-js/operators/filter-spec.js~describe1142",
    "testDepth": 1,
    "longname": "spec-js/operators/filter-spec.js~describe1142.it1162",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 211
  },
  {
    "__docId__": 2087,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/finally-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/finally-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {finally} */\ndescribe('Observable.prototype.finally', function () {\n    it('should call finally after complete', function (done) {\n        var completed = false;\n        Observable.of(1, 2, 3)\n            .finally(function () {\n            chai_1.expect(completed).to.be.true;\n            done();\n        })\n            .subscribe(null, null, function () {\n            completed = true;\n        });\n    });\n    it('should call finally after error', function (done) {\n        var thrown = false;\n        Observable.of(1, 2, 3)\n            .map(function (x) {\n            if (x === 3) {\n                throw x;\n            }\n            return x;\n        })\n            .finally(function () {\n            chai_1.expect(thrown).to.be.true;\n            done();\n        })\n            .subscribe(null, function () {\n            thrown = true;\n        });\n    });\n    it('should call finally upon disposal', function (done) {\n        var disposed = false;\n        var subscription = Observable\n            .timer(100)\n            .finally(function () {\n            chai_1.expect(disposed).to.be.true;\n            done();\n        }).subscribe();\n        disposed = true;\n        subscription.unsubscribe();\n    });\n    it('should call finally when synchronously subscribing to and unsubscribing ' +\n        'from a shared Observable', function (done) {\n        Observable.interval(50)\n            .finally(done)\n            .share()\n            .subscribe()\n            .unsubscribe();\n    });\n    it('should call two finally instances in succession on a shared Observable', function (done) {\n        var invoked = 0;\n        function checkFinally() {\n            invoked += 1;\n            if (invoked === 2) {\n                done();\n            }\n        }\n        Observable.of(1, 2, 3)\n            .finally(checkFinally)\n            .finally(checkFinally)\n            .share()\n            .subscribe();\n    });\n    it('should handle empty', function () {\n        var executed = false;\n        var s1 = hot('|');\n        var result = s1.finally(function () { return executed = true; });\n        var expected = '|';\n        expectObservable(result).toBe(expected);\n        // manually flush so `finally()` has chance to execute before the test is over.\n        rxTestScheduler.flush();\n        chai_1.expect(executed).to.be.true;\n    });\n    it('should handle never', function () {\n        var executed = false;\n        var s1 = hot('-');\n        var result = s1.finally(function () { return executed = true; });\n        var expected = '-';\n        expectObservable(result).toBe(expected);\n        // manually flush so `finally()` has chance to execute before the test is over.\n        rxTestScheduler.flush();\n        chai_1.expect(executed).to.be.false;\n    });\n    it('should handle throw', function () {\n        var executed = false;\n        var s1 = hot('#');\n        var result = s1.finally(function () { return executed = true; });\n        var expected = '#';\n        expectObservable(result).toBe(expected);\n        // manually flush so `finally()` has chance to execute before the test is over.\n        rxTestScheduler.flush();\n        chai_1.expect(executed).to.be.true;\n    });\n    it('should handle basic hot observable', function () {\n        var executed = false;\n        var s1 = hot('--a--b--c--|');\n        var subs = '^          !';\n        var expected = '--a--b--c--|';\n        var result = s1.finally(function () { return executed = true; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(s1.subscriptions).toBe(subs);\n        // manually flush so `finally()` has chance to execute before the test is over.\n        rxTestScheduler.flush();\n        chai_1.expect(executed).to.be.true;\n    });\n    it('should handle basic cold observable', function () {\n        var executed = false;\n        var s1 = cold('--a--b--c--|');\n        var subs = '^          !';\n        var expected = '--a--b--c--|';\n        var result = s1.finally(function () { return executed = true; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(s1.subscriptions).toBe(subs);\n        // manually flush so `finally()` has chance to execute before the test is over.\n        rxTestScheduler.flush();\n        chai_1.expect(executed).to.be.true;\n    });\n    it('should handle basic error', function () {\n        var executed = false;\n        var s1 = hot('--a--b--c--#');\n        var subs = '^          !';\n        var expected = '--a--b--c--#';\n        var result = s1.finally(function () { return executed = true; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(s1.subscriptions).toBe(subs);\n        // manually flush so `finally()` has chance to execute before the test is over.\n        rxTestScheduler.flush();\n        chai_1.expect(executed).to.be.true;\n    });\n    it('should handle unsubscription', function () {\n        var executed = false;\n        var s1 = hot('--a--b--c--|');\n        var subs = '^     !     ';\n        var expected = '--a--b-';\n        var unsub = '      !';\n        var result = s1.finally(function () { return executed = true; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(s1.subscriptions).toBe(subs);\n        // manually flush so `finally()` has chance to execute before the test is over.\n        rxTestScheduler.flush();\n        chai_1.expect(executed).to.be.true;\n    });\n});\n//# sourceMappingURL=finally-spec.js.map"
  },
  {
    "__docId__": 2088,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1163",
    "testId": 1163,
    "memberof": "spec-js/operators/finally-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/finally-spec.js~describe1163",
    "access": null,
    "description": "Observable.prototype.finally",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{finally}"
      }
    ],
    "testTargets": [
      "finally"
    ]
  },
  {
    "__docId__": 2089,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1164",
    "testId": 1164,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1164",
    "access": null,
    "description": "should call finally after complete",
    "lineNumber": 7
  },
  {
    "__docId__": 2090,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1165",
    "testId": 1165,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1165",
    "access": null,
    "description": "should call finally after error",
    "lineNumber": 18
  },
  {
    "__docId__": 2091,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1166",
    "testId": 1166,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1166",
    "access": null,
    "description": "should call finally upon disposal",
    "lineNumber": 35
  },
  {
    "__docId__": 2092,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1167",
    "testId": 1167,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1167",
    "access": null,
    "lineNumber": 46
  },
  {
    "__docId__": 2093,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1168",
    "testId": 1168,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1168",
    "access": null,
    "description": "should call two finally instances in succession on a shared Observable",
    "lineNumber": 54
  },
  {
    "__docId__": 2094,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1169",
    "testId": 1169,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1169",
    "access": null,
    "description": "should handle empty",
    "lineNumber": 68
  },
  {
    "__docId__": 2095,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1170",
    "testId": 1170,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1170",
    "access": null,
    "description": "should handle never",
    "lineNumber": 78
  },
  {
    "__docId__": 2096,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1171",
    "testId": 1171,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1171",
    "access": null,
    "description": "should handle throw",
    "lineNumber": 88
  },
  {
    "__docId__": 2097,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1172",
    "testId": 1172,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1172",
    "access": null,
    "description": "should handle basic hot observable",
    "lineNumber": 98
  },
  {
    "__docId__": 2098,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1173",
    "testId": 1173,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1173",
    "access": null,
    "description": "should handle basic cold observable",
    "lineNumber": 110
  },
  {
    "__docId__": 2099,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1174",
    "testId": 1174,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1174",
    "access": null,
    "description": "should handle basic error",
    "lineNumber": 122
  },
  {
    "__docId__": 2100,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1175",
    "testId": 1175,
    "memberof": "spec-js/operators/finally-spec.js~describe1163",
    "testDepth": 1,
    "longname": "spec-js/operators/finally-spec.js~describe1163.it1175",
    "access": null,
    "description": "should handle unsubscription",
    "lineNumber": 134
  },
  {
    "__docId__": 2101,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/find-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/find-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {find} */\ndescribe('Observable.prototype.find', function () {\n    function truePredicate(x) {\n        return true;\n    }\n    asDiagram('find(x => x % 5 === 0)')('should return matching element from source emits single element', function () {\n        var values = { a: 3, b: 9, c: 15, d: 20 };\n        var source = hot('---a--b--c--d---|', values);\n        var subs = '^        !       ';\n        var expected = '---------(c|)    ';\n        var predicate = function (x) { return x % 5 === 0; };\n        expectObservable(source.find(predicate)).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should throw if not provided a function', function () {\n        chai_1.expect(function () {\n            Observable.of('yut', 'yee', 'sam').find('yee');\n        }).to.throw(TypeError, 'predicate is not a function');\n    });\n    it('should not emit if source does not emit', function () {\n        var source = hot('-');\n        var subs = '^';\n        var expected = '-';\n        expectObservable(source.find(truePredicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return undefined if source is empty to match predicate', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '(x|)';\n        var result = source.find(truePredicate);\n        expectObservable(result).toBe(expected, { x: undefined });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return matching element from source emits single element', function () {\n        var source = hot('--a--|');\n        var subs = '^ !';\n        var expected = '--(a|)';\n        var predicate = function (value) {\n            return value === 'a';\n        };\n        expectObservable(source.find(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return matching element from source emits multiple elements', function () {\n        var source = hot('--a--b---c-|');\n        var subs = '^    !';\n        var expected = '-----(b|)';\n        var predicate = function (value) {\n            return value === 'b';\n        };\n        expectObservable(source.find(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should work with a custom thisArg', function () {\n        var source = hot('--a--b---c-|');\n        var subs = '^    !';\n        var expected = '-----(b|)';\n        var finder = {\n            target: 'b'\n        };\n        var predicate = function (value) {\n            return value === this.target;\n        };\n        expectObservable(source.find(predicate, finder)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return undefined if element does not match with predicate', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^          !';\n        var expected = '-----------(x|)';\n        var predicate = function (value) {\n            return value === 'z';\n        };\n        expectObservable(source.find(predicate)).toBe(expected, { x: undefined });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^     !     ';\n        var expected = '-------     ';\n        var unsub = '      !     ';\n        var result = source.find(function (value) { return value === 'z'; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^     !     ';\n        var expected = '-------     ';\n        var unsub = '      !     ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .find(function (value) { return value === 'z'; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should raise if source raise error while element does not match with predicate', function () {\n        var source = hot('--a--b--#');\n        var subs = '^       !';\n        var expected = '--------#';\n        var predicate = function (value) {\n            return value === 'z';\n        };\n        expectObservable(source.find(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should raise error if predicate throws error', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^ !';\n        var expected = '--#';\n        var predicate = function (value) {\n            throw 'error';\n        };\n        expectObservable(source.find(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=find-spec.js.map"
  },
  {
    "__docId__": 2102,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1176",
    "testId": 1176,
    "memberof": "spec-js/operators/find-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/find-spec.js~describe1176",
    "access": null,
    "description": "Observable.prototype.find",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{find}"
      }
    ],
    "testTargets": [
      "find"
    ]
  },
  {
    "__docId__": 2103,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1177",
    "testId": 1177,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1177",
    "access": null,
    "description": "should throw if not provided a function",
    "lineNumber": 19
  },
  {
    "__docId__": 2104,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1178",
    "testId": 1178,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1178",
    "access": null,
    "description": "should not emit if source does not emit",
    "lineNumber": 24
  },
  {
    "__docId__": 2105,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1179",
    "testId": 1179,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1179",
    "access": null,
    "description": "should return undefined if source is empty to match predicate",
    "lineNumber": 31
  },
  {
    "__docId__": 2106,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1180",
    "testId": 1180,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1180",
    "access": null,
    "description": "should return matching element from source emits single element",
    "lineNumber": 39
  },
  {
    "__docId__": 2107,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1181",
    "testId": 1181,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1181",
    "access": null,
    "description": "should return matching element from source emits multiple elements",
    "lineNumber": 49
  },
  {
    "__docId__": 2108,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1182",
    "testId": 1182,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1182",
    "access": null,
    "description": "should work with a custom thisArg",
    "lineNumber": 59
  },
  {
    "__docId__": 2109,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1183",
    "testId": 1183,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1183",
    "access": null,
    "description": "should return undefined if element does not match with predicate",
    "lineNumber": 72
  },
  {
    "__docId__": 2110,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1184",
    "testId": 1184,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1184",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 82
  },
  {
    "__docId__": 2111,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1185",
    "testId": 1185,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1185",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 91
  },
  {
    "__docId__": 2112,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1186",
    "testId": 1186,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1186",
    "access": null,
    "description": "should raise if source raise error while element does not match with predicate",
    "lineNumber": 103
  },
  {
    "__docId__": 2113,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1187",
    "testId": 1187,
    "memberof": "spec-js/operators/find-spec.js~describe1176",
    "testDepth": 1,
    "longname": "spec-js/operators/find-spec.js~describe1176.it1187",
    "access": null,
    "description": "should raise error if predicate throws error",
    "lineNumber": 113
  },
  {
    "__docId__": 2114,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/findIndex-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/findIndex-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {findIndex} */\ndescribe('Observable.prototype.findIndex', function () {\n    function truePredicate(x) {\n        return true;\n    }\n    asDiagram('findIndex(x => x % 5 === 0)')('should return matching element from source emits single element', function () {\n        var values = { a: 3, b: 9, c: 15, d: 20 };\n        var source = hot('---a--b--c--d---|', values);\n        var subs = '^        !       ';\n        var expected = '---------(x|)    ';\n        var predicate = function (x) { return x % 5 === 0; };\n        expectObservable(source.findIndex(predicate)).toBe(expected, { x: 2 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not emit if source does not emit', function () {\n        var source = hot('-');\n        var subs = '^';\n        var expected = '-';\n        expectObservable(source.findIndex(truePredicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return negative index if source is empty to match predicate', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '(x|)';\n        var result = source.findIndex(truePredicate);\n        expectObservable(result).toBe(expected, { x: -1 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return index of element from source emits single element', function () {\n        var sourceValue = 1;\n        var source = hot('--a--|', { a: sourceValue });\n        var subs = '^ !   ';\n        var expected = '--(x|)';\n        var predicate = function (value) {\n            return value === sourceValue;\n        };\n        expectObservable(source.findIndex(predicate)).toBe(expected, { x: 0 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return index of matching element from source emits multiple elements', function () {\n        var source = hot('--a--b---c-|', { b: 7 });\n        var subs = '^    !';\n        var expected = '-----(x|)';\n        var predicate = function (value) {\n            return value === 7;\n        };\n        expectObservable(source.findIndex(predicate)).toBe(expected, { x: 1 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should work with a custom thisArg', function () {\n        var sourceValues = { b: 7 };\n        var source = hot('--a--b---c-|', sourceValues);\n        var subs = '^    !';\n        var expected = '-----(x|)';\n        var predicate = function (value) {\n            return value === this.b;\n        };\n        var result = source.findIndex(predicate, sourceValues);\n        expectObservable(result).toBe(expected, { x: 1 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return negative index if element does not match with predicate', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^          !';\n        var expected = '-----------(x|)';\n        var predicate = function (value) {\n            return value === 'z';\n        };\n        expectObservable(source.findIndex(predicate)).toBe(expected, { x: -1 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^     !     ';\n        var expected = '-------     ';\n        var unsub = '      !     ';\n        var result = source.findIndex(function (value) { return value === 'z'; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^     !     ';\n        var expected = '-------     ';\n        var unsub = '      !     ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .findIndex(function (value) { return value === 'z'; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should raise if source raise error while element does not match with predicate', function () {\n        var source = hot('--a--b--#');\n        var subs = '^       !';\n        var expected = '--------#';\n        var predicate = function (value) {\n            return value === 'z';\n        };\n        expectObservable(source.findIndex(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should raise error if predicate throws error', function () {\n        var source = hot('--a--b--c--|');\n        var subs = '^ !';\n        var expected = '--#';\n        var predicate = function (value) {\n            throw 'error';\n        };\n        expectObservable(source.findIndex(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=findIndex-spec.js.map"
  },
  {
    "__docId__": 2115,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1188",
    "testId": 1188,
    "memberof": "spec-js/operators/findIndex-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188",
    "access": null,
    "description": "Observable.prototype.findIndex",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{findIndex}"
      }
    ],
    "testTargets": [
      "findIndex"
    ]
  },
  {
    "__docId__": 2116,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1189",
    "testId": 1189,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1189",
    "access": null,
    "description": "should not emit if source does not emit",
    "lineNumber": 18
  },
  {
    "__docId__": 2117,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1190",
    "testId": 1190,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1190",
    "access": null,
    "description": "should return negative index if source is empty to match predicate",
    "lineNumber": 25
  },
  {
    "__docId__": 2118,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1191",
    "testId": 1191,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1191",
    "access": null,
    "description": "should return index of element from source emits single element",
    "lineNumber": 33
  },
  {
    "__docId__": 2119,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1192",
    "testId": 1192,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1192",
    "access": null,
    "description": "should return index of matching element from source emits multiple elements",
    "lineNumber": 44
  },
  {
    "__docId__": 2120,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1193",
    "testId": 1193,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1193",
    "access": null,
    "description": "should work with a custom thisArg",
    "lineNumber": 54
  },
  {
    "__docId__": 2121,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1194",
    "testId": 1194,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1194",
    "access": null,
    "description": "should return negative index if element does not match with predicate",
    "lineNumber": 66
  },
  {
    "__docId__": 2122,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1195",
    "testId": 1195,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1195",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 76
  },
  {
    "__docId__": 2123,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1196",
    "testId": 1196,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1196",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 85
  },
  {
    "__docId__": 2124,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1197",
    "testId": 1197,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1197",
    "access": null,
    "description": "should raise if source raise error while element does not match with predicate",
    "lineNumber": 97
  },
  {
    "__docId__": 2125,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1198",
    "testId": 1198,
    "memberof": "spec-js/operators/findIndex-spec.js~describe1188",
    "testDepth": 1,
    "longname": "spec-js/operators/findIndex-spec.js~describe1188.it1198",
    "access": null,
    "description": "should raise error if predicate throws error",
    "lineNumber": 107
  },
  {
    "__docId__": 2126,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/first-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/first-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {first} */\ndescribe('Observable.prototype.first', function () {\n    asDiagram('first')('should take the first value of an observable with many values', function () {\n        var e1 = hot('-----a--b--c---d---|');\n        var expected = '-----(a|)           ';\n        var sub = '^    !              ';\n        expectObservable(e1.first()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should take the first value of an observable with one value', function () {\n        var e1 = hot('---(a|)');\n        var expected = '---(a|)';\n        var sub = '^  !';\n        expectObservable(e1.first()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should error on empty', function () {\n        var e1 = hot('--a--^----|');\n        var expected = '-----#';\n        var sub = '^    !';\n        expectObservable(e1.first()).toBe(expected, null, new Rx.EmptyError());\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should return the default value if source observable was empty', function () {\n        var e1 = hot('-----^----|');\n        var expected = '-----(a|)';\n        var sub = '^    !';\n        expectObservable(e1.first(null, null, 'a')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should only emit one value in recursive cases', function () {\n        var subject = new Rx.Subject();\n        var results = [];\n        subject.first().subscribe(function (x) {\n            results.push(x);\n            subject.next(x + 1);\n        });\n        subject.next(0);\n        chai_1.expect(results).to.deep.equal([0]);\n    });\n    it('should propagate error from the source observable', function () {\n        var e1 = hot('---^---#');\n        var expected = '----#';\n        var sub = '^   !';\n        expectObservable(e1.first()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should go on forever on never', function () {\n        var e1 = hot('--^-------');\n        var expected = '--------';\n        var sub = '^       ';\n        expectObservable(e1.first()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--^-----b----c---d--|');\n        var e1subs = '^  !               ';\n        var expected = '----               ';\n        var unsub = '   !               ';\n        expectObservable(e1.first(), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--^-----b----c---d--|');\n        var e1subs = '^  !               ';\n        var expected = '----               ';\n        var unsub = '   !               ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .first()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return first value that matches a predicate', function () {\n        var e1 = hot('--a-^--b--c--a--c--|');\n        var expected = '------(c|)';\n        var sub = '^     !';\n        var predicate = function (value) {\n            return value === 'c';\n        };\n        expectObservable(e1.first(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should return first value that matches a predicate for odd numbers', function () {\n        var e1 = hot('--a-^--b--c--d--e--|', { a: 1, b: 2, c: 3, d: 4, e: 5 });\n        var expected = '------(c|)';\n        var sub = '^     !';\n        var predicate = function (value) {\n            return value % 2 === 1;\n        };\n        expectObservable(e1.first(predicate)).toBe(expected, { c: 3 });\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should error when no value matches the predicate', function () {\n        var e1 = hot('--a-^--b--c--a--c--|');\n        var expected = '---------------#';\n        var sub = '^              !';\n        var predicate = function (value) {\n            return value === 's';\n        };\n        expectObservable(e1.first(predicate)).toBe(expected, null, new Rx.EmptyError());\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should return the default value when no value matches the predicate', function () {\n        var e1 = hot('--a-^--b--c--a--c--|');\n        var expected = '---------------(d|)';\n        var sub = '^              !';\n        var predicate = function (value) {\n            return value === 's';\n        };\n        expectObservable(e1.first(predicate, null, 'd')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should propagate error when no value matches the predicate', function () {\n        var e1 = hot('--a-^--b--c--a--#');\n        var expected = '------------#';\n        var sub = '^           !';\n        var predicate = function (value) {\n            return value === 's';\n        };\n        expectObservable(e1.first(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should return first value that matches the index in the predicate', function () {\n        var e1 = hot('--a-^--b--c--a--c--|');\n        var expected = '---------(a|)';\n        var sub = '^        !';\n        var predicate = function (value, index) {\n            return index === 2;\n        };\n        expectObservable(e1.first(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should propagate error from predicate', function () {\n        var e1 = hot('--a-^--b--c--d--e--|', { a: 1, b: 2, c: 3, d: 4, e: 5 });\n        var expected = '---------#';\n        var sub = '^        !';\n        var predicate = function (value) {\n            if (value < 4) {\n                return false;\n            }\n            else {\n                throw 'error';\n            }\n        };\n        expectObservable(e1.first(predicate)).toBe(expected, null, 'error');\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should support a result selector argument', function () {\n        var e1 = hot('--a--^---b---c---d---e--|');\n        var expected = '--------(x|)';\n        var sub = '^       !';\n        var predicate = function (x) { return x === 'c'; };\n        var resultSelector = function (x, i) {\n            chai_1.expect(i).to.equal(1);\n            chai_1.expect(x).to.equal('c');\n            return 'x';\n        };\n        expectObservable(e1.first(predicate, resultSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should raise error when result selector throws', function () {\n        var e1 = hot('--a--^---b---c---d---e--|');\n        var expected = '--------#';\n        var sub = '^       !';\n        var predicate = function (x) { return x === 'c'; };\n        var resultSelector = function (x, i) {\n            throw 'error';\n        };\n        expectObservable(e1.first(predicate, resultSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n});\n//# sourceMappingURL=first-spec.js.map"
  },
  {
    "__docId__": 2127,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1199",
    "testId": 1199,
    "memberof": "spec-js/operators/first-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/first-spec.js~describe1199",
    "access": null,
    "description": "Observable.prototype.first",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{first}"
      }
    ],
    "testTargets": [
      "first"
    ]
  },
  {
    "__docId__": 2128,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1200",
    "testId": 1200,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1200",
    "access": null,
    "description": "should take the first value of an observable with one value",
    "lineNumber": 14
  },
  {
    "__docId__": 2129,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1201",
    "testId": 1201,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1201",
    "access": null,
    "description": "should error on empty",
    "lineNumber": 21
  },
  {
    "__docId__": 2130,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1202",
    "testId": 1202,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1202",
    "access": null,
    "description": "should return the default value if source observable was empty",
    "lineNumber": 28
  },
  {
    "__docId__": 2131,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1203",
    "testId": 1203,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1203",
    "access": null,
    "description": "should only emit one value in recursive cases",
    "lineNumber": 35
  },
  {
    "__docId__": 2132,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1204",
    "testId": 1204,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1204",
    "access": null,
    "description": "should propagate error from the source observable",
    "lineNumber": 45
  },
  {
    "__docId__": 2133,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1205",
    "testId": 1205,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1205",
    "access": null,
    "description": "should go on forever on never",
    "lineNumber": 52
  },
  {
    "__docId__": 2134,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1206",
    "testId": 1206,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1206",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 59
  },
  {
    "__docId__": 2135,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1207",
    "testId": 1207,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1207",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 67
  },
  {
    "__docId__": 2136,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1208",
    "testId": 1208,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1208",
    "access": null,
    "description": "should return first value that matches a predicate",
    "lineNumber": 79
  },
  {
    "__docId__": 2137,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1209",
    "testId": 1209,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1209",
    "access": null,
    "description": "should return first value that matches a predicate for odd numbers",
    "lineNumber": 89
  },
  {
    "__docId__": 2138,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1210",
    "testId": 1210,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1210",
    "access": null,
    "description": "should error when no value matches the predicate",
    "lineNumber": 99
  },
  {
    "__docId__": 2139,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1211",
    "testId": 1211,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1211",
    "access": null,
    "description": "should return the default value when no value matches the predicate",
    "lineNumber": 109
  },
  {
    "__docId__": 2140,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1212",
    "testId": 1212,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1212",
    "access": null,
    "description": "should propagate error when no value matches the predicate",
    "lineNumber": 119
  },
  {
    "__docId__": 2141,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1213",
    "testId": 1213,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1213",
    "access": null,
    "description": "should return first value that matches the index in the predicate",
    "lineNumber": 129
  },
  {
    "__docId__": 2142,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1214",
    "testId": 1214,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1214",
    "access": null,
    "description": "should propagate error from predicate",
    "lineNumber": 139
  },
  {
    "__docId__": 2143,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1215",
    "testId": 1215,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1215",
    "access": null,
    "description": "should support a result selector argument",
    "lineNumber": 154
  },
  {
    "__docId__": 2144,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1216",
    "testId": 1216,
    "memberof": "spec-js/operators/first-spec.js~describe1199",
    "testDepth": 1,
    "longname": "spec-js/operators/first-spec.js~describe1199.it1216",
    "access": null,
    "description": "should raise error when result selector throws",
    "lineNumber": 167
  },
  {
    "__docId__": 2145,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/groupBy-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/groupBy-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar groupBy_1 = require('../../dist/cjs/operator/groupBy');\nvar Observable = Rx.Observable;\nvar ReplaySubject = Rx.ReplaySubject;\n/** @test {groupBy} */\ndescribe('Observable.prototype.groupBy', function () {\n    asDiagram('groupBy(i => i % 2)')('should group numbers by odd/even', function () {\n        var e1 = hot('--1---2---3---4---5---|');\n        var expected = '--x---y---------------|';\n        var x = cold('1-------3-------5---|');\n        var y = cold('2-------4-------|');\n        var expectedValues = { x: x, y: y };\n        var source = e1\n            .groupBy(function (val) { return parseInt(val) % 2; });\n        expectObservable(source).toBe(expected, expectedValues);\n    });\n    function reverseString(str) {\n        return str.split('').reverse().join('');\n    }\n    function mapObject(obj, fn) {\n        var out = {};\n        for (var p in obj) {\n            if (obj.hasOwnProperty(p)) {\n                out[p] = fn(obj[p]);\n            }\n        }\n        return out;\n    }\n    it('should group values', function (done) {\n        var expectedGroups = [\n            { key: 1, values: [1, 3] },\n            { key: 0, values: [2] }\n        ];\n        Observable.of(1, 2, 3)\n            .groupBy(function (x) { return x % 2; })\n            .subscribe(function (g) {\n            var expectedGroup = expectedGroups.shift();\n            chai_1.expect(g.key).to.equal(expectedGroup.key);\n            g.subscribe(function (x) {\n                chai_1.expect(x).to.deep.equal(expectedGroup.values.shift());\n            });\n        }, null, done);\n    });\n    it('should group values with an element selector', function (done) {\n        var expectedGroups = [\n            { key: 1, values: ['1!', '3!'] },\n            { key: 0, values: ['2!'] }\n        ];\n        Observable.of(1, 2, 3)\n            .groupBy(function (x) { return x % 2; }, function (x) { return x + '!'; })\n            .subscribe(function (g) {\n            var expectedGroup = expectedGroups.shift();\n            chai_1.expect(g.key).to.equal(expectedGroup.key);\n            g.subscribe(function (x) {\n                chai_1.expect(x).to.deep.equal(expectedGroup.values.shift());\n            });\n        }, null, done);\n    });\n    it('should group values with a duration selector', function () {\n        var expectedGroups = [\n            { key: 1, values: [1, 3] },\n            { key: 0, values: [2, 4] },\n            { key: 1, values: [5] },\n            { key: 0, values: [6] }\n        ];\n        var resultingGroups = [];\n        Observable.of(1, 2, 3, 4, 5, 6)\n            .groupBy(function (x) { return x % 2; }, function (x) { return x; }, function (g) { return g.skip(1); })\n            .subscribe(function (g) {\n            var group = { key: g.key, values: [] };\n            g.subscribe(function (x) {\n                group.values.push(x);\n            });\n            resultingGroups.push(group);\n        });\n        chai_1.expect(resultingGroups).to.deep.equal(expectedGroups);\n    });\n    it('should group values with a subject selector', function (done) {\n        var expectedGroups = [\n            { key: 1, values: [3] },\n            { key: 0, values: [2] }\n        ];\n        Observable.of(1, 2, 3)\n            .groupBy(function (x) { return x % 2; }, null, null, function () { return new ReplaySubject(1); })\n            .delay(5)\n            .subscribe(function (g) {\n            var expectedGroup = expectedGroups.shift();\n            chai_1.expect(g.key).to.equal(expectedGroup.key);\n            g.subscribe(function (x) {\n                chai_1.expect(x).to.deep.equal(expectedGroup.values.shift());\n            });\n        }, null, done);\n    });\n    it('should handle an empty Observable', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a never Observable', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a just-throw Observable', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an Observable with a single value', function () {\n        var values = { a: '  foo' };\n        var e1 = hot('^--a--|', values);\n        var e1subs = '^     !';\n        var expected = '---g--|';\n        var g = cold('a--|', values);\n        var expectedValues = { g: g };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should group values with a keySelector', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^                         !';\n        var expected = '--w---x---y-z-------------|';\n        var w = cold('a-b---d---------i-----l-|', values);\n        var x = cold('c-------g-h---------|', values);\n        var y = cold('e---------j-k---|', values);\n        var z = cold('f-------------|', values);\n        var expectedValues = { w: w, x: x, y: y, z: z };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit GroupObservables', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO '\n        };\n        var e1 = hot('-1--2--^-a-b----|', values);\n        var e1subs = '^        !';\n        var expected = '--g------|';\n        var expectedValues = { g: 'foo' };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); })\n            .do(function (group) {\n            chai_1.expect(group.key).to.equal('foo');\n            chai_1.expect(group instanceof groupBy_1.GroupedObservable).to.be.true;\n        })\n            .map(function (group) { return group.key; });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should group values with a keySelector, assert GroupSubject key', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^                         !';\n        var expected = '--w---x---y-z-------------|';\n        var expectedValues = { w: 'foo', x: 'bar', y: 'baz', z: 'qux' };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); })\n            .map(function (g) { return g.key; });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should group values with a keySelector, but outer throws', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-#', values);\n        var e1subs = '^                         !';\n        var expected = '--w---x---y-z-------------#';\n        var expectedValues = { w: 'foo', x: 'bar', y: 'baz', z: 'qux' };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); })\n            .map(function (g) { return g.key; });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should group values with a keySelector, inners propagate error from outer', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-#', values);\n        var e1subs = '^                         !';\n        var expected = '--w---x---y-z-------------#';\n        var w = cold('a-b---d---------i-----l-#', values);\n        var x = cold('c-------g-h---------#', values);\n        var y = cold('e---------j-k---#', values);\n        var z = cold('f-------------#', values);\n        var expectedValues = { w: w, x: x, y: y, z: z };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow outer to be unsubscribed early', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var unsub = '           !';\n        var e1subs = '^          !';\n        var expected = '--w---x---y-';\n        var expectedValues = { w: 'foo', x: 'bar', y: 'baz' };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); })\n            .map(function (group) { return group.key; });\n        expectObservable(source, unsub).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^          !';\n        var expected = '--w---x---y-';\n        var unsub = '           !';\n        var expectedValues = { w: 'foo', x: 'bar', y: 'baz' };\n        var source = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .groupBy(function (x) { return x.toLowerCase().trim(); })\n            .mergeMap(function (group) { return Observable.of(group.key); });\n        expectObservable(source, unsub).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should group values with a keySelector which eventually throws', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^                   !';\n        var expected = '--w---x---y-z-------#';\n        var w = cold('a-b---d---------i-#', values);\n        var x = cold('c-------g-h---#', values);\n        var y = cold('e---------#', values);\n        var z = cold('f-------#', values);\n        var expectedValues = { w: w, x: x, y: y, z: z };\n        var invoked = 0;\n        var source = e1\n            .groupBy(function (val) {\n            invoked++;\n            if (invoked === 10) {\n                throw 'error';\n            }\n            return val.toLowerCase().trim();\n        });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should group values with a keySelector and elementSelector, ' +\n        'but elementSelector throws', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var reversedValues = mapObject(values, reverseString);\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^                   !';\n        var expected = '--w---x---y-z-------#';\n        var w = cold('a-b---d---------i-#', reversedValues);\n        var x = cold('c-------g-h---#', reversedValues);\n        var y = cold('e---------#', reversedValues);\n        var z = cold('f-------#', reversedValues);\n        var expectedValues = { w: w, x: x, y: y, z: z };\n        var invoked = 0;\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) {\n            invoked++;\n            if (invoked === 10) {\n                throw 'error';\n            }\n            return reverseString(val);\n        });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow the outer to be unsubscribed early but inners continue', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var unsub = '         !';\n        var expected = '--w---x---';\n        var w = cold('a-b---d---------i-----l-|', values);\n        var x = cold('c-------g-h---------|', values);\n        var expectedValues = { w: w, x: x };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); });\n        expectObservable(source, unsub).toBe(expected, expectedValues);\n    });\n    it('should allow an inner to be unsubscribed early but other inners continue', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var expected = '--w---x---y-z-------------|';\n        var w = '--a-b---d-';\n        var unsubw = '         !';\n        var x = '------c-------g-h---------|';\n        var y = '----------e---------j-k---|';\n        var z = '------------f-------------|';\n        var expectedGroups = {\n            w: Rx.TestScheduler.parseMarbles(w, values),\n            x: Rx.TestScheduler.parseMarbles(x, values),\n            y: Rx.TestScheduler.parseMarbles(y, values),\n            z: Rx.TestScheduler.parseMarbles(z, values)\n        };\n        var fooUnsubscriptionFrame = Rx.TestScheduler\n            .parseMarblesAsSubscriptions(unsubw)\n            .unsubscribedFrame;\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); })\n            .map(function (group) {\n            var arr = [];\n            var subscription = group\n                .materialize()\n                .map(function (notification) {\n                return { frame: rxTestScheduler.frame, notification: notification };\n            }).subscribe(function (value) {\n                arr.push(value);\n            });\n            if (group.key === 'foo') {\n                rxTestScheduler.schedule(function () {\n                    subscription.unsubscribe();\n                }, fooUnsubscriptionFrame - rxTestScheduler.frame);\n            }\n            return arr;\n        });\n        expectObservable(source).toBe(expected, expectedGroups);\n    });\n    it('should allow inners to be unsubscribed early at different times', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var expected = '--w---x---y-z-------------|';\n        var w = '--a-b---d-';\n        var unsubw = '         !';\n        var x = '------c------';\n        var unsubx = '            !';\n        var y = '----------e------';\n        var unsuby = '                !';\n        var z = '------------f-------';\n        var unsubz = '                   !';\n        var expectedGroups = {\n            w: Rx.TestScheduler.parseMarbles(w, values),\n            x: Rx.TestScheduler.parseMarbles(x, values),\n            y: Rx.TestScheduler.parseMarbles(y, values),\n            z: Rx.TestScheduler.parseMarbles(z, values)\n        };\n        var unsubscriptionFrames = {\n            foo: Rx.TestScheduler.parseMarblesAsSubscriptions(unsubw).unsubscribedFrame,\n            bar: Rx.TestScheduler.parseMarblesAsSubscriptions(unsubx).unsubscribedFrame,\n            baz: Rx.TestScheduler.parseMarblesAsSubscriptions(unsuby).unsubscribedFrame,\n            qux: Rx.TestScheduler.parseMarblesAsSubscriptions(unsubz).unsubscribedFrame\n        };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); })\n            .map(function (group) {\n            var arr = [];\n            var subscription = group\n                .materialize()\n                .map(function (notification) {\n                return { frame: rxTestScheduler.frame, notification: notification };\n            }).subscribe(function (value) {\n                arr.push(value);\n            });\n            rxTestScheduler.schedule(function () {\n                subscription.unsubscribe();\n            }, unsubscriptionFrames[group.key] - rxTestScheduler.frame);\n            return arr;\n        });\n        expectObservable(source).toBe(expected, expectedGroups);\n    });\n    it('should allow subscribing late to an inner Observable, outer completes', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            d: 'foO ',\n            i: 'FOO ',\n            l: '    fOo    '\n        };\n        var e1 = hot('--a-b---d---------i-----l-|', values);\n        var subs = '^                         !';\n        var expected = '----------------------------|';\n        e1.groupBy(function (val) { return val.toLowerCase().trim(); })\n            .subscribe(function (group) {\n            rxTestScheduler.schedule(function () {\n                expectObservable(group).toBe(expected);\n            }, 260);\n        });\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should allow subscribing late to an inner Observable, outer throws', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            d: 'foO ',\n            i: 'FOO ',\n            l: '    fOo    '\n        };\n        var e1 = hot('--a-b---d---------i-----l-#', values);\n        var subs = '^                         !';\n        var expected = '----------------------------#';\n        e1.groupBy(function (val) { return val.toLowerCase().trim(); })\n            .subscribe(function (group) {\n            rxTestScheduler.schedule(function () {\n                expectObservable(group).toBe(expected);\n            }, 260);\n        }, function () {\n            //noop\n        });\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should allow subscribing late to inner, unsubscribe outer early', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            d: 'foO ',\n            i: 'FOO ',\n            l: '    fOo    '\n        };\n        var e1 = hot('--a-b---d---------i-----l-#', values);\n        var unsub = '            !';\n        var e1subs = '^           !';\n        var expectedOuter = '--w----------';\n        var expectedInner = '-------------';\n        var outerValues = { w: 'foo' };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); })\n            .do(function (group) {\n            rxTestScheduler.schedule(function () {\n                expectObservable(group).toBe(expectedInner);\n            }, 260);\n        })\n            .map(function (group) { return group.key; });\n        expectObservable(source, unsub).toBe(expectedOuter, outerValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow using a keySelector, elementSelector, and durationSelector', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var reversedValues = mapObject(values, reverseString);\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^                         !';\n        var expected = '--v---w---x-y-----z-------|';\n        var v = cold('a-b---(d|)', reversedValues);\n        var w = cold('c-------g-(h|)', reversedValues);\n        var x = cold('e---------j-(k|)', reversedValues);\n        var y = cold('f-------------|', reversedValues);\n        var z = cold('i-----l-|', reversedValues);\n        var expectedValues = { v: v, w: w, x: x, y: y, z: z };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return reverseString(val); }, function (group) { return group.skip(2); });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow using a keySelector, elementSelector, and durationSelector that throws', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var reversedValues = mapObject(values, reverseString);\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var expected = '--v---w---x-y-----z-------|';\n        var v = cold('a-b---(d#)', reversedValues);\n        var w = cold('c-------g-(h#)', reversedValues);\n        var x = cold('e---------j-(k#)', reversedValues);\n        var y = cold('f-------------|', reversedValues);\n        var z = cold('i-----l-|', reversedValues);\n        var expectedValues = { v: v, w: w, x: x, y: y, z: z };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return reverseString(val); }, function (group) { return group.skip(2).map(function () { throw 'error'; }); });\n        expectObservable(source).toBe(expected, expectedValues);\n    });\n    it('should allow using a keySelector and a durationSelector, outer throws', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-#', values);\n        var e1subs = '^                         !';\n        var expected = '--v---w---x-y-----z-------#';\n        var v = cold('a-b---(d|)', values);\n        var w = cold('c-------g-(h|)', values);\n        var x = cold('e---------j-(k|)', values);\n        var y = cold('f-------------#', values);\n        var z = cold('i-----l-#', values);\n        var expectedValues = { v: v, w: w, x: x, y: y, z: z };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return val; }, function (group) { return group.skip(2); });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow using a durationSelector, and outer unsubscribed early', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var unsub = '           !';\n        var expected = '--v---w---x-';\n        var v = cold('a-b---(d|)', values);\n        var w = cold('c-------g-(h|)', values);\n        var x = cold('e---------j-(k|)', values);\n        var expectedValues = { v: v, w: w, x: x };\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return val; }, function (group) { return group.skip(2); });\n        expectObservable(source, unsub).toBe(expected, expectedValues);\n    });\n    it('should allow using a durationSelector, outer and all inners unsubscribed early', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var unsub = '           !';\n        var expected = '--v---w---x-';\n        var v = '--a-b---(d|)';\n        var w = '------c-----';\n        var x = '----------e-';\n        var expectedGroups = {\n            v: Rx.TestScheduler.parseMarbles(v, values),\n            w: Rx.TestScheduler.parseMarbles(w, values),\n            x: Rx.TestScheduler.parseMarbles(x, values)\n        };\n        var unsubscriptionFrame = Rx.TestScheduler\n            .parseMarblesAsSubscriptions(unsub)\n            .unsubscribedFrame;\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return val; }, function (group) { return group.skip(2); })\n            .map(function (group) {\n            var arr = [];\n            var subscription = group\n                .materialize()\n                .map(function (notification) {\n                return { frame: rxTestScheduler.frame, notification: notification };\n            })\n                .subscribe(function (value) {\n                arr.push(value);\n            });\n            rxTestScheduler.schedule(function () {\n                subscription.unsubscribe();\n            }, unsubscriptionFrame - rxTestScheduler.frame);\n            return arr;\n        });\n        expectObservable(source, unsub).toBe(expected, expectedGroups);\n    });\n    it('should allow using a durationSelector, but keySelector throws', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^                   !';\n        var expected = '--v---w---x-y-----z-#';\n        var v = cold('a-b---(d|)', values);\n        var w = cold('c-------g-(h|)', values);\n        var x = cold('e---------#', values);\n        var y = cold('f-------#', values);\n        var z = cold('i-#', values);\n        var expectedValues = { v: v, w: w, x: x, y: y, z: z };\n        var invoked = 0;\n        var source = e1\n            .groupBy(function (val) {\n            invoked++;\n            if (invoked === 10) {\n                throw 'error';\n            }\n            return val.toLowerCase().trim();\n        }, function (val) { return val; }, function (group) { return group.skip(2); });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow using a durationSelector, but elementSelector throws', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^                   !      ';\n        var expected = '--v---w---x-y-----z-#      ';\n        var v = cold('a-b---(d|)               ', values);\n        var w = cold('c-------g-(h|)       ', values);\n        var x = cold('e---------#      ', values);\n        var y = cold('f-------#      ', values);\n        var z = cold('i-#      ', values);\n        var expectedValues = { v: v, w: w, x: x, y: y, z: z };\n        var invoked = 0;\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) {\n            invoked++;\n            if (invoked === 10) {\n                throw 'error';\n            }\n            return val;\n        }, function (group) { return group.skip(2); });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow using a durationSelector which eventually throws', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^           !              ';\n        var expected = '--v---w---x-(y#)              ';\n        var v = cold('a-b---(d|)               ', values);\n        var w = cold('c-----#              ', values);\n        var x = cold('e-#              ', values);\n        var y = cold('#              ', values);\n        var expectedValues = { v: v, w: w, x: x, y: y };\n        var invoked = 0;\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return val; }, function (group) {\n            invoked++;\n            if (invoked === 4) {\n                throw 'error';\n            }\n            return group.skip(2);\n        });\n        expectObservable(source).toBe(expected, expectedValues);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow an inner to be unsubscribed early but other inners continue, ' +\n        'with durationSelector', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var reversedValues = mapObject(values, reverseString);\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^                         !';\n        var expected = '--v---w---x-y-----z-------|';\n        var v = '--a-b---';\n        var unsubv = '       !';\n        var w = '------c-------g-(h|)';\n        var x = '----------e---------j-(k|)';\n        var y = '------------f-------------|';\n        var z = '------------------i-----l-|';\n        var expectedGroups = {\n            v: Rx.TestScheduler.parseMarbles(v, reversedValues),\n            w: Rx.TestScheduler.parseMarbles(w, reversedValues),\n            x: Rx.TestScheduler.parseMarbles(x, reversedValues),\n            y: Rx.TestScheduler.parseMarbles(y, reversedValues),\n            z: Rx.TestScheduler.parseMarbles(z, reversedValues)\n        };\n        var fooUnsubscriptionFrame = Rx.TestScheduler\n            .parseMarblesAsSubscriptions(unsubv)\n            .unsubscribedFrame;\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return reverseString(val); }, function (group) { return group.skip(2); })\n            .map(function (group, index) {\n            var arr = [];\n            var subscription = group\n                .materialize()\n                .map(function (notification) {\n                return { frame: rxTestScheduler.frame, notification: notification };\n            })\n                .subscribe(function (value) {\n                arr.push(value);\n            });\n            if (group.key === 'foo' && index === 0) {\n                rxTestScheduler.schedule(function () {\n                    subscription.unsubscribe();\n                }, fooUnsubscriptionFrame - rxTestScheduler.frame);\n            }\n            return arr;\n        });\n        expectObservable(source).toBe(expected, expectedGroups);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow inners to be unsubscribed early at different times, with durationSelector', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|', values);\n        var e1subs = '^                         !';\n        var expected = '--v---w---x-y-----z-------|';\n        var v = '--a-b---';\n        var unsubv = '       !';\n        var w = '------c---';\n        var unsubw = '         !';\n        var x = '----------e---------j-';\n        var unsubx = '                     !';\n        var y = '------------f----';\n        var unsuby = '                !';\n        var z = '------------------i----';\n        var unsubz = '                      !';\n        var expectedGroups = {\n            v: Rx.TestScheduler.parseMarbles(v, values),\n            w: Rx.TestScheduler.parseMarbles(w, values),\n            x: Rx.TestScheduler.parseMarbles(x, values),\n            y: Rx.TestScheduler.parseMarbles(y, values),\n            z: Rx.TestScheduler.parseMarbles(z, values)\n        };\n        var unsubscriptionFrames = {\n            foo: Rx.TestScheduler.parseMarblesAsSubscriptions(unsubv).unsubscribedFrame,\n            bar: Rx.TestScheduler.parseMarblesAsSubscriptions(unsubw).unsubscribedFrame,\n            baz: Rx.TestScheduler.parseMarblesAsSubscriptions(unsubx).unsubscribedFrame,\n            qux: Rx.TestScheduler.parseMarblesAsSubscriptions(unsuby).unsubscribedFrame,\n            foo2: Rx.TestScheduler.parseMarblesAsSubscriptions(unsubz).unsubscribedFrame\n        };\n        var hasUnsubscribed = {};\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return val; }, function (group) { return group.skip(2); })\n            .map(function (group) {\n            var arr = [];\n            var subscription = group\n                .materialize()\n                .map(function (notification) {\n                return { frame: rxTestScheduler.frame, notification: notification };\n            })\n                .subscribe(function (value) {\n                arr.push(value);\n            });\n            var unsubscriptionFrame = hasUnsubscribed[group.key] ?\n                unsubscriptionFrames[group.key + '2'] :\n                unsubscriptionFrames[group.key];\n            rxTestScheduler.schedule(function () {\n                subscription.unsubscribe();\n                hasUnsubscribed[group.key] = true;\n            }, unsubscriptionFrame - rxTestScheduler.frame);\n            return arr;\n        });\n        expectObservable(source).toBe(expected, expectedGroups);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return inners that when subscribed late exhibit hot behavior', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            c: 'baR  ',\n            d: 'foO ',\n            e: ' Baz   ',\n            f: '  qux ',\n            g: '   bar',\n            h: ' BAR  ',\n            i: 'FOO ',\n            j: 'baz  ',\n            k: ' bAZ ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b-c-d-e-f-g-h-i-j-k-l-|    ', values);\n        var e1subs = '^                         !    ';\n        var expected = '--v---w---x-y-------------|    ';\n        var subv = '   ^                           '; // foo\n        var v = '  --b---d---------i-----l-|    '; // foo\n        var subw = '         ^                     '; // bar\n        var w = '      --------g-h---------|    '; // bar\n        var subx = '                   ^           '; // baz\n        var x = '          ----------j-k---|    '; // baz\n        var suby = '                              ^'; // qux\n        var y = '            ------------------|'; // qux\n        var expectedGroups = {\n            v: Rx.TestScheduler.parseMarbles(v, values),\n            w: Rx.TestScheduler.parseMarbles(w, values),\n            x: Rx.TestScheduler.parseMarbles(x, values),\n            y: Rx.TestScheduler.parseMarbles(y, values),\n        };\n        var subscriptionFrames = {\n            foo: Rx.TestScheduler.parseMarblesAsSubscriptions(subv).subscribedFrame,\n            bar: Rx.TestScheduler.parseMarblesAsSubscriptions(subw).subscribedFrame,\n            baz: Rx.TestScheduler.parseMarblesAsSubscriptions(subx).subscribedFrame,\n            qux: Rx.TestScheduler.parseMarblesAsSubscriptions(suby).subscribedFrame,\n        };\n        var result = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return val; }).map(function (group) {\n            var innerNotifications = [];\n            var subscriptionFrame = subscriptionFrames[group.key];\n            rxTestScheduler.schedule(function () {\n                group\n                    .materialize()\n                    .map(function (notification) {\n                    return { frame: rxTestScheduler.frame, notification: notification };\n                })\n                    .subscribe(function (value) {\n                    innerNotifications.push(value);\n                });\n            }, subscriptionFrame - rxTestScheduler.frame);\n            return innerNotifications;\n        });\n        expectObservable(result).toBe(expected, expectedGroups);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return inner group that when subscribed late emits complete()', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            d: 'foO ',\n            i: 'FOO ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b---d---------i-----l-|', values);\n        var e1subs = '^                         !';\n        var expected = '--g-----------------------|';\n        var innerSub = '                                ^';\n        var g = '--------------------------------|';\n        var expectedGroups = {\n            g: Rx.TestScheduler.parseMarbles(g, values)\n        };\n        var innerSubscriptionFrame = Rx.TestScheduler\n            .parseMarblesAsSubscriptions(innerSub)\n            .subscribedFrame;\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return val; }, function (group) { return group.skip(7); })\n            .map(function (group) {\n            var arr = [];\n            rxTestScheduler.schedule(function () {\n                group\n                    .materialize()\n                    .map(function (notification) {\n                    return { frame: rxTestScheduler.frame, notification: notification };\n                })\n                    .subscribe(function (value) {\n                    arr.push(value);\n                });\n            }, innerSubscriptionFrame - rxTestScheduler.frame);\n            return arr;\n        });\n        expectObservable(source).toBe(expected, expectedGroups);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return inner group that when subscribed late emits error()', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            d: 'foO ',\n            i: 'FOO ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b---d---------i-----l-#', values);\n        var e1subs = '^                         !';\n        var expected = '--g-----------------------#';\n        var innerSub = '                                ^';\n        var g = '--------------------------------#';\n        var expectedGroups = {\n            g: Rx.TestScheduler.parseMarbles(g, values)\n        };\n        var innerSubscriptionFrame = Rx.TestScheduler\n            .parseMarblesAsSubscriptions(innerSub)\n            .subscribedFrame;\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return val; }, function (group) { return group.skip(7); })\n            .map(function (group) {\n            var arr = [];\n            rxTestScheduler.schedule(function () {\n                group\n                    .materialize()\n                    .map(function (notification) {\n                    return { frame: rxTestScheduler.frame, notification: notification };\n                })\n                    .subscribe(function (value) {\n                    arr.push(value);\n                });\n            }, innerSubscriptionFrame - rxTestScheduler.frame);\n            return arr;\n        });\n        expectObservable(source).toBe(expected, expectedGroups);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return inner that does not throw when faulty outer is unsubscribed early', function () {\n        var values = {\n            a: '  foo',\n            b: ' FoO ',\n            d: 'foO ',\n            i: 'FOO ',\n            l: '    fOo    '\n        };\n        var e1 = hot('-1--2--^-a-b---d---------i-----l-#', values);\n        var unsub = '      !';\n        var expectedSubs = '^     !';\n        var expected = '--g----';\n        var innerSub = '                                ^';\n        var g = '-';\n        var expectedGroups = {\n            g: Rx.TestScheduler.parseMarbles(g, values)\n        };\n        var innerSubscriptionFrame = Rx.TestScheduler\n            .parseMarblesAsSubscriptions(innerSub)\n            .subscribedFrame;\n        var source = e1\n            .groupBy(function (val) { return val.toLowerCase().trim(); }, function (val) { return val; }, function (group) { return group.skip(7); })\n            .map(function (group) {\n            var arr = [];\n            rxTestScheduler.schedule(function () {\n                group\n                    .materialize()\n                    .map(function (notification) {\n                    return { frame: rxTestScheduler.frame, notification: notification };\n                })\n                    .subscribe(function (value) {\n                    arr.push(value);\n                });\n            }, innerSubscriptionFrame - rxTestScheduler.frame);\n            return arr;\n        });\n        expectObservable(source, unsub).toBe(expected, expectedGroups);\n        expectSubscriptions(e1.subscriptions).toBe(expectedSubs);\n    });\n    it('should not break lift() composability', function (done) {\n        var MyCustomObservable = (function (_super) {\n            __extends(MyCustomObservable, _super);\n            function MyCustomObservable() {\n                _super.apply(this, arguments);\n            }\n            MyCustomObservable.prototype.lift = function (operator) {\n                var observable = new MyCustomObservable();\n                observable.source = this;\n                observable.operator = operator;\n                return observable;\n            };\n            return MyCustomObservable;\n        }(Rx.Observable));\n        var result = new MyCustomObservable(function (observer) {\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.complete();\n        }).groupBy(function (x) { return x % 2; }, function (x) { return x + '!'; });\n        chai_1.expect(result instanceof MyCustomObservable).to.be.true;\n        var expectedGroups = [\n            { key: 1, values: ['1!', '3!'] },\n            { key: 0, values: ['2!'] }\n        ];\n        result\n            .subscribe(function (g) {\n            var expectedGroup = expectedGroups.shift();\n            chai_1.expect(g.key).to.equal(expectedGroup.key);\n            g.subscribe(function (x) {\n                chai_1.expect(x).to.deep.equal(expectedGroup.values.shift());\n            });\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n});\n//# sourceMappingURL=groupBy-spec.js.map"
  },
  {
    "__docId__": 2146,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1217",
    "testId": 1217,
    "memberof": "spec-js/operators/groupBy-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217",
    "access": null,
    "description": "Observable.prototype.groupBy",
    "lineNumber": 13,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{groupBy}"
      }
    ],
    "testTargets": [
      "groupBy"
    ]
  },
  {
    "__docId__": 2147,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1218",
    "testId": 1218,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1218",
    "access": null,
    "description": "should group values",
    "lineNumber": 36
  },
  {
    "__docId__": 2148,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1219",
    "testId": 1219,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1219",
    "access": null,
    "description": "should group values with an element selector",
    "lineNumber": 51
  },
  {
    "__docId__": 2149,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1220",
    "testId": 1220,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1220",
    "access": null,
    "description": "should group values with a duration selector",
    "lineNumber": 66
  },
  {
    "__docId__": 2150,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1221",
    "testId": 1221,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1221",
    "access": null,
    "description": "should group values with a subject selector",
    "lineNumber": 85
  },
  {
    "__docId__": 2151,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1222",
    "testId": 1222,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1222",
    "access": null,
    "description": "should handle an empty Observable",
    "lineNumber": 101
  },
  {
    "__docId__": 2152,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1223",
    "testId": 1223,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1223",
    "access": null,
    "description": "should handle a never Observable",
    "lineNumber": 110
  },
  {
    "__docId__": 2153,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1224",
    "testId": 1224,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1224",
    "access": null,
    "description": "should handle a just-throw Observable",
    "lineNumber": 119
  },
  {
    "__docId__": 2154,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1225",
    "testId": 1225,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1225",
    "access": null,
    "description": "should handle an Observable with a single value",
    "lineNumber": 128
  },
  {
    "__docId__": 2155,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1226",
    "testId": 1226,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1226",
    "access": null,
    "description": "should group values with a keySelector",
    "lineNumber": 140
  },
  {
    "__docId__": 2156,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1227",
    "testId": 1227,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1227",
    "access": null,
    "description": "should emit GroupObservables",
    "lineNumber": 168
  },
  {
    "__docId__": 2157,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1228",
    "testId": 1228,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1228",
    "access": null,
    "description": "should group values with a keySelector, assert GroupSubject key",
    "lineNumber": 187
  },
  {
    "__docId__": 2158,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1229",
    "testId": 1229,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1229",
    "access": null,
    "description": "should group values with a keySelector, but outer throws",
    "lineNumber": 212
  },
  {
    "__docId__": 2159,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1230",
    "testId": 1230,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1230",
    "access": null,
    "description": "should group values with a keySelector, inners propagate error from outer",
    "lineNumber": 237
  },
  {
    "__docId__": 2160,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1231",
    "testId": 1231,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1231",
    "access": null,
    "description": "should allow outer to be unsubscribed early",
    "lineNumber": 265
  },
  {
    "__docId__": 2161,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1232",
    "testId": 1232,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1232",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 291
  },
  {
    "__docId__": 2162,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1233",
    "testId": 1233,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1233",
    "access": null,
    "description": "should group values with a keySelector which eventually throws",
    "lineNumber": 318
  },
  {
    "__docId__": 2163,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1234",
    "testId": 1234,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1234",
    "access": null,
    "lineNumber": 353
  },
  {
    "__docId__": 2164,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1235",
    "testId": 1235,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1235",
    "access": null,
    "description": "should allow the outer to be unsubscribed early but inners continue",
    "lineNumber": 390
  },
  {
    "__docId__": 2165,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1236",
    "testId": 1236,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1236",
    "access": null,
    "description": "should allow an inner to be unsubscribed early but other inners continue",
    "lineNumber": 415
  },
  {
    "__docId__": 2166,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1237",
    "testId": 1237,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1237",
    "access": null,
    "description": "should allow inners to be unsubscribed early at different times",
    "lineNumber": 466
  },
  {
    "__docId__": 2167,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1238",
    "testId": 1238,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1238",
    "access": null,
    "description": "should allow subscribing late to an inner Observable, outer completes",
    "lineNumber": 521
  },
  {
    "__docId__": 2168,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1239",
    "testId": 1239,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1239",
    "access": null,
    "description": "should allow subscribing late to an inner Observable, outer throws",
    "lineNumber": 540
  },
  {
    "__docId__": 2169,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1240",
    "testId": 1240,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1240",
    "access": null,
    "description": "should allow subscribing late to inner, unsubscribe outer early",
    "lineNumber": 561
  },
  {
    "__docId__": 2170,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1241",
    "testId": 1241,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1241",
    "access": null,
    "description": "should allow using a keySelector, elementSelector, and durationSelector",
    "lineNumber": 586
  },
  {
    "__docId__": 2171,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1242",
    "testId": 1242,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1242",
    "access": null,
    "description": "should allow using a keySelector, elementSelector, and durationSelector that throws",
    "lineNumber": 616
  },
  {
    "__docId__": 2172,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1243",
    "testId": 1243,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1243",
    "access": null,
    "description": "should allow using a keySelector and a durationSelector, outer throws",
    "lineNumber": 644
  },
  {
    "__docId__": 2173,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1244",
    "testId": 1244,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1244",
    "access": null,
    "description": "should allow using a durationSelector, and outer unsubscribed early",
    "lineNumber": 673
  },
  {
    "__docId__": 2174,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1245",
    "testId": 1245,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1245",
    "access": null,
    "description": "should allow using a durationSelector, outer and all inners unsubscribed early",
    "lineNumber": 699
  },
  {
    "__docId__": 2175,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1246",
    "testId": 1246,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1246",
    "access": null,
    "description": "should allow using a durationSelector, but keySelector throws",
    "lineNumber": 747
  },
  {
    "__docId__": 2176,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1247",
    "testId": 1247,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1247",
    "access": null,
    "description": "should allow using a durationSelector, but elementSelector throws",
    "lineNumber": 783
  },
  {
    "__docId__": 2177,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1248",
    "testId": 1248,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1248",
    "access": null,
    "description": "should allow using a durationSelector which eventually throws",
    "lineNumber": 819
  },
  {
    "__docId__": 2178,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1249",
    "testId": 1249,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1249",
    "access": null,
    "lineNumber": 854
  },
  {
    "__docId__": 2179,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1250",
    "testId": 1250,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1250",
    "access": null,
    "description": "should allow inners to be unsubscribed early at different times, with durationSelector",
    "lineNumber": 912
  },
  {
    "__docId__": 2180,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1251",
    "testId": 1251,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1251",
    "access": null,
    "description": "should return inners that when subscribed late exhibit hot behavior",
    "lineNumber": 979
  },
  {
    "__docId__": 2181,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1252",
    "testId": 1252,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1252",
    "access": null,
    "description": "should return inner group that when subscribed late emits complete()",
    "lineNumber": 1036
  },
  {
    "__docId__": 2182,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1253",
    "testId": 1253,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1253",
    "access": null,
    "description": "should return inner group that when subscribed late emits error()",
    "lineNumber": 1074
  },
  {
    "__docId__": 2183,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1254",
    "testId": 1254,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1254",
    "access": null,
    "description": "should return inner that does not throw when faulty outer is unsubscribed early",
    "lineNumber": 1112
  },
  {
    "__docId__": 2184,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1255",
    "testId": 1255,
    "memberof": "spec-js/operators/groupBy-spec.js~describe1217",
    "testDepth": 1,
    "longname": "spec-js/operators/groupBy-spec.js~describe1217.it1255",
    "access": null,
    "description": "should not break lift() composability",
    "lineNumber": 1151
  },
  {
    "__docId__": 2185,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/ignoreElements-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/ignoreElements-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {ignoreElements} */\ndescribe('Observable.prototype.ignoreElements', function () {\n    asDiagram('ignoreElements')('should ignore all the elements of the source', function () {\n        var source = hot('--a--b--c--d--|');\n        var subs = '^             !';\n        var expected = '--------------|';\n        expectObservable(source.ignoreElements()).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var source = hot('--a--b--c--d--|');\n        var subs = '^      !       ';\n        var expected = '--------       ';\n        var unsub = '       !       ';\n        var result = source.ignoreElements();\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var source = hot('--a--b--c--d--|');\n        var subs = '^      !       ';\n        var expected = '--------       ';\n        var unsub = '       !       ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .ignoreElements()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should propagate errors from the source', function () {\n        var source = hot('--a--#');\n        var subs = '^    !';\n        var expected = '-----#';\n        expectObservable(source.ignoreElements()).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should support Observable.empty', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '|';\n        expectObservable(source.ignoreElements()).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should support Observable.never', function () {\n        var source = cold('-');\n        var subs = '^';\n        var expected = '-';\n        expectObservable(source.ignoreElements()).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should support Observable.throw', function () {\n        var source = cold('#');\n        var subs = '(^!)';\n        var expected = '#';\n        expectObservable(source.ignoreElements()).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=ignoreElements-spec.js.map"
  },
  {
    "__docId__": 2186,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1256",
    "testId": 1256,
    "memberof": "spec-js/operators/ignoreElements-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/ignoreElements-spec.js~describe1256",
    "access": null,
    "description": "Observable.prototype.ignoreElements",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{ignoreElements}"
      }
    ],
    "testTargets": [
      "ignoreElements"
    ]
  },
  {
    "__docId__": 2187,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1257",
    "testId": 1257,
    "memberof": "spec-js/operators/ignoreElements-spec.js~describe1256",
    "testDepth": 1,
    "longname": "spec-js/operators/ignoreElements-spec.js~describe1256.it1257",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 13
  },
  {
    "__docId__": 2188,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1258",
    "testId": 1258,
    "memberof": "spec-js/operators/ignoreElements-spec.js~describe1256",
    "testDepth": 1,
    "longname": "spec-js/operators/ignoreElements-spec.js~describe1256.it1258",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 22
  },
  {
    "__docId__": 2189,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1259",
    "testId": 1259,
    "memberof": "spec-js/operators/ignoreElements-spec.js~describe1256",
    "testDepth": 1,
    "longname": "spec-js/operators/ignoreElements-spec.js~describe1256.it1259",
    "access": null,
    "description": "should propagate errors from the source",
    "lineNumber": 34
  },
  {
    "__docId__": 2190,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1260",
    "testId": 1260,
    "memberof": "spec-js/operators/ignoreElements-spec.js~describe1256",
    "testDepth": 1,
    "longname": "spec-js/operators/ignoreElements-spec.js~describe1256.it1260",
    "access": null,
    "description": "should support Observable.empty",
    "lineNumber": 41
  },
  {
    "__docId__": 2191,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1261",
    "testId": 1261,
    "memberof": "spec-js/operators/ignoreElements-spec.js~describe1256",
    "testDepth": 1,
    "longname": "spec-js/operators/ignoreElements-spec.js~describe1256.it1261",
    "access": null,
    "description": "should support Observable.never",
    "lineNumber": 48
  },
  {
    "__docId__": 2192,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1262",
    "testId": 1262,
    "memberof": "spec-js/operators/ignoreElements-spec.js~describe1256",
    "testDepth": 1,
    "longname": "spec-js/operators/ignoreElements-spec.js~describe1256.it1262",
    "access": null,
    "description": "should support Observable.throw",
    "lineNumber": 55
  },
  {
    "__docId__": 2193,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/isEmpty-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/isEmpty-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\n/** @test {isEmpty} */\ndescribe('Observable.prototype.isEmpty', function () {\n    asDiagram('isEmpty')('should return true if source is empty', function () {\n        var source = hot('-----|');\n        var subs = '^    !';\n        var expected = '-----(T|)';\n        expectObservable(source.isEmpty()).toBe(expected, { T: true });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return false if source emits element', function () {\n        var source = hot('--a--^--b--|');\n        var subs = '^  !';\n        var expected = '---(F|)';\n        expectObservable(source.isEmpty()).toBe(expected, { F: false });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should raise error if source raise error', function () {\n        var source = hot('--#');\n        var subs = '^ !';\n        var expected = '--#';\n        expectObservable(source.isEmpty()).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not completes if source never emits', function () {\n        var source = cold('-');\n        var subs = '^';\n        var expected = '-';\n        expectObservable(source.isEmpty()).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return true if source is Observable.empty()', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '(T|)';\n        expectObservable(source.isEmpty()).toBe(expected, { T: true });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var source = cold('-----------a--b--|');\n        var unsub = '      !           ';\n        var subs = '^     !           ';\n        var expected = '-------           ';\n        expectObservable(source.isEmpty(), unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = cold('-----------a--b--|');\n        var subs = '^     !           ';\n        var expected = '-------           ';\n        var unsub = '      !           ';\n        var result = source\n            .mergeMap(function (x) { return Rx.Observable.of(x); })\n            .isEmpty()\n            .mergeMap(function (x) { return Rx.Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=isEmpty-spec.js.map"
  },
  {
    "__docId__": 2194,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1263",
    "testId": 1263,
    "memberof": "spec-js/operators/isEmpty-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/isEmpty-spec.js~describe1263",
    "access": null,
    "description": "Observable.prototype.isEmpty",
    "lineNumber": 4,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{isEmpty}"
      }
    ],
    "testTargets": [
      "isEmpty"
    ]
  },
  {
    "__docId__": 2195,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1264",
    "testId": 1264,
    "memberof": "spec-js/operators/isEmpty-spec.js~describe1263",
    "testDepth": 1,
    "longname": "spec-js/operators/isEmpty-spec.js~describe1263.it1264",
    "access": null,
    "description": "should return false if source emits element",
    "lineNumber": 12
  },
  {
    "__docId__": 2196,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1265",
    "testId": 1265,
    "memberof": "spec-js/operators/isEmpty-spec.js~describe1263",
    "testDepth": 1,
    "longname": "spec-js/operators/isEmpty-spec.js~describe1263.it1265",
    "access": null,
    "description": "should raise error if source raise error",
    "lineNumber": 19
  },
  {
    "__docId__": 2197,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1266",
    "testId": 1266,
    "memberof": "spec-js/operators/isEmpty-spec.js~describe1263",
    "testDepth": 1,
    "longname": "spec-js/operators/isEmpty-spec.js~describe1263.it1266",
    "access": null,
    "description": "should not completes if source never emits",
    "lineNumber": 26
  },
  {
    "__docId__": 2198,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1267",
    "testId": 1267,
    "memberof": "spec-js/operators/isEmpty-spec.js~describe1263",
    "testDepth": 1,
    "longname": "spec-js/operators/isEmpty-spec.js~describe1263.it1267",
    "access": null,
    "description": "should return true if source is Observable.empty()",
    "lineNumber": 33
  },
  {
    "__docId__": 2199,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1268",
    "testId": 1268,
    "memberof": "spec-js/operators/isEmpty-spec.js~describe1263",
    "testDepth": 1,
    "longname": "spec-js/operators/isEmpty-spec.js~describe1263.it1268",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 40
  },
  {
    "__docId__": 2200,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1269",
    "testId": 1269,
    "memberof": "spec-js/operators/isEmpty-spec.js~describe1263",
    "testDepth": 1,
    "longname": "spec-js/operators/isEmpty-spec.js~describe1263.it1269",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 48
  },
  {
    "__docId__": 2201,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/last-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/last-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\n/** @test {last} */\ndescribe('Observable.prototype.last', function () {\n    asDiagram('last')('should take the last value of an observable', function () {\n        var e1 = hot('--a----b--c--|');\n        var e1subs = '^            !';\n        var expected = '-------------(c|)';\n        expectObservable(e1.last()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should error on nothing sent but completed', function () {\n        var e1 = hot('--a--^----|');\n        var e1subs = '^    !';\n        var expected = '-----#';\n        expectObservable(e1.last()).toBe(expected, null, new Rx.EmptyError());\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should error on empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.last()).toBe(expected, null, new Rx.EmptyError());\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should go on forever on never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.last()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return last element matches with predicate', function () {\n        var e1 = hot('--a--b--a--b--|');\n        var e1subs = '^             !';\n        var expected = '--------------(b|)';\n        var predicate = function (value) {\n            return value === 'b';\n        };\n        expectObservable(e1.last(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--b--c--d--|');\n        var unsub = '       !       ';\n        var e1subs = '^      !       ';\n        var expected = '--------       ';\n        expectObservable(e1.last(), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--c--d--|');\n        var e1subs = '^      !       ';\n        var expected = '--------       ';\n        var unsub = '       !       ';\n        var result = e1\n            .mergeMap(function (x) { return Rx.Observable.of(x); })\n            .last()\n            .mergeMap(function (x) { return Rx.Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return a default value if no element found', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '(a|)';\n        expectObservable(e1.last(null, null, 'a')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not return default value if an element is found', function () {\n        var e1 = hot('--a---^---b---c---d---|');\n        var e1subs = '^               !';\n        var expected = '----------------(d|)';\n        expectObservable(e1.last(null, null, 'x')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should support a result selector argument', function () {\n        var e1 = hot('--a--^---b---c---d---e--|');\n        var e1subs = '^                  !';\n        var expected = '-------------------(x|)';\n        var predicate = function (x) { return x === 'c'; };\n        var resultSelector = function (x, i) {\n            chai_1.expect(i).to.equal(1);\n            chai_1.expect(x).to.equal('c');\n            return 'x';\n        };\n        expectObservable(e1.last(predicate, resultSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when predicate throws', function () {\n        var e1 = hot('--a--^---b---c---d---e--|');\n        var e1subs = '^       !           ';\n        var expected = '--------#           ';\n        var predicate = function (x) {\n            if (x === 'c') {\n                throw 'error';\n            }\n            else {\n                return false;\n            }\n        };\n        expectObservable(e1.last(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when result selector throws', function () {\n        var e1 = hot('--a--^---b---c---d---e--|');\n        var e1subs = '^       !           ';\n        var expected = '--------#           ';\n        var predicate = function (x) { return x === 'c'; };\n        var resultSelector = function (x, i) {\n            throw 'error';\n        };\n        expectObservable(e1.last(predicate, resultSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=last-spec.js.map"
  },
  {
    "__docId__": 2202,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1270",
    "testId": 1270,
    "memberof": "spec-js/operators/last-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/last-spec.js~describe1270",
    "access": null,
    "description": "Observable.prototype.last",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{last}"
      }
    ],
    "testTargets": [
      "last"
    ]
  },
  {
    "__docId__": 2203,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1271",
    "testId": 1271,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1271",
    "access": null,
    "description": "should error on nothing sent but completed",
    "lineNumber": 13
  },
  {
    "__docId__": 2204,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1272",
    "testId": 1272,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1272",
    "access": null,
    "description": "should error on empty",
    "lineNumber": 20
  },
  {
    "__docId__": 2205,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1273",
    "testId": 1273,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1273",
    "access": null,
    "description": "should go on forever on never",
    "lineNumber": 27
  },
  {
    "__docId__": 2206,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1274",
    "testId": 1274,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1274",
    "access": null,
    "description": "should return last element matches with predicate",
    "lineNumber": 34
  },
  {
    "__docId__": 2207,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1275",
    "testId": 1275,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1275",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 44
  },
  {
    "__docId__": 2208,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1276",
    "testId": 1276,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1276",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 52
  },
  {
    "__docId__": 2209,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1277",
    "testId": 1277,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1277",
    "access": null,
    "description": "should return a default value if no element found",
    "lineNumber": 64
  },
  {
    "__docId__": 2210,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1278",
    "testId": 1278,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1278",
    "access": null,
    "description": "should not return default value if an element is found",
    "lineNumber": 71
  },
  {
    "__docId__": 2211,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1279",
    "testId": 1279,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1279",
    "access": null,
    "description": "should support a result selector argument",
    "lineNumber": 78
  },
  {
    "__docId__": 2212,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1280",
    "testId": 1280,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1280",
    "access": null,
    "description": "should raise error when predicate throws",
    "lineNumber": 91
  },
  {
    "__docId__": 2213,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1281",
    "testId": 1281,
    "memberof": "spec-js/operators/last-spec.js~describe1270",
    "testDepth": 1,
    "longname": "spec-js/operators/last-spec.js~describe1270.it1281",
    "access": null,
    "description": "should raise error when result selector throws",
    "lineNumber": 106
  },
  {
    "__docId__": 2214,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/let-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/let-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\n/** @test {let} */\ndescribe('Observable.prototype.let', function () {\n    it('should be able to compose with let', function (done) {\n        var expected = ['aa', 'bb'];\n        var i = 0;\n        var foo = function (observable) { return observable.map(function (x) { return x + x; }); };\n        Rx.Observable\n            .from(['a', 'b'])\n            .let(foo)\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n});\n//# sourceMappingURL=let-spec.js.map"
  },
  {
    "__docId__": 2215,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1282",
    "testId": 1282,
    "memberof": "spec-js/operators/let-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/let-spec.js~describe1282",
    "access": null,
    "description": "Observable.prototype.let",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{let}"
      }
    ],
    "testTargets": [
      "let"
    ]
  },
  {
    "__docId__": 2216,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1283",
    "testId": 1283,
    "memberof": "spec-js/operators/let-spec.js~describe1282",
    "testDepth": 1,
    "longname": "spec-js/operators/let-spec.js~describe1282.it1283",
    "access": null,
    "description": "should be able to compose with let",
    "lineNumber": 6
  },
  {
    "__docId__": 2217,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/map-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/map-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n// function shortcuts\nvar addDrama = function (x) { return x + '!'; };\nvar identity = function (x) { return x; };\nvar throwError = function () { throw new Error(); };\n/** @test {map} */\ndescribe('Observable.prototype.map', function () {\n    asDiagram('map(x => 10 * x)')('should map multiple values', function () {\n        var a = cold('--1--2--3--|');\n        var asubs = '^          !';\n        var expected = '--x--y--z--|';\n        var r = a.map(function (x) { return 10 * x; });\n        expectObservable(r).toBe(expected, { x: 10, y: 20, z: 30 });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should map one value', function () {\n        var a = cold('--x--|', { x: 42 });\n        var asubs = '^    !';\n        var expected = '--y--|';\n        var r = a.map(addDrama);\n        expectObservable(r).toBe(expected, { y: '42!' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should throw an error if not passed a function', function () {\n        chai_1.expect(function () {\n            Observable.of(1, 2, 3).map('potato');\n        }).to.throw(TypeError, 'argument is not a function. Are you looking for `mapTo()`?');\n    });\n    it('should map multiple values', function () {\n        var a = cold('--1--2--3--|');\n        var asubs = '^          !';\n        var expected = '--x--y--z--|';\n        var r = a.map(addDrama);\n        expectObservable(r).toBe(expected, { x: '1!', y: '2!', z: '3!' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should propagate errors from map function', function () {\n        var a = cold('--x--|', { x: 42 });\n        var asubs = '^ !   ';\n        var expected = '--#   ';\n        var r = a.map(function (x) {\n            throw 'too bad';\n        });\n        expectObservable(r).toBe(expected, null, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should propagate errors from observable that emits only errors', function () {\n        var a = cold('#');\n        var asubs = '(^!)';\n        var expected = '#';\n        var r = a.map(identity);\n        expectObservable(r).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should propagate errors from observable that emit values', function () {\n        var a = cold('--a--b--#', { a: 1, b: 2 }, 'too bad');\n        var asubs = '^       !';\n        var expected = '--x--y--#';\n        var r = a.map(addDrama);\n        expectObservable(r).toBe(expected, { x: '1!', y: '2!' }, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should propagate errors from subscribe', function () {\n        var r = function () {\n            Observable.of(1)\n                .map(identity)\n                .subscribe(throwError);\n        };\n        chai_1.expect(r).to.throw();\n    });\n    it('should not map an empty observable', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var expected = '|';\n        var invoked = 0;\n        var r = a\n            .map(function (x) { invoked++; return x; })\n            .do(null, null, function () {\n            chai_1.expect(invoked).to.equal(0);\n        });\n        expectObservable(r).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var a = cold('--1--2--3--|');\n        var unsub = '      !     ';\n        var asubs = '^     !     ';\n        var expected = '--x--y-     ';\n        var r = a.map(addDrama);\n        expectObservable(r, unsub).toBe(expected, { x: '1!', y: '2!' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should map with index', function () {\n        var a = hot('-5-^-4--3---2----1--|');\n        var asubs = '^                !';\n        var expected = '--a--b---c----d--|';\n        var values = { a: 5, b: 14, c: 23, d: 32 };\n        var invoked = 0;\n        var r = a.map(function (x, index) {\n            invoked++;\n            return (parseInt(x) + 1) + (index * 10);\n        }).do(null, null, function () {\n            chai_1.expect(invoked).to.equal(4);\n        });\n        expectObservable(r).toBe(expected, values);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should map with index until completed', function () {\n        var a = hot('-5-^-4--3---2----1--|');\n        var asubs = '^                !';\n        var expected = '--a--b---c----d--|';\n        var values = { a: 5, b: 14, c: 23, d: 32 };\n        var invoked = 0;\n        var r = a.map(function (x, index) {\n            invoked++;\n            return (parseInt(x) + 1) + (index * 10);\n        }).do(null, null, function () {\n            chai_1.expect(invoked).to.equal(4);\n        });\n        expectObservable(r).toBe(expected, values);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should map with index until an error occurs', function () {\n        var a = hot('-5-^-4--3---2----1--#', undefined, 'too bad');\n        var asubs = '^                !';\n        var expected = '--a--b---c----d--#';\n        var values = { a: 5, b: 14, c: 23, d: 32 };\n        var invoked = 0;\n        var r = a.map(function (x, index) {\n            invoked++;\n            return (parseInt(x) + 1) + (index * 10);\n        }).do(null, null, function () {\n            chai_1.expect(invoked).to.equal(4);\n        });\n        expectObservable(r).toBe(expected, values, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should map using a custom thisArg', function () {\n        var a = hot('-5-^-4--3---2----1--|');\n        var asubs = '^                !';\n        var expected = '--a--b---c----d--|';\n        var values = { a: 5, b: 14, c: 23, d: 32 };\n        var invoked = 0;\n        var foo = {\n            value: 42\n        };\n        var r = a\n            .map(function (x, index) {\n            invoked++;\n            chai_1.expect(this).to.equal(foo);\n            return (parseInt(x) + 1) + (index * 10);\n        }, foo)\n            .do(null, null, function () {\n            chai_1.expect(invoked).to.equal(4);\n        });\n        expectObservable(r).toBe(expected, values);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should map twice', function () {\n        var a = hot('-0----1-^-2---3--4-5--6--7-8-|');\n        var asubs = '^                    !';\n        var expected = '--a---b--c-d--e--f-g-|';\n        var values = { a: 2, b: 3, c: 4, d: 5, e: 6, f: 7, g: 8 };\n        var invoked1 = 0;\n        var invoked2 = 0;\n        var r = a\n            .map(function (x) { invoked1++; return parseInt(x) * 2; })\n            .map(function (x) { invoked2++; return x / 2; })\n            .do(null, null, function () {\n            chai_1.expect(invoked1).to.equal(7);\n            chai_1.expect(invoked2).to.equal(7);\n        });\n        expectObservable(r).toBe(expected, values);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should do multiple maps using a custom thisArg', function () {\n        var a = hot('--1--2--3--4--|');\n        var asubs = '^             !';\n        var expected = '--a--b--c--d--|';\n        var values = { a: 11, b: 14, c: 17, d: 20 };\n        function Filterer() {\n            this.selector1 = function (x) { return parseInt(x) + 2; };\n            this.selector2 = function (x) { return parseInt(x) * 3; };\n        }\n        var filterer = new Filterer();\n        var r = a\n            .map(function (x) { return this.selector1(x); }, filterer)\n            .map(function (x) { return this.selector2(x); }, filterer)\n            .map(function (x) { return this.selector1(x); }, filterer);\n        expectObservable(r).toBe(expected, values);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var a = cold('--1--2--3--|');\n        var unsub = '      !     ';\n        var asubs = '^     !     ';\n        var expected = '--x--y-     ';\n        var r = a\n            .mergeMap(function (x) { return Observable.of(x); })\n            .map(addDrama)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(r, unsub).toBe(expected, { x: '1!', y: '2!' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n});\n//# sourceMappingURL=map-spec.js.map"
  },
  {
    "__docId__": 2218,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1284",
    "testId": 1284,
    "memberof": "spec-js/operators/map-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/map-spec.js~describe1284",
    "access": null,
    "description": "Observable.prototype.map",
    "lineNumber": 10,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{map}"
      }
    ],
    "testTargets": [
      "map"
    ]
  },
  {
    "__docId__": 2219,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1285",
    "testId": 1285,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1285",
    "access": null,
    "description": "should map one value",
    "lineNumber": 19
  },
  {
    "__docId__": 2220,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1286",
    "testId": 1286,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1286",
    "access": null,
    "description": "should throw an error if not passed a function",
    "lineNumber": 27
  },
  {
    "__docId__": 2221,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1287",
    "testId": 1287,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1287",
    "access": null,
    "description": "should map multiple values",
    "lineNumber": 32
  },
  {
    "__docId__": 2222,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1288",
    "testId": 1288,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1288",
    "access": null,
    "description": "should propagate errors from map function",
    "lineNumber": 40
  },
  {
    "__docId__": 2223,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1289",
    "testId": 1289,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1289",
    "access": null,
    "description": "should propagate errors from observable that emits only errors",
    "lineNumber": 50
  },
  {
    "__docId__": 2224,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1290",
    "testId": 1290,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1290",
    "access": null,
    "description": "should propagate errors from observable that emit values",
    "lineNumber": 58
  },
  {
    "__docId__": 2225,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1291",
    "testId": 1291,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1291",
    "access": null,
    "description": "should propagate errors from subscribe",
    "lineNumber": 66
  },
  {
    "__docId__": 2226,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1292",
    "testId": 1292,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1292",
    "access": null,
    "description": "should not map an empty observable",
    "lineNumber": 74
  },
  {
    "__docId__": 2227,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1293",
    "testId": 1293,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1293",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 87
  },
  {
    "__docId__": 2228,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1294",
    "testId": 1294,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1294",
    "access": null,
    "description": "should map with index",
    "lineNumber": 96
  },
  {
    "__docId__": 2229,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1295",
    "testId": 1295,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1295",
    "access": null,
    "description": "should map with index until completed",
    "lineNumber": 111
  },
  {
    "__docId__": 2230,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1296",
    "testId": 1296,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1296",
    "access": null,
    "description": "should map with index until an error occurs",
    "lineNumber": 126
  },
  {
    "__docId__": 2231,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1297",
    "testId": 1297,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1297",
    "access": null,
    "description": "should map using a custom thisArg",
    "lineNumber": 141
  },
  {
    "__docId__": 2232,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1298",
    "testId": 1298,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1298",
    "access": null,
    "description": "should map twice",
    "lineNumber": 162
  },
  {
    "__docId__": 2233,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1299",
    "testId": 1299,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1299",
    "access": null,
    "description": "should do multiple maps using a custom thisArg",
    "lineNumber": 179
  },
  {
    "__docId__": 2234,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1300",
    "testId": 1300,
    "memberof": "spec-js/operators/map-spec.js~describe1284",
    "testDepth": 1,
    "longname": "spec-js/operators/map-spec.js~describe1284.it1300",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 196
  },
  {
    "__docId__": 2235,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/mapTo-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/mapTo-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n// function shortcuts\nvar throwError = function () { throw new Error(); };\n/** @test {mapTo} */\ndescribe('Observable.prototype.mapTo', function () {\n    asDiagram('mapTo(\\'a\\')')('should map multiple values', function () {\n        var a = cold('--1--2--3--|');\n        var asubs = '^          !';\n        var expected = '--a--a--a--|';\n        expectObservable(a.mapTo('a')).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should map one value', function () {\n        var a = cold('--7--|');\n        var asubs = '^    !';\n        var expected = '--y--|';\n        expectObservable(a.mapTo('y')).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var a = cold('--1--2--3--|');\n        var unsub = '      !     ';\n        var asubs = '^     !     ';\n        var expected = '--x--x-     ';\n        expectObservable(a.mapTo('x'), unsub).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should propagate errors from observable that emits only errors', function () {\n        var a = cold('--#', null, 'too bad');\n        var asubs = '^ !';\n        var expected = '--#';\n        expectObservable(a.mapTo(1)).toBe(expected, null, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should propagate errors from observable that emit values', function () {\n        var a = cold('--1--2--#', undefined, 'too bad');\n        var asubs = '^       !';\n        var expected = '--x--x--#';\n        expectObservable(a.mapTo('x')).toBe(expected, undefined, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should propagate errors from subscribe', function () {\n        var r = function () {\n            Observable.of(1)\n                .mapTo(-1)\n                .subscribe(throwError);\n        };\n        chai_1.expect(r).to.throw();\n    });\n    it('should not map an empty observable', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var expected = '|';\n        expectObservable(a.mapTo(-1)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should map twice', function () {\n        var a = hot('-0----1-^-2---3--4-5--6--7-8-|');\n        var asubs = '^                    !';\n        var expected = '--h---h--h-h--h--h-h-|';\n        var r = a.mapTo(-1).mapTo('h');\n        expectObservable(r).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var a = cold('--1--2--3--|');\n        var unsub = '      !     ';\n        var asubs = '^     !     ';\n        var expected = '--x--x-     ';\n        var r = a\n            .mergeMap(function (x) { return Observable.of(x); })\n            .mapTo('x')\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(r, unsub).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n});\n//# sourceMappingURL=mapTo-spec.js.map"
  },
  {
    "__docId__": 2236,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1301",
    "testId": 1301,
    "memberof": "spec-js/operators/mapTo-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/mapTo-spec.js~describe1301",
    "access": null,
    "description": "Observable.prototype.mapTo",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{mapTo}"
      }
    ],
    "testTargets": [
      "mapTo"
    ]
  },
  {
    "__docId__": 2237,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1302",
    "testId": 1302,
    "memberof": "spec-js/operators/mapTo-spec.js~describe1301",
    "testDepth": 1,
    "longname": "spec-js/operators/mapTo-spec.js~describe1301.it1302",
    "access": null,
    "description": "should map one value",
    "lineNumber": 16
  },
  {
    "__docId__": 2238,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1303",
    "testId": 1303,
    "memberof": "spec-js/operators/mapTo-spec.js~describe1301",
    "testDepth": 1,
    "longname": "spec-js/operators/mapTo-spec.js~describe1301.it1303",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 23
  },
  {
    "__docId__": 2239,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1304",
    "testId": 1304,
    "memberof": "spec-js/operators/mapTo-spec.js~describe1301",
    "testDepth": 1,
    "longname": "spec-js/operators/mapTo-spec.js~describe1301.it1304",
    "access": null,
    "description": "should propagate errors from observable that emits only errors",
    "lineNumber": 31
  },
  {
    "__docId__": 2240,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1305",
    "testId": 1305,
    "memberof": "spec-js/operators/mapTo-spec.js~describe1301",
    "testDepth": 1,
    "longname": "spec-js/operators/mapTo-spec.js~describe1301.it1305",
    "access": null,
    "description": "should propagate errors from observable that emit values",
    "lineNumber": 38
  },
  {
    "__docId__": 2241,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1306",
    "testId": 1306,
    "memberof": "spec-js/operators/mapTo-spec.js~describe1301",
    "testDepth": 1,
    "longname": "spec-js/operators/mapTo-spec.js~describe1301.it1306",
    "access": null,
    "description": "should propagate errors from subscribe",
    "lineNumber": 45
  },
  {
    "__docId__": 2242,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1307",
    "testId": 1307,
    "memberof": "spec-js/operators/mapTo-spec.js~describe1301",
    "testDepth": 1,
    "longname": "spec-js/operators/mapTo-spec.js~describe1301.it1307",
    "access": null,
    "description": "should not map an empty observable",
    "lineNumber": 53
  },
  {
    "__docId__": 2243,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1308",
    "testId": 1308,
    "memberof": "spec-js/operators/mapTo-spec.js~describe1301",
    "testDepth": 1,
    "longname": "spec-js/operators/mapTo-spec.js~describe1301.it1308",
    "access": null,
    "description": "should map twice",
    "lineNumber": 60
  },
  {
    "__docId__": 2244,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1309",
    "testId": 1309,
    "memberof": "spec-js/operators/mapTo-spec.js~describe1301",
    "testDepth": 1,
    "longname": "spec-js/operators/mapTo-spec.js~describe1301.it1309",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 68
  },
  {
    "__docId__": 2245,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/materialize-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/materialize-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar Notification = Rx.Notification;\n/** @test {materialize} */\ndescribe('Observable.prototype.materialize', function () {\n    asDiagram('materialize')('should materialize an Observable', function () {\n        var e1 = hot('--x--y--z--|');\n        var expected = '--a--b--c--(d|)';\n        var values = { a: '{x}', b: '{y}', c: '{z}', d: '|' };\n        var result = e1\n            .materialize()\n            .map(function (x) {\n            if (x.kind === 'C') {\n                return '|';\n            }\n            else {\n                return '{' + x.value + '}';\n            }\n        });\n        expectObservable(result).toBe(expected, values);\n    });\n    it('should materialize a happy stream', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^          !';\n        var expected = '--w--x--y--(z|)';\n        var expectedValue = {\n            w: Notification.createNext('a'),\n            x: Notification.createNext('b'),\n            y: Notification.createNext('c'),\n            z: Notification.createComplete()\n        };\n        expectObservable(e1.materialize()).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should materialize a sad stream', function () {\n        var e1 = hot('--a--b--c--#');\n        var e1subs = '^          !';\n        var expected = '--w--x--y--(z|)';\n        var expectedValue = {\n            w: Notification.createNext('a'),\n            x: Notification.createNext('b'),\n            y: Notification.createNext('c'),\n            z: Notification.createError('error')\n        };\n        expectObservable(e1.materialize()).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--b--c--|');\n        var unsub = '      !     ';\n        var e1subs = '^     !     ';\n        var expected = '--w--x-     ';\n        var expectedValue = {\n            w: Notification.createNext('a'),\n            x: Notification.createNext('b')\n        };\n        expectObservable(e1.materialize(), unsub).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^     !     ';\n        var expected = '--w--x-     ';\n        var unsub = '      !     ';\n        var expectedValue = {\n            w: Notification.createNext('a'),\n            x: Notification.createNext('b')\n        };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .materialize()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should materialize stream does not completes', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.materialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should materialize stream never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.materialize()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should materialize stream does not emit', function () {\n        var e1 = hot('----|');\n        var e1subs = '^   !';\n        var expected = '----(x|)';\n        expectObservable(e1.materialize()).toBe(expected, { x: Notification.createComplete() });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should materialize empty stream', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '(x|)';\n        expectObservable(e1.materialize()).toBe(expected, { x: Notification.createComplete() });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should materialize stream throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '(x|)';\n        expectObservable(e1.materialize()).toBe(expected, { x: Notification.createError('error') });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=materialize-spec.js.map"
  },
  {
    "__docId__": 2246,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1310",
    "testId": 1310,
    "memberof": "spec-js/operators/materialize-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/materialize-spec.js~describe1310",
    "access": null,
    "description": "Observable.prototype.materialize",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{materialize}"
      }
    ],
    "testTargets": [
      "materialize"
    ]
  },
  {
    "__docId__": 2247,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1311",
    "testId": 1311,
    "memberof": "spec-js/operators/materialize-spec.js~describe1310",
    "testDepth": 1,
    "longname": "spec-js/operators/materialize-spec.js~describe1310.it1311",
    "access": null,
    "description": "should materialize a happy stream",
    "lineNumber": 23
  },
  {
    "__docId__": 2248,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1312",
    "testId": 1312,
    "memberof": "spec-js/operators/materialize-spec.js~describe1310",
    "testDepth": 1,
    "longname": "spec-js/operators/materialize-spec.js~describe1310.it1312",
    "access": null,
    "description": "should materialize a sad stream",
    "lineNumber": 36
  },
  {
    "__docId__": 2249,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1313",
    "testId": 1313,
    "memberof": "spec-js/operators/materialize-spec.js~describe1310",
    "testDepth": 1,
    "longname": "spec-js/operators/materialize-spec.js~describe1310.it1313",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 49
  },
  {
    "__docId__": 2250,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1314",
    "testId": 1314,
    "memberof": "spec-js/operators/materialize-spec.js~describe1310",
    "testDepth": 1,
    "longname": "spec-js/operators/materialize-spec.js~describe1310.it1314",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 61
  },
  {
    "__docId__": 2251,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1315",
    "testId": 1315,
    "memberof": "spec-js/operators/materialize-spec.js~describe1310",
    "testDepth": 1,
    "longname": "spec-js/operators/materialize-spec.js~describe1310.it1315",
    "access": null,
    "description": "should materialize stream does not completes",
    "lineNumber": 77
  },
  {
    "__docId__": 2252,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1316",
    "testId": 1316,
    "memberof": "spec-js/operators/materialize-spec.js~describe1310",
    "testDepth": 1,
    "longname": "spec-js/operators/materialize-spec.js~describe1310.it1316",
    "access": null,
    "description": "should materialize stream never completes",
    "lineNumber": 84
  },
  {
    "__docId__": 2253,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1317",
    "testId": 1317,
    "memberof": "spec-js/operators/materialize-spec.js~describe1310",
    "testDepth": 1,
    "longname": "spec-js/operators/materialize-spec.js~describe1310.it1317",
    "access": null,
    "description": "should materialize stream does not emit",
    "lineNumber": 91
  },
  {
    "__docId__": 2254,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1318",
    "testId": 1318,
    "memberof": "spec-js/operators/materialize-spec.js~describe1310",
    "testDepth": 1,
    "longname": "spec-js/operators/materialize-spec.js~describe1310.it1318",
    "access": null,
    "description": "should materialize empty stream",
    "lineNumber": 98
  },
  {
    "__docId__": 2255,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1319",
    "testId": 1319,
    "memberof": "spec-js/operators/materialize-spec.js~describe1310",
    "testDepth": 1,
    "longname": "spec-js/operators/materialize-spec.js~describe1310.it1319",
    "access": null,
    "description": "should materialize stream throws",
    "lineNumber": 105
  },
  {
    "__docId__": 2256,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/max-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/max-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {max} */\ndescribe('Observable.prototype.max', function () {\n    asDiagram('max')('should find the max of values of an observable', function () {\n        var e1 = hot('--a--b--c--|', { a: 42, b: -1, c: 3 });\n        var subs = '^          !';\n        var expected = '-----------(x|)';\n        expectObservable(e1.max()).toBe(expected, { x: 42 });\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should be never when source is never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.max()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be zero when source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.max()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be never when source doesn\\'t complete', function () {\n        var e1 = hot('--x--^--y--');\n        var e1subs = '^     ';\n        var expected = '------';\n        expectObservable(e1.max()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be completes when source doesn\\'t have values', function () {\n        var e1 = hot('-x-^---|');\n        var e1subs = '^   !';\n        var expected = '----|';\n        expectObservable(e1.max()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should max the unique value of an observable', function () {\n        var e1 = hot('-x-^--y--|', { y: 42 });\n        var e1subs = '^     !';\n        var expected = '------(w|)';\n        expectObservable(e1.max()).toBe(expected, { w: 42 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should max the values of an ongoing hot observable', function () {\n        var e1 = hot('--a-^-b--c--d--|', { a: 42, b: -1, c: 0, d: 666 });\n        var subs = '^          !';\n        var expected = '-----------(x|)';\n        expectObservable(e1.max()).toBe(expected, { x: 666 });\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--b--c--|', { a: 42, b: -1, c: 0 });\n        var unsub = '      !     ';\n        var subs = '^     !     ';\n        var expected = '-------     ';\n        expectObservable(e1.max(), unsub).toBe(expected, { x: 42 });\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = hot('--a--b--c--|', { a: 42, b: -1, c: 0 });\n        var subs = '^     !     ';\n        var expected = '-------     ';\n        var unsub = '      !     ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .max()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, { x: 42 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should max a range() source observable', function (done) {\n        Rx.Observable.range(1, 10000).max().subscribe(function (value) {\n            chai_1.expect(value).to.equal(10000);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should max a range().skip(1) source observable', function (done) {\n        Rx.Observable.range(1, 10).skip(1).max().subscribe(function (value) {\n            chai_1.expect(value).to.equal(10);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should max a range().take(1) source observable', function (done) {\n        Rx.Observable.range(1, 10).take(1).max().subscribe(function (value) {\n            chai_1.expect(value).to.equal(1);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should work with error', function () {\n        var e1 = hot('-x-^--y--z--#', { x: 1, y: 2, z: 3 }, 'too bad');\n        var e1subs = '^        !';\n        var expected = '---------#';\n        expectObservable(e1.max()).toBe(expected, null, 'too bad');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.max()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a constant predicate on an empty hot observable', function () {\n        var e1 = hot('-x-^---|');\n        var e1subs = '^   !';\n        var expected = '----|';\n        var predicate = function (x, y) {\n            return 42;\n        };\n        expectObservable(e1.max(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a constant predicate on an never hot observable', function () {\n        var e1 = hot('-x-^----');\n        var e1subs = '^    ';\n        var expected = '-----';\n        var predicate = function (x, y) {\n            return 42;\n        };\n        expectObservable(e1.max(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a constant predicate on a simple hot observable', function () {\n        var e1 = hot('-x-^-a-|', { a: 1 });\n        var e1subs = '^   !';\n        var expected = '----(w|)';\n        var predicate = function () {\n            return 42;\n        };\n        expectObservable(e1.max(predicate)).toBe(expected, { w: 1 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a reverse predicate on observable with many values', function () {\n        var e1 = hot('-a-^-b--c--d-|', { a: 42, b: -1, c: 0, d: 666 });\n        var e1subs = '^         !';\n        var expected = '----------(w|)';\n        var predicate = function (x, y) {\n            return x > y ? -1 : 1;\n        };\n        expectObservable(e1.max(predicate)).toBe(expected, { w: -1 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a predicate for string on observable with many values', function () {\n        var e1 = hot('-a-^-b--c--d-|');\n        var e1subs = '^         !';\n        var expected = '----------(w|)';\n        var predicate = function (x, y) {\n            return x > y ? -1 : 1;\n        };\n        expectObservable(e1.max(predicate)).toBe(expected, { w: 'b' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a constant predicate on observable that throws', function () {\n        var e1 = hot('-1-^---#');\n        var e1subs = '^   !';\n        var expected = '----#';\n        var predicate = function () {\n            return 42;\n        };\n        expectObservable(e1.max(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a predicate that throws, on observable with many values', function () {\n        var e1 = hot('-1-^-2--3--|');\n        var e1subs = '^    !   ';\n        var expected = '-----#   ';\n        var predicate = function (x, y) {\n            if (y === '3') {\n                throw 'error';\n            }\n            return x > y ? x : y;\n        };\n        expectObservable(e1.max(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=max-spec.js.map"
  },
  {
    "__docId__": 2257,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1320",
    "testId": 1320,
    "memberof": "spec-js/operators/max-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/max-spec.js~describe1320",
    "access": null,
    "description": "Observable.prototype.max",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{max}"
      }
    ],
    "testTargets": [
      "max"
    ]
  },
  {
    "__docId__": 2258,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1321",
    "testId": 1321,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1321",
    "access": null,
    "description": "should be never when source is never",
    "lineNumber": 14
  },
  {
    "__docId__": 2259,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1322",
    "testId": 1322,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1322",
    "access": null,
    "description": "should be zero when source is empty",
    "lineNumber": 21
  },
  {
    "__docId__": 2260,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1323",
    "testId": 1323,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1323",
    "access": null,
    "description": "should be never when source doesn't complete",
    "lineNumber": 28
  },
  {
    "__docId__": 2261,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1324",
    "testId": 1324,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1324",
    "access": null,
    "description": "should be completes when source doesn't have values",
    "lineNumber": 35
  },
  {
    "__docId__": 2262,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1325",
    "testId": 1325,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1325",
    "access": null,
    "description": "should max the unique value of an observable",
    "lineNumber": 42
  },
  {
    "__docId__": 2263,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1326",
    "testId": 1326,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1326",
    "access": null,
    "description": "should max the values of an ongoing hot observable",
    "lineNumber": 49
  },
  {
    "__docId__": 2264,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1327",
    "testId": 1327,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1327",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 56
  },
  {
    "__docId__": 2265,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1328",
    "testId": 1328,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1328",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 64
  },
  {
    "__docId__": 2266,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1329",
    "testId": 1329,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1329",
    "access": null,
    "description": "should max a range() source observable",
    "lineNumber": 76
  },
  {
    "__docId__": 2267,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1330",
    "testId": 1330,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1330",
    "access": null,
    "description": "should max a range().skip(1) source observable",
    "lineNumber": 85
  },
  {
    "__docId__": 2268,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1331",
    "testId": 1331,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1331",
    "access": null,
    "description": "should max a range().take(1) source observable",
    "lineNumber": 94
  },
  {
    "__docId__": 2269,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1332",
    "testId": 1332,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1332",
    "access": null,
    "description": "should work with error",
    "lineNumber": 103
  },
  {
    "__docId__": 2270,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1333",
    "testId": 1333,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1333",
    "access": null,
    "description": "should work with throw",
    "lineNumber": 110
  },
  {
    "__docId__": 2271,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1334",
    "testId": 1334,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1334",
    "access": null,
    "description": "should handle a constant predicate on an empty hot observable",
    "lineNumber": 117
  },
  {
    "__docId__": 2272,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1335",
    "testId": 1335,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1335",
    "access": null,
    "description": "should handle a constant predicate on an never hot observable",
    "lineNumber": 127
  },
  {
    "__docId__": 2273,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1336",
    "testId": 1336,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1336",
    "access": null,
    "description": "should handle a constant predicate on a simple hot observable",
    "lineNumber": 137
  },
  {
    "__docId__": 2274,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1337",
    "testId": 1337,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1337",
    "access": null,
    "description": "should handle a reverse predicate on observable with many values",
    "lineNumber": 147
  },
  {
    "__docId__": 2275,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1338",
    "testId": 1338,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1338",
    "access": null,
    "description": "should handle a predicate for string on observable with many values",
    "lineNumber": 157
  },
  {
    "__docId__": 2276,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1339",
    "testId": 1339,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1339",
    "access": null,
    "description": "should handle a constant predicate on observable that throws",
    "lineNumber": 167
  },
  {
    "__docId__": 2277,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1340",
    "testId": 1340,
    "memberof": "spec-js/operators/max-spec.js~describe1320",
    "testDepth": 1,
    "longname": "spec-js/operators/max-spec.js~describe1320.it1340",
    "access": null,
    "description": "should handle a predicate that throws, on observable with many values",
    "lineNumber": 177
  },
  {
    "__docId__": 2278,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/merge-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/merge-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar queueScheduler = Rx.Scheduler.queue;\n/** @test {merge} */\ndescribe('Observable.prototype.merge', function () {\n    asDiagram('merge')('should handle merging two hot observables', function () {\n        var e1 = hot('--a-----b-----c----|');\n        var e1subs = '^                  !';\n        var e2 = hot('-----d-----e-----f---|');\n        var e2subs = '^                    !';\n        var expected = '--a--d--b--e--c--f---|';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge a source with a second', function (done) {\n        var a = Observable.of(1, 2, 3);\n        var b = Observable.of(4, 5, 6, 7, 8);\n        var r = [1, 2, 3, 4, 5, 6, 7, 8];\n        a.merge(b).subscribe(function (val) {\n            chai_1.expect(val).to.equal(r.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should merge an immediately-scheduled source with an immediately-scheduled second', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, 7, 8, queueScheduler);\n        var r = [1, 2, 4, 3, 5, 6, 7, 8];\n        a.merge(b, queueScheduler).subscribe(function (val) {\n            chai_1.expect(val).to.equal(r.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should merge cold and cold', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^                      !';\n        var expected = '---a--x--b--y--c--z----|';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge hot and hot', function () {\n        var e1 = hot('---a---^-b-----c----|');\n        var e1subs = '^            !';\n        var e2 = hot('-----x-^----y-----z----|');\n        var e2subs = '^               !';\n        var expected = '--b--y--c--z----|';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge hot and cold', function () {\n        var e1 = hot('---a-^---b-----c----|');\n        var e1subs = '^              !';\n        var e2 = cold('--x-----y-----z----|');\n        var e2subs = '^                  !';\n        var expected = '--x-b---y-c---z----|';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge parallel emissions', function () {\n        var e1 = hot('---a----b----c----|');\n        var e1subs = '^                 !';\n        var e2 = hot('---x----y----z----|');\n        var e2subs = '^                 !';\n        var expected = '---(ax)-(by)-(cz)-|';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a-----b-----c----|  ');\n        var e1subs = '^         !           ';\n        var e2 = hot('-----d-----e-----f---|');\n        var e2subs = '^         !           ';\n        var expected = '--a--d--b--           ';\n        var unsub = '          !           ';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a-----b-----c----|  ');\n        var e1subs = '^         !           ';\n        var e2 = hot('-----d-----e-----f---|');\n        var e2subs = '^         !           ';\n        var expected = '--a--d--b--           ';\n        var unsub = '          !           ';\n        var result = e1\n            .map(function (x) { return x; })\n            .merge(e2, rxTestScheduler)\n            .map(function (x) { return x; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge empty and empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe('|');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge three empties', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var e3 = cold('|');\n        var e3subs = '(^!)';\n        var result = e1.merge(e2, e3, rxTestScheduler);\n        expectObservable(result).toBe('|');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should merge never and empty', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe('-');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge never and never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var e2 = cold('-');\n        var e2subs = '^';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe('-');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge empty and throw', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('#');\n        var e2subs = '(^!)';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe('#');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge hot and throw', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '(^!)';\n        var e2 = cold('#');\n        var e2subs = '(^!)';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe('#');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge never and throw', function () {\n        var e1 = cold('-');\n        var e1subs = '(^!)';\n        var e2 = cold('#');\n        var e2subs = '(^!)';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe('#');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge empty and eventual error', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)    ';\n        var e2 = hot('-------#');\n        var e2subs = '^      !';\n        var expected = '-------#';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge hot and error', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^      !    ';\n        var e2 = hot('-------#    ');\n        var e2subs = '^      !    ';\n        var expected = '--a--b-#    ';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should merge never and error', function () {\n        var e1 = hot('-');\n        var e1subs = '^      !';\n        var e2 = hot('-------#');\n        var e2subs = '^      !';\n        var expected = '-------#';\n        var result = e1.merge(e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n});\ndescribe('Observable.prototype.mergeAll', function () {\n    it('should merge two observables', function (done) {\n        var a = Observable.of(1, 2, 3);\n        var b = Observable.of(4, 5, 6, 7, 8);\n        var r = [1, 2, 3, 4, 5, 6, 7, 8];\n        Observable.of(a, b).mergeAll().subscribe(function (val) {\n            chai_1.expect(val).to.equal(r.shift());\n        }, null, done);\n    });\n    it('should merge two immediately-scheduled observables', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, 7, 8, queueScheduler);\n        var r = [1, 2, 4, 3, 5, 6, 7, 8];\n        Observable.of(a, b, queueScheduler).mergeAll().subscribe(function (val) {\n            chai_1.expect(val).to.equal(r.shift());\n        }, null, done);\n    });\n});\n//# sourceMappingURL=merge-spec.js.map"
  },
  {
    "__docId__": 2279,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1341",
    "testId": 1341,
    "memberof": "spec-js/operators/merge-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/merge-spec.js~describe1341",
    "access": null,
    "description": "Observable.prototype.merge",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{merge}"
      }
    ],
    "testTargets": [
      "merge"
    ]
  },
  {
    "__docId__": 2280,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1342",
    "testId": 1342,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1342",
    "access": null,
    "description": "should merge a source with a second",
    "lineNumber": 19
  },
  {
    "__docId__": 2281,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1343",
    "testId": 1343,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1343",
    "access": null,
    "description": "should merge an immediately-scheduled source with an immediately-scheduled second",
    "lineNumber": 31
  },
  {
    "__docId__": 2282,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1344",
    "testId": 1344,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1344",
    "access": null,
    "description": "should merge cold and cold",
    "lineNumber": 43
  },
  {
    "__docId__": 2283,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1345",
    "testId": 1345,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1345",
    "access": null,
    "description": "should merge hot and hot",
    "lineNumber": 54
  },
  {
    "__docId__": 2284,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1346",
    "testId": 1346,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1346",
    "access": null,
    "description": "should merge hot and cold",
    "lineNumber": 65
  },
  {
    "__docId__": 2285,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1347",
    "testId": 1347,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1347",
    "access": null,
    "description": "should merge parallel emissions",
    "lineNumber": 76
  },
  {
    "__docId__": 2286,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1348",
    "testId": 1348,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1348",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 87
  },
  {
    "__docId__": 2287,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1349",
    "testId": 1349,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1349",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 99
  },
  {
    "__docId__": 2288,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1350",
    "testId": 1350,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1350",
    "access": null,
    "description": "should merge empty and empty",
    "lineNumber": 114
  },
  {
    "__docId__": 2289,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1351",
    "testId": 1351,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1351",
    "access": null,
    "description": "should merge three empties",
    "lineNumber": 124
  },
  {
    "__docId__": 2290,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1352",
    "testId": 1352,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1352",
    "access": null,
    "description": "should merge never and empty",
    "lineNumber": 137
  },
  {
    "__docId__": 2291,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1353",
    "testId": 1353,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1353",
    "access": null,
    "description": "should merge never and never",
    "lineNumber": 147
  },
  {
    "__docId__": 2292,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1354",
    "testId": 1354,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1354",
    "access": null,
    "description": "should merge empty and throw",
    "lineNumber": 157
  },
  {
    "__docId__": 2293,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1355",
    "testId": 1355,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1355",
    "access": null,
    "description": "should merge hot and throw",
    "lineNumber": 167
  },
  {
    "__docId__": 2294,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1356",
    "testId": 1356,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1356",
    "access": null,
    "description": "should merge never and throw",
    "lineNumber": 177
  },
  {
    "__docId__": 2295,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1357",
    "testId": 1357,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1357",
    "access": null,
    "description": "should merge empty and eventual error",
    "lineNumber": 187
  },
  {
    "__docId__": 2296,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1358",
    "testId": 1358,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1358",
    "access": null,
    "description": "should merge hot and error",
    "lineNumber": 198
  },
  {
    "__docId__": 2297,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1359",
    "testId": 1359,
    "memberof": "spec-js/operators/merge-spec.js~describe1341",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1341.it1359",
    "access": null,
    "description": "should merge never and error",
    "lineNumber": 209
  },
  {
    "__docId__": 2298,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1360",
    "testId": 1360,
    "memberof": "spec-js/operators/merge-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/merge-spec.js~describe1360",
    "access": null,
    "description": "Observable.prototype.mergeAll",
    "lineNumber": 221
  },
  {
    "__docId__": 2299,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1361",
    "testId": 1361,
    "memberof": "spec-js/operators/merge-spec.js~describe1360",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1360.it1361",
    "access": null,
    "description": "should merge two observables",
    "lineNumber": 222
  },
  {
    "__docId__": 2300,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1362",
    "testId": 1362,
    "memberof": "spec-js/operators/merge-spec.js~describe1360",
    "testDepth": 1,
    "longname": "spec-js/operators/merge-spec.js~describe1360.it1362",
    "access": null,
    "description": "should merge two immediately-scheduled observables",
    "lineNumber": 230
  },
  {
    "__docId__": 2301,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/mergeAll-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/mergeAll-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {mergeAll} */\ndescribe('Observable.prototype.mergeAll', function () {\n    asDiagram('mergeAll')('should merge a hot observable of cold observables', function () {\n        var x = cold('--a---b--c---d--|      ');\n        var y = cold('----e---f--g---|');\n        var e1 = hot('--x------y-------|       ', { x: x, y: y });\n        var expected = '----a---b--c-e-d-f--g---|';\n        expectObservable(e1.mergeAll()).toBe(expected);\n    });\n    it('should merge all observables in an observable', function () {\n        var e1 = Observable.from([\n            Observable.of('a'),\n            Observable.of('b'),\n            Observable.of('c')\n        ]);\n        var expected = '(abc|)';\n        expectObservable(e1.mergeAll()).toBe(expected);\n    });\n    it('should throw if any child observable throws', function () {\n        var e1 = Observable.from([\n            Observable.of('a'),\n            Observable.throw('error'),\n            Observable.of('c')\n        ]);\n        var expected = '(a#)';\n        expectObservable(e1.mergeAll()).toBe(expected);\n    });\n    it('should handle merging a hot observable of observables', function () {\n        var x = cold('a---b---c---|   ');\n        var xsubs = '  ^           !   ';\n        var y = cold('d---e---f---|');\n        var ysubs = '     ^           !';\n        var e1 = hot('--x--y--|         ', { x: x, y: y });\n        var e1subs = '^                !';\n        var expected = '--a--db--ec--f---|';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge one cold Observable at a time with parameter concurrency=1', function () {\n        var x = cold('a---b---c---|            ');\n        var xsubs = '  ^           !            ';\n        var y = cold('d---e---f---|');\n        var ysubs = '              ^           !';\n        var e1 = hot('--x--y--|                  ', { x: x, y: y });\n        var e1subs = '^                         !';\n        var expected = '--a---b---c---d---e---f---|';\n        expectObservable(e1.mergeAll(1)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge two cold Observables at a time with parameter concurrency=2', function () {\n        var x = cold('a---b---c---|        ');\n        var xsubs = '  ^           !        ';\n        var y = cold('d---e---f---|     ');\n        var ysubs = '     ^           !     ';\n        var z = cold('--g---h-|');\n        var zsubs = '              ^       !';\n        var e1 = hot('--x--y--z--|           ', { x: x, y: y, z: z });\n        var e1subs = '^                     !';\n        var expected = '--a--db--ec--f--g---h-|';\n        expectObservable(e1.mergeAll(2)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge one hot Observable at a time with parameter concurrency=1', function () {\n        var x = hot('---a---b---c---|          ');\n        var xsubs = '  ^            !          ';\n        var y = hot('-------------d---e---f---|');\n        var ysubs = '               ^         !';\n        var e1 = hot('--x--y--|                 ', { x: x, y: y });\n        var e1subs = '^                        !';\n        var expected = '---a---b---c-----e---f---|';\n        expectObservable(e1.mergeAll(1)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge two hot Observables at a time with parameter concurrency=2', function () {\n        var x = hot('i--a---b---c---|        ');\n        var xsubs = '  ^            !        ';\n        var y = hot('-i-i--d---e---f---|     ');\n        var ysubs = '     ^            !     ';\n        var z = hot('--i--i--i--i-----g---h-|');\n        var zsubs = '               ^       !';\n        var e1 = hot('--x--y--z--|            ', { x: x, y: y, z: z });\n        var e1subs = '^                      !';\n        var expected = '---a--db--ec--f--g---h-|';\n        expectObservable(e1.mergeAll(2)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle merging a hot observable of observables, outer unsubscribed early', function () {\n        var x = cold('a---b---c---|   ');\n        var xsubs = '  ^         !     ';\n        var y = cold('d---e---f---|');\n        var ysubs = '     ^      !     ';\n        var e1 = hot('--x--y--|         ', { x: x, y: y });\n        var e1subs = '^           !     ';\n        var unsub = '            !     ';\n        var expected = '--a--db--ec--     ';\n        expectObservable(e1.mergeAll(), unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var x = cold('a---b---c---|   ');\n        var xsubs = '  ^         !     ';\n        var y = cold('d---e---f---|');\n        var ysubs = '     ^      !     ';\n        var e1 = hot('--x--y--|         ', { x: x, y: y });\n        var e1subs = '^           !     ';\n        var expected = '--a--db--ec--     ';\n        var unsub = '            !     ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .mergeAll()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge parallel emissions', function () {\n        var x = cold('----a----b----c---|');\n        var xsubs = '  ^                 !';\n        var y = cold('-d----e----f---|');\n        var ysubs = '     ^              !';\n        var e1 = hot('--x--y--|            ', { x: x, y: y });\n        var e1subs = '^                   !';\n        var expected = '------(ad)-(be)-(cf)|';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge empty and empty', function () {\n        var x = cold('|');\n        var xsubs = '  (^!)   ';\n        var y = cold('|');\n        var ysubs = '     (^!)';\n        var e1 = hot('--x--y--|', { x: x, y: y });\n        var e1subs = '^       !';\n        var expected = '--------|';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge three empties', function () {\n        var x = cold('|');\n        var xsubs = '  (^!)     ';\n        var y = cold('|');\n        var ysubs = '     (^!)  ';\n        var z = cold('|');\n        var zsubs = '       (^!)';\n        var e1 = hot('--x--y-z---|', { x: x, y: y, z: z });\n        var e1subs = '^          !';\n        var expected = '-----------|';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge never and empty', function () {\n        var x = cold('-');\n        var xsubs = '  ^';\n        var y = cold('|');\n        var ysubs = '     (^!)';\n        var e1 = hot('--x--y--|', { x: x, y: y });\n        var e1subs = '^        ';\n        var expected = '---------';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge never and never', function () {\n        var x = cold('-');\n        var xsubs = '  ^';\n        var y = cold('-');\n        var ysubs = '     ^';\n        var e1 = hot('--x--y--|', { x: x, y: y });\n        var e1subs = '^        ';\n        var expected = '---------';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge empty and throw', function () {\n        var x = cold('|');\n        var xsubs = '  (^!)   ';\n        var y = cold('#');\n        var ysubs = '     (^!)';\n        var e1 = hot('--x--y--|', { x: x, y: y });\n        var e1subs = '^    !   ';\n        var expected = '-----#   ';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge never and throw', function () {\n        var x = cold('-');\n        var xsubs = '  ^  !';\n        var y = cold('#');\n        var ysubs = '     (^!)';\n        var e1 = hot('--x--y--|', { x: x, y: y });\n        var e1subs = '^    !   ';\n        var expected = '-----#   ';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge empty and eventual error', function () {\n        var x = cold('|');\n        var xsubs = '  (^!)';\n        var y = cold('------#');\n        var ysubs = '     ^     !';\n        var e1 = hot('--x--y--|', { x: x, y: y });\n        var e1subs = '^          !';\n        var expected = '-----------#';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge never and eventual error', function () {\n        var x = cold('-');\n        var xsubs = '  ^        !';\n        var y = cold('------#');\n        var ysubs = '     ^     !';\n        var e1 = hot('--x--y--|', { x: x, y: y });\n        var e1subs = '^          !';\n        var expected = '-----------#';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take an empty source and return empty too', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take a never source and return never too', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take a throw source and return throw too', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle merging a hot observable of non-overlapped observables', function () {\n        var x = cold('a-b---------|                 ');\n        var xsubs = '  ^           !                 ';\n        var y = cold('c-d-e-f-|           ');\n        var ysubs = '            ^       !           ';\n        var z = cold('g-h-i-j-k-|');\n        var zsubs = '                     ^         !';\n        var e1 = hot('--x---------y--------z--------| ', { x: x, y: y, z: z });\n        var e1subs = '^                              !';\n        var expected = '--a-b-------c-d-e-f--g-h-i-j-k-|';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if inner observable raises error', function () {\n        var x = cold('a-b---------|                 ');\n        var xsubs = '  ^           !                 ';\n        var y = cold('c-d-e-f-#           ');\n        var ysubs = '            ^       !           ';\n        var z = cold('g-h-i-j-k-|');\n        var zsubs = [];\n        var e1 = hot('--x---------y--------z--------| ', { x: x, y: y, z: z });\n        var e1subs = '^                   !           ';\n        var expected = '--a-b-------c-d-e-f-#           ';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if outer observable raises error', function () {\n        var y = cold('a-b---------|                ');\n        var ysubs = '  ^           !                ';\n        var z = cold('c-d-e-f-|          ');\n        var zsubs = '            ^   !              ';\n        var e1 = hot('--y---------z---#              ', { y: y, z: z });\n        var e1subs = '^               !              ';\n        var expected = '--a-b-------c-d-#              ';\n        expectObservable(e1.mergeAll()).toBe(expected);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should merge all promises in an observable', function (done) {\n        var e1 = Rx.Observable.from([\n            new Promise(function (res) { res('a'); }),\n            new Promise(function (res) { res('b'); }),\n            new Promise(function (res) { res('c'); }),\n            new Promise(function (res) { res('d'); }),\n        ]);\n        var expected = ['a', 'b', 'c', 'd'];\n        var res = [];\n        e1.mergeAll().subscribe(function (x) { res.push(x); }, function (err) { done(new Error('should not be called')); }, function () {\n            chai_1.expect(res).to.deep.equal(expected);\n            done();\n        });\n    });\n    it('should raise error when promise rejects', function (done) {\n        var error = 'error';\n        var e1 = Rx.Observable.from([\n            new Promise(function (res) { res('a'); }),\n            new Promise(function (res, rej) { rej(error); }),\n            new Promise(function (res) { res('c'); }),\n            new Promise(function (res) { res('d'); }),\n        ]);\n        var res = [];\n        e1.mergeAll().subscribe(function (x) { res.push(x); }, function (err) {\n            chai_1.expect(res.length).to.equal(1);\n            chai_1.expect(err).to.equal('error');\n            done();\n        }, function () { done(new Error('should not be called')); });\n    });\n});\n//# sourceMappingURL=mergeAll-spec.js.map"
  },
  {
    "__docId__": 2302,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1363",
    "testId": 1363,
    "memberof": "spec-js/operators/mergeAll-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363",
    "access": null,
    "description": "Observable.prototype.mergeAll",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{mergeAll}"
      }
    ],
    "testTargets": [
      "mergeAll"
    ]
  },
  {
    "__docId__": 2303,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1364",
    "testId": 1364,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1364",
    "access": null,
    "description": "should merge all observables in an observable",
    "lineNumber": 14
  },
  {
    "__docId__": 2304,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1365",
    "testId": 1365,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1365",
    "access": null,
    "description": "should throw if any child observable throws",
    "lineNumber": 23
  },
  {
    "__docId__": 2305,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1366",
    "testId": 1366,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1366",
    "access": null,
    "description": "should handle merging a hot observable of observables",
    "lineNumber": 32
  },
  {
    "__docId__": 2306,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1367",
    "testId": 1367,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1367",
    "access": null,
    "description": "should merge one cold Observable at a time with parameter concurrency=1",
    "lineNumber": 45
  },
  {
    "__docId__": 2307,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1368",
    "testId": 1368,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1368",
    "access": null,
    "description": "should merge two cold Observables at a time with parameter concurrency=2",
    "lineNumber": 58
  },
  {
    "__docId__": 2308,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1369",
    "testId": 1369,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1369",
    "access": null,
    "description": "should merge one hot Observable at a time with parameter concurrency=1",
    "lineNumber": 74
  },
  {
    "__docId__": 2309,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1370",
    "testId": 1370,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1370",
    "access": null,
    "description": "should merge two hot Observables at a time with parameter concurrency=2",
    "lineNumber": 87
  },
  {
    "__docId__": 2310,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1371",
    "testId": 1371,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1371",
    "access": null,
    "description": "should handle merging a hot observable of observables, outer unsubscribed early",
    "lineNumber": 103
  },
  {
    "__docId__": 2311,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1372",
    "testId": 1372,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1372",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 117
  },
  {
    "__docId__": 2312,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1373",
    "testId": 1373,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1373",
    "access": null,
    "description": "should merge parallel emissions",
    "lineNumber": 135
  },
  {
    "__docId__": 2313,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1374",
    "testId": 1374,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1374",
    "access": null,
    "description": "should merge empty and empty",
    "lineNumber": 148
  },
  {
    "__docId__": 2314,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1375",
    "testId": 1375,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1375",
    "access": null,
    "description": "should merge three empties",
    "lineNumber": 161
  },
  {
    "__docId__": 2315,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1376",
    "testId": 1376,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1376",
    "access": null,
    "description": "should merge never and empty",
    "lineNumber": 177
  },
  {
    "__docId__": 2316,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1377",
    "testId": 1377,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1377",
    "access": null,
    "description": "should merge never and never",
    "lineNumber": 190
  },
  {
    "__docId__": 2317,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1378",
    "testId": 1378,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1378",
    "access": null,
    "description": "should merge empty and throw",
    "lineNumber": 203
  },
  {
    "__docId__": 2318,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1379",
    "testId": 1379,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1379",
    "access": null,
    "description": "should merge never and throw",
    "lineNumber": 216
  },
  {
    "__docId__": 2319,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1380",
    "testId": 1380,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1380",
    "access": null,
    "description": "should merge empty and eventual error",
    "lineNumber": 229
  },
  {
    "__docId__": 2320,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1381",
    "testId": 1381,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1381",
    "access": null,
    "description": "should merge never and eventual error",
    "lineNumber": 242
  },
  {
    "__docId__": 2321,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1382",
    "testId": 1382,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1382",
    "access": null,
    "description": "should take an empty source and return empty too",
    "lineNumber": 255
  },
  {
    "__docId__": 2322,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1383",
    "testId": 1383,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1383",
    "access": null,
    "description": "should take a never source and return never too",
    "lineNumber": 262
  },
  {
    "__docId__": 2323,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1384",
    "testId": 1384,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1384",
    "access": null,
    "description": "should take a throw source and return throw too",
    "lineNumber": 269
  },
  {
    "__docId__": 2324,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1385",
    "testId": 1385,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1385",
    "access": null,
    "description": "should handle merging a hot observable of non-overlapped observables",
    "lineNumber": 276
  },
  {
    "__docId__": 2325,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1386",
    "testId": 1386,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1386",
    "access": null,
    "description": "should raise error if inner observable raises error",
    "lineNumber": 292
  },
  {
    "__docId__": 2326,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1387",
    "testId": 1387,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1387",
    "access": null,
    "description": "should raise error if outer observable raises error",
    "lineNumber": 308
  },
  {
    "__docId__": 2327,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1388",
    "testId": 1388,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1388",
    "access": null,
    "description": "should merge all promises in an observable",
    "lineNumber": 321
  },
  {
    "__docId__": 2328,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1389",
    "testId": 1389,
    "memberof": "spec-js/operators/mergeAll-spec.js~describe1363",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeAll-spec.js~describe1363.it1389",
    "access": null,
    "description": "should raise error when promise rejects",
    "lineNumber": 335
  },
  {
    "__docId__": 2329,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/mergeMap-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/mergeMap-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {mergeMap} */\ndescribe('Observable.prototype.mergeMap', function () {\n    asDiagram('mergeMap(i => 10*i\\u2014\\u201410*i\\u2014\\u201410*i\\u2014| )')('should map-and-flatten each item to an Observable', function () {\n        var e1 = hot('--1-----3--5-------|');\n        var e1subs = '^                  !';\n        var e2 = cold('x-x-x|              ', { x: 10 });\n        var expected = '--x-x-x-y-yzyz-z---|';\n        var values = { x: 10, y: 30, z: 50 };\n        var result = e1.mergeMap(function (x) { return e2.map(function (i) { return i * x; }); });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many regular interval inners', function () {\n        var a = cold('----a---a---a---(a|)                    ');\n        var b = cold('----b---b---(b|)                    ');\n        var c = cold('----c---c---c---c---(c|)');\n        var d = cold('----(d|)        ');\n        var e1 = hot('a---b-----------c-------d-------|       ');\n        var e1subs = '^                                   !   ';\n        var expected = '----a---(ab)(ab)(ab)c---c---(cd)c---(c|)';\n        var observableLookup = { a: a, b: b, c: c, d: d };\n        var source = e1.mergeMap(function (value) { return observableLookup[value]; });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should map values to constant resolved promises and merge', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value) { return Observable.from(Promise.resolve(42)); };\n        var results = [];\n        source.mergeMap(project).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([42, 42, 42, 42]);\n            done();\n        });\n    });\n    it('should map values to constant rejected promises and merge', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value) {\n            return Observable.from(Promise.reject(42));\n        };\n        source.mergeMap(project).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.equal(42);\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n    it('should map values to resolved promises and merge', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value, index) {\n            return Observable.from(Promise.resolve(value + index));\n        };\n        var results = [];\n        source.mergeMap(project).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([4, 4, 4, 4]);\n            done();\n        });\n    });\n    it('should map values to rejected promises and merge', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value, index) {\n            return Observable.from(Promise.reject('' + value + '-' + index));\n        };\n        source.mergeMap(project).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.equal('4-0');\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n    it('should mergeMap values to resolved promises with resultSelector', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var resultSelectorCalledWith = [];\n        var project = function (value, index) {\n            return Observable.from(Promise.resolve([value, index]));\n        };\n        var resultSelector = function (outerVal, innerVal, outerIndex, innerIndex) {\n            resultSelectorCalledWith.push([].slice.call(arguments));\n            return 8;\n        };\n        var results = [];\n        var expectedCalls = [\n            [4, [4, 0], 0, 0],\n            [3, [3, 1], 1, 0],\n            [2, [2, 2], 2, 0],\n            [1, [1, 3], 3, 0],\n        ];\n        source.mergeMap(project, resultSelector).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([8, 8, 8, 8]);\n            chai_1.expect(resultSelectorCalledWith).to.deep.equal(expectedCalls);\n            done();\n        });\n    });\n    it('should mergeMap values to rejected promises with resultSelector', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var project = function (value, index) {\n            return Observable.from(Promise.reject('' + value + '-' + index));\n        };\n        var resultSelector = function () {\n            throw 'this should not be called';\n        };\n        source.mergeMap(project, resultSelector).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.equal('4-0');\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n    it('should mergeMap many outer values to many inner values', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------|            ');\n        var e1subs = '^                                            !';\n        var inner = cold('----i---j---k---l---|                        ', values);\n        var innersubs = [' ^                   !                        ',\n            '         ^                   !                ',\n            '                 ^                   !        ',\n            '                         ^                   !'];\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)k---l---|';\n        var result = e1.mergeMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to many inner, complete late', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-----------------------|');\n        var e1subs = '^                                                !';\n        var inner = cold('----i---j---k---l---|                            ', values);\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)k---l-------|';\n        var result = e1.mergeMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to many inner, outer never completes', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------e---------------f------');\n        var unsub = '                                                       !';\n        var e1subs = '^                                                      !';\n        var inner = cold('----i---j---k---l---|                                  ', values);\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)(ki)(lj)k---l---i--';\n        var source = e1.mergeMap(function (value) { return inner; });\n        expectObservable(source, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------e---------------f------');\n        var e1subs = '^                                                      !';\n        var inner = cold('----i---j---k---l---|                                  ', values);\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)(ki)(lj)k---l---i--';\n        var unsub = '                                                       !';\n        var source = e1\n            .map(function (x) { return x; })\n            .mergeMap(function (value) { return inner; })\n            .map(function (x) { return x; });\n        expectObservable(source, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to many inner, inner never completes', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------|         ');\n        var e1subs = '^                                          ';\n        var inner = cold('----i---j---k---l-------------------------', values);\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)k---l-';\n        var result = e1.mergeMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to many inner, and inner throws', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------|');\n        var e1subs = '^                        !        ';\n        var inner = cold('----i---j---k---l-------#        ', values);\n        var expected = '-----i---j---(ki)(lj)(ki)#        ';\n        var result = e1.mergeMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to many inner, and outer throws', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------#');\n        var e1subs = '^                                !';\n        var inner = cold('----i---j---k---l---|            ', values);\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)#';\n        var result = e1.mergeMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to many inner, both inner and outer throw', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------#');\n        var e1subs = '^                    !            ';\n        var inner = cold('----i---j---k---l---#            ', values);\n        var expected = '-----i---j---(ki)(lj)#            ';\n        var result = e1.mergeMap(function (value) { return inner; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap to many cold Observable, with parameter concurrency=1', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                                        ');\n        var e1subs = '^                                                            !';\n        var inner = cold('----i---j---k---l---|                                        ', values);\n        var innersubs = [' ^                   !                                        ',\n            '                     ^                   !                    ',\n            '                                         ^                   !'];\n        var expected = '-----i---j---k---l-------i---j---k---l-------i---j---k---l---|';\n        function project() { return inner; }\n        function resultSelector(oV, iV, oI, iI) { return iV; }\n        var result = e1.mergeMap(project, resultSelector, 1);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap to many cold Observable, with parameter concurrency=2', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                    ');\n        var e1subs = '^                                        !';\n        var inner = cold('----i---j---k---l---|                    ', values);\n        var innersubs = [' ^                   !                    ',\n            '         ^                   !            ',\n            '                     ^                   !'];\n        var expected = '-----i---j---(ki)(lj)k---(li)j---k---l---|';\n        function project() { return inner; }\n        function resultSelector(oV, iV, oI, iI) { return iV; }\n        var result = e1.mergeMap(project, resultSelector, 2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap to many hot Observable, with parameter concurrency=1', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                                        ');\n        var e1subs = '^                                                            !';\n        var hotA = hot('x----i---j---k---l---|                                        ', values);\n        var hotB = hot('-x-x-xxxx-x-x-xxxxx-x----i---j---k---l---|                    ', values);\n        var hotC = hot('x-xxxx---x-x-x-x-x-xx--x--x-x--x--xxxx-x-----i---j---k---l---|', values);\n        var asubs = ' ^                   !                                        ';\n        var bsubs = '                     ^                   !                    ';\n        var csubs = '                                         ^                   !';\n        var expected = '-----i---j---k---l-------i---j---k---l-------i---j---k---l---|';\n        var inners = { a: hotA, b: hotB, c: hotC };\n        function project(x) { return inners[x]; }\n        function resultSelector(oV, iV, oI, iI) { return iV; }\n        var result = e1.mergeMap(project, resultSelector, 1);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(hotA.subscriptions).toBe(asubs);\n        expectSubscriptions(hotB.subscriptions).toBe(bsubs);\n        expectSubscriptions(hotC.subscriptions).toBe(csubs);\n    });\n    it('should mergeMap to many hot Observable, with parameter concurrency=2', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                    ');\n        var e1subs = '^                                        !';\n        var hotA = hot('x----i---j---k---l---|                    ', values);\n        var hotB = hot('-x-x-xxxx----i---j---k---l---|            ', values);\n        var hotC = hot('x-xxxx---x-x-x-x-x-xx----i---j---k---l---|', values);\n        var asubs = ' ^                   !                    ';\n        var bsubs = '         ^                   !            ';\n        var csubs = '                     ^                   !';\n        var expected = '-----i---j---(ki)(lj)k---(li)j---k---l---|';\n        var inners = { a: hotA, b: hotB, c: hotC };\n        function project(x) { return inners[x]; }\n        function resultSelector(oV, iV, oI, iI) { return iV; }\n        var result = e1.mergeMap(project, resultSelector, 2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(hotA.subscriptions).toBe(asubs);\n        expectSubscriptions(hotB.subscriptions).toBe(bsubs);\n        expectSubscriptions(hotC.subscriptions).toBe(csubs);\n    });\n    it('should mergeMap to many cold Observable, with parameter concurrency=1, without resultSelector', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                                        ');\n        var e1subs = '^                                                            !';\n        var inner = cold('----i---j---k---l---|                                        ', values);\n        var innersubs = [' ^                   !                                        ',\n            '                     ^                   !                    ',\n            '                                         ^                   !'];\n        var expected = '-----i---j---k---l-------i---j---k---l-------i---j---k---l---|';\n        function project() { return inner; }\n        var result = e1.mergeMap(project, 1);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap to many cold Observable, with parameter concurrency=2, without resultSelector', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                    ');\n        var e1subs = '^                                        !';\n        var inner = cold('----i---j---k---l---|                    ', values);\n        var innersubs = [' ^                   !                    ',\n            '         ^                   !            ',\n            '                     ^                   !'];\n        var expected = '-----i---j---(ki)(lj)k---(li)j---k---l---|';\n        function project() { return inner; }\n        var result = e1.mergeMap(project, 2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap to many hot Observable, with parameter concurrency=1, without resultSelector', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                                        ');\n        var e1subs = '^                                                            !';\n        var hotA = hot('x----i---j---k---l---|                                        ', values);\n        var hotB = hot('-x-x-xxxx-x-x-xxxxx-x----i---j---k---l---|                    ', values);\n        var hotC = hot('x-xxxx---x-x-x-x-x-xx--x--x-x--x--xxxx-x-----i---j---k---l---|', values);\n        var asubs = ' ^                   !                                        ';\n        var bsubs = '                     ^                   !                    ';\n        var csubs = '                                         ^                   !';\n        var expected = '-----i---j---k---l-------i---j---k---l-------i---j---k---l---|';\n        var inners = { a: hotA, b: hotB, c: hotC };\n        function project(x) { return inners[x]; }\n        var result = e1.mergeMap(project, 1);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(hotA.subscriptions).toBe(asubs);\n        expectSubscriptions(hotB.subscriptions).toBe(bsubs);\n        expectSubscriptions(hotC.subscriptions).toBe(csubs);\n    });\n    it('should mergeMap to many hot Observable, with parameter concurrency=2, without resultSelector', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                    ');\n        var e1subs = '^                                        !';\n        var hotA = hot('x----i---j---k---l---|                    ', values);\n        var hotB = hot('-x-x-xxxx----i---j---k---l---|            ', values);\n        var hotC = hot('x-xxxx---x-x-x-x-x-xx----i---j---k---l---|', values);\n        var asubs = ' ^                   !                    ';\n        var bsubs = '         ^                   !            ';\n        var csubs = '                     ^                   !';\n        var expected = '-----i---j---(ki)(lj)k---(li)j---k---l---|';\n        var inners = { a: hotA, b: hotB, c: hotC };\n        function project(x) { return inners[x]; }\n        var result = e1.mergeMap(project, 2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(hotA.subscriptions).toBe(asubs);\n        expectSubscriptions(hotB.subscriptions).toBe(bsubs);\n        expectSubscriptions(hotC.subscriptions).toBe(csubs);\n    });\n    it('should mergeMap many complex, where all inners are finite', function () {\n        var a = cold('-#');\n        var b = cold('-#');\n        var c = cold('-2--3--4--5------------------6-|');\n        var d = cold('-----------2--3|');\n        var e = cold('-1--------2--3-----4--5--------|');\n        var f = cold('--|');\n        var g = cold('---1-2|');\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|');\n        var e1subs = '^                                             !';\n        var expected = '---2--3--4--5---1--2--3--2--3--6--4--5---1-2--|';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.mergeMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many complex, all inners finite except one', function () {\n        var a = cold('-#');\n        var b = cold('-#');\n        var c = cold('-2--3--4--5------------------6-|');\n        var d = cold('-----------2--3-');\n        var e = cold('-1--------2--3-----4--5--------|');\n        var f = cold('--|');\n        var g = cold('---1-2|');\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|');\n        var e1subs = '^                                               ';\n        var expected = '---2--3--4--5---1--2--3--2--3--6--4--5---1-2----';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.mergeMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many complex, inners finite, outer does not complete', function () {\n        var a = cold('-#');\n        var b = cold('-#');\n        var c = cold('-2--3--4--5------------------6-|');\n        var d = cold('-----------2--3|');\n        var e = cold('-1--------2--3-----4--5--------|');\n        var f = cold('--|');\n        var g = cold('---1-2|');\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g--------');\n        var e1subs = '^                                               ';\n        var expected = '---2--3--4--5---1--2--3--2--3--6--4--5---1-2----';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.mergeMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many complex, all inners finite, and outer throws', function () {\n        var a = cold('-#');\n        var b = cold('-#');\n        var c = cold('-2--3--4--5------------------6-|');\n        var d = cold('-----------2--3|');\n        var e = cold('-1--------2--3-----4--5--------|');\n        var f = cold('--|');\n        var g = cold('---1-2|');\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g#       ');\n        var e1subs = '^                                      !       ';\n        var expected = '---2--3--4--5---1--2--3--2--3--6--4--5-#       ';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.mergeMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many complex, all inners complete except one throws', function () {\n        var a = cold('-#');\n        var b = cold('-#');\n        var c = cold('-2--3--4--5------------------6-#');\n        var d = cold('-----------2--3|');\n        var e = cold('-1--------2--3-----4--5--------|');\n        var f = cold('--|');\n        var g = cold('---1-2|');\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|');\n        var e1subs = '^                                !             ';\n        var expected = '---2--3--4--5---1--2--3--2--3--6-#             ';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var result = e1.mergeMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many complex, all inners finite, outer is unsubscribed', function () {\n        var a = cold('-#');\n        var b = cold('-#');\n        var c = cold('-2--3--4--5------------------6-|');\n        var d = cold('-----------2--3|');\n        var e = cold('-1--------2--3-----4--5--------|');\n        var f = cold('--|');\n        var g = cold('---1-2|');\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|');\n        var unsub = '                              !                ';\n        var e1subs = '^                             !                ';\n        var expected = '---2--3--4--5---1--2--3--2--3--                ';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var source = e1.mergeMap(function (value) { return observableLookup[value]; });\n        expectObservable(source, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many complex, all inners finite, project throws', function () {\n        var a = cold('-#');\n        var b = cold('-#');\n        var c = cold('-2--3--4--5------------------6-|');\n        var d = cold('-----------2--3|');\n        var e = cold('-1--------2--3-----4--5--------|');\n        var f = cold('--|');\n        var g = cold('---1-2|');\n        var e1 = hot('-a-b--^-c-----d------e----------------f-----g|');\n        var e1subs = '^              !                               ';\n        var expected = '---2--3--4--5--#                               ';\n        var observableLookup = { a: a, b: b, c: c, d: d, e: e, f: f, g: g };\n        var invoked = 0;\n        var source = e1.mergeMap(function (value) {\n            invoked++;\n            if (invoked === 3) {\n                throw 'error';\n            }\n            return observableLookup[value];\n        });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    function arrayRepeat(value, times) {\n        var results = [];\n        for (var i = 0; i < times; i++) {\n            results.push(value);\n        }\n        return results;\n    }\n    it('should mergeMap many outer to an array for each value', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^                               !';\n        var expected = '(22)--(4444)---(333)----(22)----|';\n        var source = e1.mergeMap(function (value) { return arrayRepeat(value, value); });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to inner arrays, using resultSelector', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^                               !';\n        var expected = '(44)--(8888)---(666)----(44)----|';\n        var source = e1.mergeMap(function (value) { return arrayRepeat(value, value); }, function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to inner arrays, and outer throws', function () {\n        var e1 = hot('2-----4--------3--------2-------#');\n        var e1subs = '^                               !';\n        var expected = '(22)--(4444)---(333)----(22)----#';\n        var source = e1.mergeMap(function (value) { return arrayRepeat(value, value); });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to inner arrays, resultSelector, outer throws', function () {\n        var e1 = hot('2-----4--------3--------2-------#');\n        var e1subs = '^                               !';\n        var expected = '(44)--(8888)---(666)----(44)----#';\n        var source = e1.mergeMap(function (value) { return arrayRepeat(value, value); }, function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to inner arrays, outer gets unsubscribed', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var unsub = '             !                   ';\n        var e1subs = '^            !                   ';\n        var expected = '(22)--(4444)--                   ';\n        var source = e1.mergeMap(function (value) { return arrayRepeat(value, value); });\n        expectObservable(source, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to inner arrays, resultSelector, outer unsubscribed', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var unsub = '             !                   ';\n        var e1subs = '^            !                   ';\n        var expected = '(44)--(8888)--                   ';\n        var source = e1.mergeMap(function (value) { return arrayRepeat(value, value); }, function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(source, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to inner arrays, project throws', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^              !                 ';\n        var expected = '(22)--(4444)---#                 ';\n        var invoked = 0;\n        var source = e1.mergeMap(function (value) {\n            invoked++;\n            if (invoked === 3) {\n                throw 'error';\n            }\n            return arrayRepeat(value, value);\n        });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to inner arrays, resultSelector throws', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^              !                 ';\n        var expected = '(44)--(8888)---#                 ';\n        var source = e1.mergeMap(function (value) { return arrayRepeat(value, value); }, function (inner, outer) {\n            if (outer === '3') {\n                throw 'error';\n            }\n            return String(parseInt(outer) + parseInt(inner));\n        });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap many outer to inner arrays, resultSelector, project throws', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^              !                 ';\n        var expected = '(44)--(8888)---#                 ';\n        var invoked = 0;\n        var source = e1.mergeMap(function (value) {\n            invoked++;\n            if (invoked === 3) {\n                throw 'error';\n            }\n            return arrayRepeat(value, value);\n        }, function (inner, outer) {\n            return String(parseInt(outer) + parseInt(inner));\n        });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should map and flatten', function () {\n        var source = Observable.of(1, 2, 3, 4).mergeMap(function (x) { return Observable.of(x + '!'); });\n        var expected = ['1!', '2!', '3!', '4!'];\n        var completed = false;\n        source.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            completed = true;\n        });\n        chai_1.expect(completed).to.be.true;\n    });\n    it('should map and flatten an Array', function () {\n        var source = Observable.of(1, 2, 3, 4).mergeMap(function (x) { return [x + '!']; });\n        var expected = ['1!', '2!', '3!', '4!'];\n        var completed = false;\n        source.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            completed = true;\n        });\n        chai_1.expect(completed).to.be.true;\n    });\n    it('should support type signatures', function () {\n        type(function () {\n            var o;\n            /* tslint:disable:no-unused-variable */\n            var a1 = o.mergeMap(function (x) { return x.toString(); });\n            var a2 = o.mergeMap(function (x) { return x.toString(); }, 3);\n            var a3 = o.mergeMap(function (x) { return x.toString(); }, function (o, i) { return ({ o: o, i: i }); });\n            var a4 = o.mergeMap(function (x) { return x.toString(); }, function (o, i) { return ({ o: o, i: i }); }, 3);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n});\n//# sourceMappingURL=mergeMap-spec.js.map"
  },
  {
    "__docId__": 2330,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1390",
    "testId": 1390,
    "memberof": "spec-js/operators/mergeMap-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390",
    "access": null,
    "description": "Observable.prototype.mergeMap",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{mergeMap}"
      }
    ],
    "testTargets": [
      "mergeMap"
    ]
  },
  {
    "__docId__": 2331,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1391",
    "testId": 1391,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1391",
    "access": null,
    "description": "should mergeMap many regular interval inners",
    "lineNumber": 17
  },
  {
    "__docId__": 2332,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1392",
    "testId": 1392,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1392",
    "access": null,
    "description": "should map values to constant resolved promises and merge",
    "lineNumber": 30
  },
  {
    "__docId__": 2333,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1393",
    "testId": 1393,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1393",
    "access": null,
    "description": "should map values to constant rejected promises and merge",
    "lineNumber": 43
  },
  {
    "__docId__": 2334,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1394",
    "testId": 1394,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1394",
    "access": null,
    "description": "should map values to resolved promises and merge",
    "lineNumber": 57
  },
  {
    "__docId__": 2335,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1395",
    "testId": 1395,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1395",
    "access": null,
    "description": "should map values to rejected promises and merge",
    "lineNumber": 72
  },
  {
    "__docId__": 2336,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1396",
    "testId": 1396,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1396",
    "access": null,
    "description": "should mergeMap values to resolved promises with resultSelector",
    "lineNumber": 86
  },
  {
    "__docId__": 2337,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1397",
    "testId": 1397,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1397",
    "access": null,
    "description": "should mergeMap values to rejected promises with resultSelector",
    "lineNumber": 113
  },
  {
    "__docId__": 2338,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1398",
    "testId": 1398,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1398",
    "access": null,
    "description": "should mergeMap many outer values to many inner values",
    "lineNumber": 130
  },
  {
    "__docId__": 2339,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1399",
    "testId": 1399,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1399",
    "access": null,
    "description": "should mergeMap many outer to many inner, complete late",
    "lineNumber": 145
  },
  {
    "__docId__": 2340,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1400",
    "testId": 1400,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1400",
    "access": null,
    "description": "should mergeMap many outer to many inner, outer never completes",
    "lineNumber": 155
  },
  {
    "__docId__": 2341,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1401",
    "testId": 1401,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1401",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 166
  },
  {
    "__docId__": 2342,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1402",
    "testId": 1402,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1402",
    "access": null,
    "description": "should mergeMap many outer to many inner, inner never completes",
    "lineNumber": 180
  },
  {
    "__docId__": 2343,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1403",
    "testId": 1403,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1403",
    "access": null,
    "description": "should mergeMap many outer to many inner, and inner throws",
    "lineNumber": 190
  },
  {
    "__docId__": 2344,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1404",
    "testId": 1404,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1404",
    "access": null,
    "description": "should mergeMap many outer to many inner, and outer throws",
    "lineNumber": 200
  },
  {
    "__docId__": 2345,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1405",
    "testId": 1405,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1405",
    "access": null,
    "description": "should mergeMap many outer to many inner, both inner and outer throw",
    "lineNumber": 210
  },
  {
    "__docId__": 2346,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1406",
    "testId": 1406,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1406",
    "access": null,
    "description": "should mergeMap to many cold Observable, with parameter concurrency=1",
    "lineNumber": 220
  },
  {
    "__docId__": 2347,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1407",
    "testId": 1407,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1407",
    "access": null,
    "description": "should mergeMap to many cold Observable, with parameter concurrency=2",
    "lineNumber": 236
  },
  {
    "__docId__": 2348,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1408",
    "testId": 1408,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1408",
    "access": null,
    "description": "should mergeMap to many hot Observable, with parameter concurrency=1",
    "lineNumber": 252
  },
  {
    "__docId__": 2349,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1409",
    "testId": 1409,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1409",
    "access": null,
    "description": "should mergeMap to many hot Observable, with parameter concurrency=2",
    "lineNumber": 273
  },
  {
    "__docId__": 2350,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1410",
    "testId": 1410,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1410",
    "access": null,
    "description": "should mergeMap to many cold Observable, with parameter concurrency=1, without resultSelector",
    "lineNumber": 294
  },
  {
    "__docId__": 2351,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1411",
    "testId": 1411,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1411",
    "access": null,
    "description": "should mergeMap to many cold Observable, with parameter concurrency=2, without resultSelector",
    "lineNumber": 309
  },
  {
    "__docId__": 2352,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1412",
    "testId": 1412,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1412",
    "access": null,
    "description": "should mergeMap to many hot Observable, with parameter concurrency=1, without resultSelector",
    "lineNumber": 324
  },
  {
    "__docId__": 2353,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1413",
    "testId": 1413,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1413",
    "access": null,
    "description": "should mergeMap to many hot Observable, with parameter concurrency=2, without resultSelector",
    "lineNumber": 344
  },
  {
    "__docId__": 2354,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1414",
    "testId": 1414,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1414",
    "access": null,
    "description": "should mergeMap many complex, where all inners are finite",
    "lineNumber": 364
  },
  {
    "__docId__": 2355,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1415",
    "testId": 1415,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1415",
    "access": null,
    "description": "should mergeMap many complex, all inners finite except one",
    "lineNumber": 380
  },
  {
    "__docId__": 2356,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1416",
    "testId": 1416,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1416",
    "access": null,
    "description": "should mergeMap many complex, inners finite, outer does not complete",
    "lineNumber": 396
  },
  {
    "__docId__": 2357,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1417",
    "testId": 1417,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1417",
    "access": null,
    "description": "should mergeMap many complex, all inners finite, and outer throws",
    "lineNumber": 412
  },
  {
    "__docId__": 2358,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1418",
    "testId": 1418,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1418",
    "access": null,
    "description": "should mergeMap many complex, all inners complete except one throws",
    "lineNumber": 428
  },
  {
    "__docId__": 2359,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1419",
    "testId": 1419,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1419",
    "access": null,
    "description": "should mergeMap many complex, all inners finite, outer is unsubscribed",
    "lineNumber": 444
  },
  {
    "__docId__": 2360,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1420",
    "testId": 1420,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1420",
    "access": null,
    "description": "should mergeMap many complex, all inners finite, project throws",
    "lineNumber": 461
  },
  {
    "__docId__": 2361,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1421",
    "testId": 1421,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1421",
    "access": null,
    "description": "should mergeMap many outer to an array for each value",
    "lineNumber": 491
  },
  {
    "__docId__": 2362,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1422",
    "testId": 1422,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1422",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, using resultSelector",
    "lineNumber": 499
  },
  {
    "__docId__": 2363,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1423",
    "testId": 1423,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1423",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, and outer throws",
    "lineNumber": 507
  },
  {
    "__docId__": 2364,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1424",
    "testId": 1424,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1424",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, resultSelector, outer throws",
    "lineNumber": 515
  },
  {
    "__docId__": 2365,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1425",
    "testId": 1425,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1425",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, outer gets unsubscribed",
    "lineNumber": 523
  },
  {
    "__docId__": 2366,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1426",
    "testId": 1426,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1426",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, resultSelector, outer unsubscribed",
    "lineNumber": 532
  },
  {
    "__docId__": 2367,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1427",
    "testId": 1427,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1427",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, project throws",
    "lineNumber": 541
  },
  {
    "__docId__": 2368,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1428",
    "testId": 1428,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1428",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, resultSelector throws",
    "lineNumber": 556
  },
  {
    "__docId__": 2369,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1429",
    "testId": 1429,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1429",
    "access": null,
    "description": "should mergeMap many outer to inner arrays, resultSelector, project throws",
    "lineNumber": 569
  },
  {
    "__docId__": 2370,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1430",
    "testId": 1430,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1430",
    "access": null,
    "description": "should map and flatten",
    "lineNumber": 586
  },
  {
    "__docId__": 2371,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1431",
    "testId": 1431,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1431",
    "access": null,
    "description": "should map and flatten an Array",
    "lineNumber": 598
  },
  {
    "__docId__": 2372,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1432",
    "testId": 1432,
    "memberof": "spec-js/operators/mergeMap-spec.js~describe1390",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMap-spec.js~describe1390.it1432",
    "access": null,
    "description": "should support type signatures",
    "lineNumber": 610
  },
  {
    "__docId__": 2373,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/mergeMapTo-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/mergeMapTo-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {mergeMapTo} */\ndescribe('Observable.prototype.mergeMapTo', function () {\n    asDiagram('mergeMapTo( 10\\u2014\\u201410\\u2014\\u201410\\u2014| )')('should map-and-flatten each item to an Observable', function () {\n        var e1 = hot('--1-----3--5-------|');\n        var e1subs = '^                  !';\n        var e2 = cold('x-x-x|              ', { x: 10 });\n        var expected = '--x-x-x-x-xxxx-x---|';\n        var values = { x: 10 };\n        var result = e1.mergeMapTo(e2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many regular interval inners', function () {\n        var x = cold('----1---2---3---(4|)                        ');\n        var xsubs = ['^               !                           ',\n            //                  ----1---2---3---(4|)\n            '    ^               !                       ',\n            //                              ----1---2---3---(4|)\n            '                ^               !           ',\n            //                                      ----1---2---3---(4|)\n            '                        ^               !   '];\n        var e1 = hot('a---b-----------c-------d-------|           ');\n        var e1subs = '^                                       !';\n        var expected = '----1---(21)(32)(43)(41)2---(31)(42)3---(4|)';\n        var source = e1.mergeMapTo(x);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should map values to constant resolved promises and merge', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var results = [];\n        source.mergeMapTo(Observable.from(Promise.resolve(42))).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([42, 42, 42, 42]);\n            done();\n        });\n    });\n    it('should map values to constant rejected promises and merge', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        source.mergeMapTo(Observable.from(Promise.reject(42))).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.equal(42);\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n    it('should mergeMapTo values to resolved promises with resultSelector', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var resultSelectorCalledWith = [];\n        var inner = Observable.from(Promise.resolve(42));\n        var resultSelector = function (outerVal, innerVal, outerIndex, innerIndex) {\n            resultSelectorCalledWith.push([].slice.call(arguments));\n            return 8;\n        };\n        var results = [];\n        var expectedCalls = [\n            [4, 42, 0, 0],\n            [3, 42, 1, 0],\n            [2, 42, 2, 0],\n            [1, 42, 3, 0],\n        ];\n        source.mergeMapTo(inner, resultSelector).subscribe(function (x) {\n            results.push(x);\n        }, function (err) {\n            done(new Error('Subscriber error handler not supposed to be called.'));\n        }, function () {\n            chai_1.expect(results).to.deep.equal([8, 8, 8, 8]);\n            chai_1.expect(resultSelectorCalledWith).to.deep.equal(expectedCalls);\n            done();\n        });\n    });\n    it('should mergeMapTo values to rejected promises with resultSelector', function (done) {\n        var source = Rx.Observable.from([4, 3, 2, 1]);\n        var inner = Observable.from(Promise.reject(42));\n        var resultSelector = function () {\n            throw 'this should not be called';\n        };\n        source.mergeMapTo(inner, resultSelector).subscribe(function (x) {\n            done(new Error('Subscriber next handler not supposed to be called.'));\n        }, function (err) {\n            chai_1.expect(err).to.equal(42);\n            done();\n        }, function () {\n            done(new Error('Subscriber complete handler not supposed to be called.'));\n        });\n    });\n    it('should mergeMapTo many outer values to many inner values', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------|            ');\n        var e1subs = '^                                            !';\n        var inner = cold('----i---j---k---l---|                        ', values);\n        var innersubs = [' ^                   !                        ',\n            '         ^                   !                ',\n            '                 ^                   !        ',\n            '                         ^                   !'];\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)k---l---|';\n        expectObservable(e1.mergeMapTo(inner)).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to many inner, complete late', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-----------------------|');\n        var e1subs = '^                                                !';\n        var inner = cold('----i---j---k---l---|', values);\n        var innersubs = [' ^                   !                            ',\n            '         ^                   !                    ',\n            '                 ^                   !            ',\n            '                         ^                   !    '];\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)k---l-------|';\n        expectObservable(e1.mergeMapTo(inner)).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to many inner, outer never completes', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------e---------------f------');\n        var e1subs = '^                                                      !';\n        var inner = cold('----i---j---k---l---|', values);\n        var innersubs = [' ^                   !                                  ',\n            '         ^                   !                          ',\n            '                 ^                   !                  ',\n            '                         ^                   !          ',\n            '                                 ^                   !  ',\n            '                                                 ^     !'];\n        var unsub = '                                                       !';\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)(ki)(lj)k---l---i-';\n        var source = e1.mergeMapTo(inner);\n        expectObservable(source, unsub).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------e---------------f------');\n        var e1subs = '^                                                      !';\n        var inner = cold('----i---j---k---l---|', values);\n        var innersubs = [' ^                   !                                  ',\n            '         ^                   !                          ',\n            '                 ^                   !                  ',\n            '                         ^                   !          ',\n            '                                 ^                   !  ',\n            '                                                 ^     !'];\n        var unsub = '                                                       !';\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)(ki)(lj)k---l---i-';\n        var source = e1\n            .map(function (x) { return x; })\n            .mergeMapTo(inner)\n            .map(function (x) { return x; });\n        expectObservable(source, unsub).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to many inner, inner never completes', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------|         ');\n        var e1subs = '^                                          ';\n        var inner = cold('----i---j---k---l-', values);\n        var innersubs = [' ^                                         ',\n            '         ^                                 ',\n            '                 ^                         ',\n            '                         ^                 '];\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)(lj)k---l-';\n        expectObservable(e1.mergeMapTo(inner)).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to many inner, and inner throws', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------|');\n        var e1subs = '^                        !        ';\n        var inner = cold('----i---j---k---l-------#        ', values);\n        var innersubs = [' ^                       !        ',\n            '         ^               !        ',\n            '                 ^       !        ',\n            '                         (^!)     '];\n        var expected = '-----i---j---(ki)(lj)(ki)#';\n        expectObservable(e1.mergeMapTo(inner)).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to many inner, and outer throws', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------#');\n        var e1subs = '^                                !';\n        var inner = cold('----i---j---k---l---|            ', values);\n        var innersubs = [' ^                   !            ',\n            '         ^                   !    ',\n            '                 ^               !',\n            '                         ^       !'];\n        var expected = '-----i---j---(ki)(lj)(ki)(lj)(ki)#';\n        expectObservable(e1.mergeMapTo(inner)).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to many inner, both inner and outer throw', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c-------d-------#');\n        var e1subs = '^                    !';\n        var inner = cold('----i---j---k---l---#', values);\n        var innersubs = [' ^                   !',\n            '         ^           !',\n            '                 ^   !'];\n        var expected = '-----i---j---(ki)(lj)#';\n        expectObservable(e1.mergeMapTo(inner)).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many cold Observable, with parameter concurrency=1', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                                        ');\n        var e1subs = '^                                                            !';\n        var inner = cold('----i---j---k---l---|                                        ', values);\n        var innersubs = [' ^                   !                                        ',\n            '                     ^                   !                    ',\n            '                                         ^                   !'];\n        var expected = '-----i---j---k---l-------i---j---k---l-------i---j---k---l---|';\n        function resultSelector(oV, iV, oI, iI) { return iV; }\n        var result = e1.mergeMapTo(inner, resultSelector, 1);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap to many cold Observable, with parameter concurrency=2', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                    ');\n        var e1subs = '^                                        !';\n        var inner = cold('----i---j---k---l---|                    ', values);\n        var innersubs = [' ^                   !                    ',\n            '         ^                   !            ',\n            '                     ^                   !'];\n        var expected = '-----i---j---(ki)(lj)k---(li)j---k---l---|';\n        function resultSelector(oV, iV, oI, iI) { return iV; }\n        var result = e1.mergeMapTo(inner, resultSelector, 2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many cold Observable, with parameter concurrency=1, without resultSelector', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                                        ');\n        var e1subs = '^                                                            !';\n        var inner = cold('----i---j---k---l---|                                        ', values);\n        var innersubs = [' ^                   !                                        ',\n            '                     ^                   !                    ',\n            '                                         ^                   !'];\n        var expected = '-----i---j---k---l-------i---j---k---l-------i---j---k---l---|';\n        var result = e1.mergeMapTo(inner, 1);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMap to many cold Observable, with parameter concurrency=2, without resultSelector', function () {\n        var values = { i: 'foo', j: 'bar', k: 'baz', l: 'qux' };\n        var e1 = hot('-a-------b-------c---|                    ');\n        var e1subs = '^                                        !';\n        var inner = cold('----i---j---k---l---|                    ', values);\n        var innersubs = [' ^                   !                    ',\n            '         ^                   !            ',\n            '                     ^                   !'];\n        var expected = '-----i---j---(ki)(lj)k---(li)j---k---l---|';\n        var result = e1.mergeMapTo(inner, 2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(inner.subscriptions).toBe(innersubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to arrays', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^                               !';\n        var expected = '(0123)(0123)---(0123)---(0123)--|';\n        var source = e1.mergeMapTo(['0', '1', '2', '3']);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to inner arrays, using resultSelector', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^                               !';\n        var expected = '(2345)(4567)---(3456)---(2345)--|';\n        var source = e1.mergeMapTo(['0', '1', '2', '3'], function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to inner arrays, and outer throws', function () {\n        var e1 = hot('2-----4--------3--------2-------#');\n        var e1subs = '^                               !';\n        var expected = '(0123)(0123)---(0123)---(0123)--#';\n        var source = e1.mergeMapTo(['0', '1', '2', '3']);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to inner arrays, resultSelector, outer throws', function () {\n        var e1 = hot('2-----4--------3--------2-------#');\n        var e1subs = '^                               !';\n        var expected = '(2345)(4567)---(3456)---(2345)--#';\n        var source = e1.mergeMapTo(['0', '1', '2', '3'], function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to inner arrays, outer gets unsubscribed', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^            !';\n        var unsub = '             !';\n        var expected = '(0123)(0123)--';\n        var source = e1.mergeMapTo(['0', '1', '2', '3']);\n        expectObservable(source, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to inner arrays, resultSelector, outer unsubscribed', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^            !';\n        var unsub = '             !';\n        var expected = '(2345)(4567)--';\n        var source = e1.mergeMapTo(['0', '1', '2', '3'], function (x, y) { return String(parseInt(x) + parseInt(y)); });\n        expectObservable(source, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeMapTo many outer to inner arrays, resultSelector throws', function () {\n        var e1 = hot('2-----4--------3--------2-------|');\n        var e1subs = '^              !';\n        var expected = '(2345)(4567)---#';\n        var source = e1.mergeMapTo(['0', '1', '2', '3'], function (outer, inner) {\n            if (outer === '3') {\n                throw 'error';\n            }\n            return String(parseInt(outer) + parseInt(inner));\n        });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should map and flatten', function () {\n        var source = Observable.of(1, 2, 3, 4).mergeMapTo(Observable.of('!'));\n        var expected = ['!', '!', '!', '!'];\n        var completed = false;\n        source.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            completed = true;\n        });\n        chai_1.expect(completed).to.be.true;\n    });\n    it('should map and flatten an Array', function () {\n        var source = Observable.of(1, 2, 3, 4).mergeMapTo(['!']);\n        var expected = ['!', '!', '!', '!'];\n        var completed = false;\n        source.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            completed = true;\n        });\n        chai_1.expect(completed).to.be.true;\n    });\n    it('should support type signatures', function () {\n        type(function () {\n            var o;\n            var m;\n            /* tslint:disable:no-unused-variable */\n            var a1 = o.mergeMapTo(m);\n            var a2 = o.mergeMapTo(m, 3);\n            var a3 = o.mergeMapTo(m, function (o, i) { return ({ o: o, i: i }); });\n            var a4 = o.mergeMapTo(m, function (o, i) { return ({ o: o, i: i }); }, 3);\n            /* tslint:enable:no-unused-variable */\n        });\n    });\n});\n//# sourceMappingURL=mergeMapTo-spec.js.map"
  },
  {
    "__docId__": 2374,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1433",
    "testId": 1433,
    "memberof": "spec-js/operators/mergeMapTo-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "access": null,
    "description": "Observable.prototype.mergeMapTo",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{mergeMapTo}"
      }
    ],
    "testTargets": [
      "mergeMapTo"
    ]
  },
  {
    "__docId__": 2375,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1434",
    "testId": 1434,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1434",
    "access": null,
    "description": "should mergeMapTo many regular interval inners",
    "lineNumber": 17
  },
  {
    "__docId__": 2376,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1435",
    "testId": 1435,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1435",
    "access": null,
    "description": "should map values to constant resolved promises and merge",
    "lineNumber": 34
  },
  {
    "__docId__": 2377,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1436",
    "testId": 1436,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1436",
    "access": null,
    "description": "should map values to constant rejected promises and merge",
    "lineNumber": 46
  },
  {
    "__docId__": 2378,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1437",
    "testId": 1437,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1437",
    "access": null,
    "description": "should mergeMapTo values to resolved promises with resultSelector",
    "lineNumber": 57
  },
  {
    "__docId__": 2379,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1438",
    "testId": 1438,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1438",
    "access": null,
    "description": "should mergeMapTo values to rejected promises with resultSelector",
    "lineNumber": 82
  },
  {
    "__docId__": 2380,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1439",
    "testId": 1439,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1439",
    "access": null,
    "description": "should mergeMapTo many outer values to many inner values",
    "lineNumber": 97
  },
  {
    "__docId__": 2381,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1440",
    "testId": 1440,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1440",
    "access": null,
    "description": "should mergeMapTo many outer to many inner, complete late",
    "lineNumber": 111
  },
  {
    "__docId__": 2382,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1441",
    "testId": 1441,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1441",
    "access": null,
    "description": "should mergeMapTo many outer to many inner, outer never completes",
    "lineNumber": 125
  },
  {
    "__docId__": 2383,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1442",
    "testId": 1442,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1442",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 143
  },
  {
    "__docId__": 2384,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1443",
    "testId": 1443,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1443",
    "access": null,
    "description": "should mergeMapTo many outer to many inner, inner never completes",
    "lineNumber": 164
  },
  {
    "__docId__": 2385,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1444",
    "testId": 1444,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1444",
    "access": null,
    "description": "should mergeMapTo many outer to many inner, and inner throws",
    "lineNumber": 178
  },
  {
    "__docId__": 2386,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1445",
    "testId": 1445,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1445",
    "access": null,
    "description": "should mergeMapTo many outer to many inner, and outer throws",
    "lineNumber": 192
  },
  {
    "__docId__": 2387,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1446",
    "testId": 1446,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1446",
    "access": null,
    "description": "should mergeMapTo many outer to many inner, both inner and outer throw",
    "lineNumber": 206
  },
  {
    "__docId__": 2388,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1447",
    "testId": 1447,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1447",
    "access": null,
    "description": "should mergeMapTo many cold Observable, with parameter concurrency=1",
    "lineNumber": 219
  },
  {
    "__docId__": 2389,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1448",
    "testId": 1448,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1448",
    "access": null,
    "description": "should mergeMap to many cold Observable, with parameter concurrency=2",
    "lineNumber": 234
  },
  {
    "__docId__": 2390,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1449",
    "testId": 1449,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1449",
    "access": null,
    "description": "should mergeMapTo many cold Observable, with parameter concurrency=1, without resultSelector",
    "lineNumber": 249
  },
  {
    "__docId__": 2391,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1450",
    "testId": 1450,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1450",
    "access": null,
    "description": "should mergeMap to many cold Observable, with parameter concurrency=2, without resultSelector",
    "lineNumber": 263
  },
  {
    "__docId__": 2392,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1451",
    "testId": 1451,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1451",
    "access": null,
    "description": "should mergeMapTo many outer to arrays",
    "lineNumber": 277
  },
  {
    "__docId__": 2393,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1452",
    "testId": 1452,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1452",
    "access": null,
    "description": "should mergeMapTo many outer to inner arrays, using resultSelector",
    "lineNumber": 285
  },
  {
    "__docId__": 2394,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1453",
    "testId": 1453,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1453",
    "access": null,
    "description": "should mergeMapTo many outer to inner arrays, and outer throws",
    "lineNumber": 293
  },
  {
    "__docId__": 2395,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1454",
    "testId": 1454,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1454",
    "access": null,
    "description": "should mergeMapTo many outer to inner arrays, resultSelector, outer throws",
    "lineNumber": 301
  },
  {
    "__docId__": 2396,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1455",
    "testId": 1455,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1455",
    "access": null,
    "description": "should mergeMapTo many outer to inner arrays, outer gets unsubscribed",
    "lineNumber": 309
  },
  {
    "__docId__": 2397,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1456",
    "testId": 1456,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1456",
    "access": null,
    "description": "should mergeMapTo many outer to inner arrays, resultSelector, outer unsubscribed",
    "lineNumber": 318
  },
  {
    "__docId__": 2398,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1457",
    "testId": 1457,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1457",
    "access": null,
    "description": "should mergeMapTo many outer to inner arrays, resultSelector throws",
    "lineNumber": 327
  },
  {
    "__docId__": 2399,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1458",
    "testId": 1458,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1458",
    "access": null,
    "description": "should map and flatten",
    "lineNumber": 340
  },
  {
    "__docId__": 2400,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1459",
    "testId": 1459,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1459",
    "access": null,
    "description": "should map and flatten an Array",
    "lineNumber": 352
  },
  {
    "__docId__": 2401,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1460",
    "testId": 1460,
    "memberof": "spec-js/operators/mergeMapTo-spec.js~describe1433",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeMapTo-spec.js~describe1433.it1460",
    "access": null,
    "description": "should support type signatures",
    "lineNumber": 364
  },
  {
    "__docId__": 2402,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/mergeScan-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/mergeScan-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {mergeScan} */\ndescribe('Observable.prototype.mergeScan', function () {\n    it('should mergeScan things', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                    !';\n        var expected = '---u--v--w--x--y--z--|';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c'],\n            w: ['b', 'c', 'd'],\n            x: ['b', 'c', 'd', 'e'],\n            y: ['b', 'c', 'd', 'e', 'f'],\n            z: ['b', 'c', 'd', 'e', 'f', 'g']\n        };\n        var source = e1.mergeScan(function (acc, x) { return Observable.of(acc.concat(x)); }, []);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle errors', function () {\n        var e1 = hot('--a--^--b--c--d--#');\n        var e1subs = '^           !';\n        var expected = '---u--v--w--#';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c'],\n            w: ['b', 'c', 'd']\n        };\n        var source = e1.mergeScan(function (acc, x) { return Observable.of(acc.concat(x)); }, []);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeScan values and be able to asynchronously project them', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                    !';\n        var expected = '-----u--v--w--x--y--z|';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c'],\n            w: ['b', 'c', 'd'],\n            x: ['b', 'c', 'd', 'e'],\n            y: ['b', 'c', 'd', 'e', 'f'],\n            z: ['b', 'c', 'd', 'e', 'f', 'g']\n        };\n        var source = e1.mergeScan(function (acc, x) {\n            return Observable.of(acc.concat(x)).delay(20, rxTestScheduler);\n        }, []);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not stop ongoing async projections when source completes', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                      !';\n        var expected = '--------u--v--w--x--y--(z|)';\n        var values = {\n            u: ['b'],\n            v: ['c'],\n            w: ['b', 'd'],\n            x: ['c', 'e'],\n            y: ['b', 'd', 'f'],\n            z: ['c', 'e', 'g'],\n        };\n        var source = e1.mergeScan(function (acc, x) {\n            return Observable.of(acc.concat(x)).delay(50, rxTestScheduler);\n        }, []);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should interrupt ongoing async projections when result is unsubscribed early', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^               !     ';\n        var expected = '--------u--v--w--     ';\n        var values = {\n            u: ['b'],\n            v: ['c'],\n            w: ['b', 'd'],\n            x: ['c', 'e'],\n            y: ['b', 'd', 'f'],\n            z: ['c', 'e', 'g'],\n        };\n        var source = e1.mergeScan(function (acc, x) {\n            return Observable.of(acc.concat(x)).delay(50, rxTestScheduler);\n        }, []);\n        expectObservable(source, e1subs).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^               !     ';\n        var expected = '--------u--v--w--     ';\n        var unsub = '                !     ';\n        var values = {\n            u: ['b'],\n            v: ['c'],\n            w: ['b', 'd'],\n            x: ['c', 'e'],\n            y: ['b', 'd', 'f'],\n            z: ['c', 'e', 'g'],\n        };\n        var source = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .mergeScan(function (acc, x) {\n            return Observable.of(acc.concat(x)).delay(50, rxTestScheduler);\n        }, [])\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(source, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle errors in the projection function', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^        !';\n        var expected = '---u--v--#';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c']\n        };\n        var source = e1.mergeScan(function (acc, x) {\n            if (x === 'd') {\n                throw 'bad!';\n            }\n            return Observable.of(acc.concat(x));\n        }, []);\n        expectObservable(source).toBe(expected, values, 'bad!');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should propagate errors from the projected Observable', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^  !';\n        var expected = '---#';\n        var source = e1.mergeScan(function (acc, x) { return Observable.throw('bad!'); }, []);\n        expectObservable(source).toBe(expected, undefined, 'bad!');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an empty projected Observable', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                    !';\n        var expected = '---------------------(x|)';\n        var values = { x: [] };\n        var source = e1.mergeScan(function (acc, x) { return Observable.empty(); }, []);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a never projected Observable', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                     ';\n        var expected = '----------------------';\n        var values = { x: [] };\n        var source = e1.mergeScan(function (acc, x) { return Observable.never(); }, []);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('handle empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '(u|)';\n        var values = {\n            u: []\n        };\n        var source = e1.mergeScan(function (acc, x) { return Observable.of(acc.concat(x)); }, []);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('handle never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var source = e1.mergeScan(function (acc, x) { return Observable.of(acc.concat(x)); }, []);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('handle throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        var source = e1.mergeScan(function (acc, x) { return Observable.of(acc.concat(x)); }, []);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergeScan unsubscription', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var expected = '---u--v--w--x--';\n        var sub = '^             !';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c'],\n            w: ['b', 'c', 'd'],\n            x: ['b', 'c', 'd', 'e'],\n            y: ['b', 'c', 'd', 'e', 'f'],\n            z: ['b', 'c', 'd', 'e', 'f', 'g']\n        };\n        var source = e1.mergeScan(function (acc, x) { return Observable.of(acc.concat(x)); }, []);\n        expectObservable(source, sub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should mergescan projects cold Observable with single concurrency', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^                                  !';\n        var inner = [\n            cold('--d--e--f--|                      '),\n            cold('--g--h--i--|           '),\n            cold('--j--k--l--|')\n        ];\n        var xsubs = '  ^          !';\n        var ysubs = '             ^          !';\n        var zsubs = '                        ^          !';\n        var expected = '--x-d--e--f--f-g--h--i--i-j--k--l--|';\n        var index = 0;\n        var source = e1.mergeScan(function (acc, x) {\n            var value = inner[index++];\n            return value.startWith(acc);\n        }, 'x', 1);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner[0].subscriptions).toBe(xsubs);\n        expectSubscriptions(inner[1].subscriptions).toBe(ysubs);\n        expectSubscriptions(inner[2].subscriptions).toBe(zsubs);\n    });\n    it('should emit accumulator if inner completes without value', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                    !';\n        var expected = '---------------------(x|)';\n        var source = e1.mergeScan(function (acc, x) { return Observable.empty(); }, ['1']);\n        expectObservable(source).toBe(expected, { x: ['1'] });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should emit accumulator if inner completes without value after source completes', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                      !';\n        var expected = '-----------------------(x|)';\n        var source = e1.mergeScan(function (acc, x) {\n            return Observable.empty().delay(50, rxTestScheduler);\n        }, ['1']);\n        expectObservable(source).toBe(expected, { x: ['1'] });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should mergescan projects hot Observable with single concurrency', function () {\n        var e1 = hot('---a---b---c---|');\n        var e1subs = '^                           !';\n        var inner = [\n            hot('--d--e--f--|'),\n            hot('----g----h----i----|'),\n            hot('------j------k-------l------|')\n        ];\n        var xsubs = '   ^       !';\n        var ysubs = '           ^       !';\n        var zsubs = '                   ^        !';\n        var expected = '---x-e--f--f--i----i-l------|';\n        var index = 0;\n        var source = e1.mergeScan(function (acc, x) {\n            var value = inner[index++];\n            return value.startWith(acc);\n        }, 'x', 1);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner[0].subscriptions).toBe(xsubs);\n        expectSubscriptions(inner[1].subscriptions).toBe(ysubs);\n        expectSubscriptions(inner[2].subscriptions).toBe(zsubs);\n    });\n    it('should mergescan projects cold Observable with dual concurrency', function () {\n        var e1 = hot('----a----b----c----|');\n        var e1subs = '^                                 !';\n        var inner = [\n            cold('---d---e---f---|               '),\n            cold('---g---h---i---|          '),\n            cold('---j---k---l---|')\n        ];\n        var xsubs = '    ^              !';\n        var ysubs = '         ^              !';\n        var zsubs = '                   ^              !';\n        var expected = '----x--d-d-eg--fh--hi-j---k---l---|';\n        var index = 0;\n        var source = e1.mergeScan(function (acc, x) {\n            var value = inner[index++];\n            return value.startWith(acc);\n        }, 'x', 2);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner[0].subscriptions).toBe(xsubs);\n        expectSubscriptions(inner[1].subscriptions).toBe(ysubs);\n        expectSubscriptions(inner[2].subscriptions).toBe(zsubs);\n    });\n    it('should mergescan projects hot Observable with dual concurrency', function () {\n        var e1 = hot('---a---b---c---|');\n        var e1subs = '^                           !';\n        var inner = [\n            hot('--d--e--f--|'),\n            hot('----g----h----i----|'),\n            hot('------j------k-------l------|')\n        ];\n        var xsubs = '   ^       !';\n        var ysubs = '       ^           !';\n        var zsubs = '           ^                !';\n        var expected = '---x-e-efh-h-ki------l------|';\n        var index = 0;\n        var source = e1.mergeScan(function (acc, x) {\n            var value = inner[index++];\n            return value.startWith(acc);\n        }, 'x', 2);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(inner[0].subscriptions).toBe(xsubs);\n        expectSubscriptions(inner[1].subscriptions).toBe(ysubs);\n        expectSubscriptions(inner[2].subscriptions).toBe(zsubs);\n    });\n});\n//# sourceMappingURL=mergeScan-spec.js.map"
  },
  {
    "__docId__": 2403,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1461",
    "testId": 1461,
    "memberof": "spec-js/operators/mergeScan-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461",
    "access": null,
    "description": "Observable.prototype.mergeScan",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{mergeScan}"
      }
    ],
    "testTargets": [
      "mergeScan"
    ]
  },
  {
    "__docId__": 2404,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1462",
    "testId": 1462,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1462",
    "access": null,
    "description": "should mergeScan things",
    "lineNumber": 6
  },
  {
    "__docId__": 2405,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1463",
    "testId": 1463,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1463",
    "access": null,
    "description": "should handle errors",
    "lineNumber": 22
  },
  {
    "__docId__": 2406,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1464",
    "testId": 1464,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1464",
    "access": null,
    "description": "should mergeScan values and be able to asynchronously project them",
    "lineNumber": 35
  },
  {
    "__docId__": 2407,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1465",
    "testId": 1465,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1465",
    "access": null,
    "description": "should not stop ongoing async projections when source completes",
    "lineNumber": 53
  },
  {
    "__docId__": 2408,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1466",
    "testId": 1466,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1466",
    "access": null,
    "description": "should interrupt ongoing async projections when result is unsubscribed early",
    "lineNumber": 71
  },
  {
    "__docId__": 2409,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1467",
    "testId": 1467,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1467",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 89
  },
  {
    "__docId__": 2410,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1468",
    "testId": 1468,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1468",
    "access": null,
    "description": "should handle errors in the projection function",
    "lineNumber": 111
  },
  {
    "__docId__": 2411,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1469",
    "testId": 1469,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1469",
    "access": null,
    "description": "should propagate errors from the projected Observable",
    "lineNumber": 128
  },
  {
    "__docId__": 2412,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1470",
    "testId": 1470,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1470",
    "access": null,
    "description": "should handle an empty projected Observable",
    "lineNumber": 136
  },
  {
    "__docId__": 2413,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1471",
    "testId": 1471,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1471",
    "access": null,
    "description": "should handle a never projected Observable",
    "lineNumber": 145
  },
  {
    "__docId__": 2414,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1472",
    "testId": 1472,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1472",
    "access": null,
    "description": "handle empty",
    "lineNumber": 154
  },
  {
    "__docId__": 2415,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1473",
    "testId": 1473,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1473",
    "access": null,
    "description": "handle never",
    "lineNumber": 165
  },
  {
    "__docId__": 2416,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1474",
    "testId": 1474,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1474",
    "access": null,
    "description": "handle throw",
    "lineNumber": 173
  },
  {
    "__docId__": 2417,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1475",
    "testId": 1475,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1475",
    "access": null,
    "description": "should mergeScan unsubscription",
    "lineNumber": 181
  },
  {
    "__docId__": 2418,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1476",
    "testId": 1476,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1476",
    "access": null,
    "description": "should mergescan projects cold Observable with single concurrency",
    "lineNumber": 197
  },
  {
    "__docId__": 2419,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1477",
    "testId": 1477,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1477",
    "access": null,
    "description": "should emit accumulator if inner completes without value",
    "lineNumber": 220
  },
  {
    "__docId__": 2420,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1478",
    "testId": 1478,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1478",
    "access": null,
    "description": "should emit accumulator if inner completes without value after source completes",
    "lineNumber": 228
  },
  {
    "__docId__": 2421,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1479",
    "testId": 1479,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1479",
    "access": null,
    "description": "should mergescan projects hot Observable with single concurrency",
    "lineNumber": 238
  },
  {
    "__docId__": 2422,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1480",
    "testId": 1480,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1480",
    "access": null,
    "description": "should mergescan projects cold Observable with dual concurrency",
    "lineNumber": 261
  },
  {
    "__docId__": 2423,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1481",
    "testId": 1481,
    "memberof": "spec-js/operators/mergeScan-spec.js~describe1461",
    "testDepth": 1,
    "longname": "spec-js/operators/mergeScan-spec.js~describe1461.it1481",
    "access": null,
    "description": "should mergescan projects hot Observable with dual concurrency",
    "lineNumber": 284
  },
  {
    "__docId__": 2424,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/min-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/min-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {min} */\ndescribe('Observable.prototype.min', function () {\n    asDiagram('min')('should min the values of an observable', function () {\n        var source = hot('--a--b--c--|', { a: 42, b: -1, c: 3 });\n        var subs = '^          !';\n        var expected = '-----------(x|)';\n        expectObservable(source.min()).toBe(expected, { x: -1 });\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should be never when source is never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.min()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be zero when source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.min()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be never when source doesn\\'t complete', function () {\n        var e1 = hot('--x--^--y--');\n        var e1subs = '^     ';\n        var expected = '------';\n        expectObservable(e1.min()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be completes when source doesn\\'t have values', function () {\n        var e1 = hot('-x-^---|');\n        var e1subs = '^   !';\n        var expected = '----|';\n        expectObservable(e1.min()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should min the unique value of an observable', function () {\n        var e1 = hot('-x-^--y--|', { y: 42 });\n        var e1subs = '^     !';\n        var expected = '------(w|)';\n        expectObservable(e1.min()).toBe(expected, { w: 42 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should min the values of an ongoing hot observable', function () {\n        var e1 = hot('--a-^-b--c--d--|', { a: 42, b: -1, c: 0, d: 666 });\n        var subs = '^          !';\n        var expected = '-----------(x|)';\n        expectObservable(e1.min()).toBe(expected, { x: -1 });\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should min a range() source observable', function (done) {\n        Rx.Observable.range(1, 10000).min().subscribe(function (value) {\n            chai_1.expect(value).to.equal(1);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should min a range().skip(1) source observable', function (done) {\n        Rx.Observable.range(1, 10).skip(1).min().subscribe(function (value) {\n            chai_1.expect(value).to.equal(2);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should min a range().take(1) source observable', function (done) {\n        Rx.Observable.range(1, 10).take(1).min().subscribe(function (value) {\n            chai_1.expect(value).to.equal(1);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should work with error', function () {\n        var e1 = hot('-x-^--y--z--#', { x: 1, y: 2, z: 3 }, 'too bad');\n        var e1subs = '^        !';\n        var expected = '---------#';\n        expectObservable(e1.min()).toBe(expected, null, 'too bad');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.min()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a constant predicate on an empty hot observable', function () {\n        var e1 = hot('-x-^---|');\n        var e1subs = '^   !';\n        var expected = '----|';\n        var predicate = function (x, y) {\n            return 42;\n        };\n        expectObservable(e1.min(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a constant predicate on an never hot observable', function () {\n        var e1 = hot('-x-^----');\n        var e1subs = '^    ';\n        var expected = '-----';\n        var predicate = function (x, y) {\n            return 42;\n        };\n        expectObservable(e1.min(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a constant predicate on a simple hot observable', function () {\n        var e1 = hot('-x-^-a-|', { a: 1 });\n        var e1subs = '^   !';\n        var expected = '----(w|)';\n        var predicate = function () {\n            return 42;\n        };\n        expectObservable(e1.min(predicate)).toBe(expected, { w: 1 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('-x-^-a-b-c-d-e-f-g-|');\n        var unsub = '       !         ';\n        var e1subs = '^      !         ';\n        var expected = '--------         ';\n        var predicate = function () {\n            return 42;\n        };\n        expectObservable(e1.min(predicate), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('-x-^-a-b-c-d-e-f-g-|');\n        var e1subs = '^      !         ';\n        var expected = '--------         ';\n        var unsub = '       !         ';\n        var predicate = function () {\n            return 42;\n        };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .min(predicate)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a reverse predicate on observable with many values', function () {\n        var e1 = hot('-a-^-b--c--d-|', { a: 42, b: -1, c: 0, d: 666 });\n        var e1subs = '^         !';\n        var expected = '----------(w|)';\n        var predicate = function (x, y) {\n            return x > y ? -1 : 1;\n        };\n        expectObservable(e1.min(predicate)).toBe(expected, { w: 666 });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a predicate for string on observable with many values', function () {\n        var e1 = hot('-a-^-b--c--d-|');\n        var e1subs = '^         !';\n        var expected = '----------(w|)';\n        var predicate = function (x, y) {\n            return x > y ? -1 : 1;\n        };\n        expectObservable(e1.min(predicate)).toBe(expected, { w: 'd' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a constant predicate on observable that throws', function () {\n        var e1 = hot('-1-^---#');\n        var e1subs = '^   !';\n        var expected = '----#';\n        var predicate = function () {\n            return 42;\n        };\n        expectObservable(e1.min(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a predicate that throws, on observable with many values', function () {\n        var e1 = hot('-1-^-2--3--|');\n        var e1subs = '^    !   ';\n        var expected = '-----#   ';\n        var predicate = function (x, y) {\n            if (y === '3') {\n                throw 'error';\n            }\n            return x > y ? x : y;\n        };\n        expectObservable(e1.min(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=min-spec.js.map"
  },
  {
    "__docId__": 2425,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1482",
    "testId": 1482,
    "memberof": "spec-js/operators/min-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/min-spec.js~describe1482",
    "access": null,
    "description": "Observable.prototype.min",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{min}"
      }
    ],
    "testTargets": [
      "min"
    ]
  },
  {
    "__docId__": 2426,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1483",
    "testId": 1483,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1483",
    "access": null,
    "description": "should be never when source is never",
    "lineNumber": 14
  },
  {
    "__docId__": 2427,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1484",
    "testId": 1484,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1484",
    "access": null,
    "description": "should be zero when source is empty",
    "lineNumber": 21
  },
  {
    "__docId__": 2428,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1485",
    "testId": 1485,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1485",
    "access": null,
    "description": "should be never when source doesn't complete",
    "lineNumber": 28
  },
  {
    "__docId__": 2429,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1486",
    "testId": 1486,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1486",
    "access": null,
    "description": "should be completes when source doesn't have values",
    "lineNumber": 35
  },
  {
    "__docId__": 2430,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1487",
    "testId": 1487,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1487",
    "access": null,
    "description": "should min the unique value of an observable",
    "lineNumber": 42
  },
  {
    "__docId__": 2431,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1488",
    "testId": 1488,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1488",
    "access": null,
    "description": "should min the values of an ongoing hot observable",
    "lineNumber": 49
  },
  {
    "__docId__": 2432,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1489",
    "testId": 1489,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1489",
    "access": null,
    "description": "should min a range() source observable",
    "lineNumber": 56
  },
  {
    "__docId__": 2433,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1490",
    "testId": 1490,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1490",
    "access": null,
    "description": "should min a range().skip(1) source observable",
    "lineNumber": 65
  },
  {
    "__docId__": 2434,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1491",
    "testId": 1491,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1491",
    "access": null,
    "description": "should min a range().take(1) source observable",
    "lineNumber": 74
  },
  {
    "__docId__": 2435,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1492",
    "testId": 1492,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1492",
    "access": null,
    "description": "should work with error",
    "lineNumber": 83
  },
  {
    "__docId__": 2436,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1493",
    "testId": 1493,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1493",
    "access": null,
    "description": "should work with throw",
    "lineNumber": 90
  },
  {
    "__docId__": 2437,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1494",
    "testId": 1494,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1494",
    "access": null,
    "description": "should handle a constant predicate on an empty hot observable",
    "lineNumber": 97
  },
  {
    "__docId__": 2438,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1495",
    "testId": 1495,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1495",
    "access": null,
    "description": "should handle a constant predicate on an never hot observable",
    "lineNumber": 107
  },
  {
    "__docId__": 2439,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1496",
    "testId": 1496,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1496",
    "access": null,
    "description": "should handle a constant predicate on a simple hot observable",
    "lineNumber": 117
  },
  {
    "__docId__": 2440,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1497",
    "testId": 1497,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1497",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 127
  },
  {
    "__docId__": 2441,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1498",
    "testId": 1498,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1498",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 138
  },
  {
    "__docId__": 2442,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1499",
    "testId": 1499,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1499",
    "access": null,
    "description": "should handle a reverse predicate on observable with many values",
    "lineNumber": 153
  },
  {
    "__docId__": 2443,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1500",
    "testId": 1500,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1500",
    "access": null,
    "description": "should handle a predicate for string on observable with many values",
    "lineNumber": 163
  },
  {
    "__docId__": 2444,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1501",
    "testId": 1501,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1501",
    "access": null,
    "description": "should handle a constant predicate on observable that throws",
    "lineNumber": 173
  },
  {
    "__docId__": 2445,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1502",
    "testId": 1502,
    "memberof": "spec-js/operators/min-spec.js~describe1482",
    "testDepth": 1,
    "longname": "spec-js/operators/min-spec.js~describe1482.it1502",
    "access": null,
    "description": "should handle a predicate that throws, on observable with many values",
    "lineNumber": 183
  },
  {
    "__docId__": 2446,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/multicast-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/multicast-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar Subject = Rx.Subject;\nvar ReplaySubject = Rx.ReplaySubject;\n/** @test {multicast} */\ndescribe('Observable.prototype.multicast', function () {\n    asDiagram('multicast(() => new Subject())')('should mirror a simple source Observable', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = '^              !';\n        var multicasted = source.multicast(function () { return new Subject(); });\n        var expected = '--1-2---3-4--5-|';\n        expectObservable(multicasted).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        multicasted.connect();\n    });\n    it('should accept Subjects', function (done) {\n        var expected = [1, 2, 3, 4];\n        var connectable = Observable.of(1, 2, 3, 4).multicast(new Subject());\n        connectable.subscribe(function (x) { chai_1.expect(x).to.equal(expected.shift()); }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        connectable.connect();\n    });\n    it('should accept Subject factory functions', function (done) {\n        var expected = [1, 2, 3, 4];\n        var connectable = Observable.of(1, 2, 3, 4).multicast(function () { return new Subject(); });\n        connectable.subscribe(function (x) { chai_1.expect(x).to.equal(expected.shift()); }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        connectable.connect();\n    });\n    it('should accept a multicast selector and connect to a hot source for each subscriber', function () {\n        var source = hot('-1-2-3----4-|');\n        var sourceSubs = ['^           !',\n            '    ^       !',\n            '        ^   !'];\n        var multicasted = source.multicast(function () { return new Subject(); }, function (x) { return x.zip(x, function (a, b) { return (parseInt(a) + parseInt(b)).toString(); }); });\n        var subscriber1 = hot('a|           ').mergeMapTo(multicasted);\n        var expected1 = '-2-4-6----8-|';\n        var subscriber2 = hot('    b|       ').mergeMapTo(multicasted);\n        var expected2 = '    -6----8-|';\n        var subscriber3 = hot('        c|   ').mergeMapTo(multicasted);\n        var expected3 = '        --8-|';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should accept a multicast selector and connect to a cold source for each subscriber', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = ['^           !',\n            '    ^           !',\n            '        ^           !'];\n        var multicasted = source.multicast(function () { return new Subject(); }, function (x) { return x.zip(x, function (a, b) { return (parseInt(a) + parseInt(b)).toString(); }); });\n        var expected1 = '-2-4-6----8-|';\n        var expected2 = '    -2-4-6----8-|';\n        var expected3 = '        -2-4-6----8-|';\n        var subscriber1 = hot('a|           ').mergeMapTo(multicasted);\n        var subscriber2 = hot('    b|       ').mergeMapTo(multicasted);\n        var subscriber3 = hot('        c|   ').mergeMapTo(multicasted);\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should accept a multicast selector and respect the subject\\'s messaging semantics', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = ['^           !',\n            '    ^           !',\n            '        ^           !'];\n        var multicasted = source.multicast(function () { return new ReplaySubject(1); }, function (x) { return x.concat(x.takeLast(1)); });\n        var expected1 = '-1-2-3----4-(4|)';\n        var expected2 = '    -1-2-3----4-(4|)';\n        var expected3 = '        -1-2-3----4-(4|)';\n        var subscriber1 = hot('a|           ').mergeMapTo(multicasted);\n        var subscriber2 = hot('    b|       ').mergeMapTo(multicasted);\n        var subscriber3 = hot('        c|   ').mergeMapTo(multicasted);\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should do nothing if connect is not called, despite subscriptions', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = [];\n        var multicasted = source.multicast(function () { return new Subject(); });\n        var expected = '-';\n        expectObservable(multicasted).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should multicast the same values to multiple observers', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^           !';\n        var multicasted = source.multicast(function () { return new Subject(); });\n        var subscriber1 = hot('a|           ').mergeMapTo(multicasted);\n        var expected1 = '-1-2-3----4-|';\n        var subscriber2 = hot('    b|       ').mergeMapTo(multicasted);\n        var expected2 = '    -3----4-|';\n        var subscriber3 = hot('        c|   ').mergeMapTo(multicasted);\n        var expected3 = '        --4-|';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        multicasted.connect();\n    });\n    it('should multicast an error from the source to multiple observers', function () {\n        var source = cold('-1-2-3----4-#');\n        var sourceSubs = '^           !';\n        var multicasted = source.multicast(function () { return new Subject(); });\n        var subscriber1 = hot('a|           ').mergeMapTo(multicasted);\n        var expected1 = '-1-2-3----4-#';\n        var subscriber2 = hot('    b|       ').mergeMapTo(multicasted);\n        var expected2 = '    -3----4-#';\n        var subscriber3 = hot('        c|   ').mergeMapTo(multicasted);\n        var expected3 = '        --4-#';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        multicasted.connect();\n    });\n    it('should multicast the same values to multiple observers, ' +\n        'but is unsubscribed explicitly and early', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var multicasted = source.multicast(function () { return new Subject(); });\n        var unsub = '         u   ';\n        var subscriber1 = hot('a|           ').mergeMapTo(multicasted);\n        var expected1 = '-1-2-3----   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(multicasted);\n        var expected2 = '    -3----   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(multicasted);\n        var expected3 = '        --   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = multicasted.connect();\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var multicasted = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .multicast(function () { return new Subject(); });\n        var subscriber1 = hot('a|           ').mergeMapTo(multicasted);\n        var expected1 = '-1-2-3----   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(multicasted);\n        var expected2 = '    -3----   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(multicasted);\n        var expected3 = '        --   ';\n        var unsub = '         u   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = multicasted.connect();\n    });\n    it('should multicast an empty source', function () {\n        var source = cold('|');\n        var sourceSubs = '(^!)';\n        var multicasted = source.multicast(function () { return new Subject(); });\n        var expected = '|';\n        expectObservable(multicasted).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        multicasted.connect();\n    });\n    it('should multicast a never source', function () {\n        var source = cold('-');\n        var sourceSubs = '^';\n        var multicasted = source.multicast(function () { return new Subject(); });\n        var expected = '-';\n        expectObservable(multicasted).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        multicasted.connect();\n    });\n    it('should multicast a throw source', function () {\n        var source = cold('#');\n        var sourceSubs = '(^!)';\n        var multicasted = source.multicast(function () { return new Subject(); });\n        var expected = '#';\n        expectObservable(multicasted).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        multicasted.connect();\n    });\n    describe('with refCount() and subject factory', function () {\n        it('should connect when first subscriber subscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^           !';\n            var multicasted = source.multicast(function () { return new Subject(); }).refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(multicasted);\n            var expected1 = '   -1-2-3----4-|';\n            var subscriber2 = hot('       b|       ').mergeMapTo(multicasted);\n            var expected2 = '       -3----4-|';\n            var subscriber3 = hot('           c|   ').mergeMapTo(multicasted);\n            var expected3 = '           --4-|';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should disconnect when last subscriber unsubscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^        !   ';\n            var multicasted = source.multicast(function () { return new Subject(); }).refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(multicasted);\n            var unsub1 = '          !     ';\n            var expected1 = '   -1-2-3--     ';\n            var subscriber2 = hot('       b|       ').mergeMapTo(multicasted);\n            var unsub2 = '            !   ';\n            var expected2 = '       -3----   ';\n            expectObservable(subscriber1, unsub1).toBe(expected1);\n            expectObservable(subscriber2, unsub2).toBe(expected2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should be retryable when cold source is synchronous', function () {\n            function subjectFactory() { return new Subject(); }\n            var source = cold('(123#)');\n            var multicasted = source.multicast(subjectFactory).refCount();\n            var subscribe1 = 's               ';\n            var expected1 = '(123123123123#) ';\n            var subscribe2 = ' s              ';\n            var expected2 = ' (123123123123#)';\n            var sourceSubs = ['(^!)',\n                '(^!)',\n                '(^!)',\n                '(^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)'];\n            expectObservable(hot(subscribe1).do(function () {\n                expectObservable(multicasted.retry(3)).toBe(expected1);\n            })).toBe(subscribe1);\n            expectObservable(hot(subscribe2).do(function () {\n                expectObservable(multicasted.retry(3)).toBe(expected2);\n            })).toBe(subscribe2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should be retryable with ReplaySubject and cold source is synchronous', function () {\n            function subjectFactory() { return new Rx.ReplaySubject(1); }\n            var source = cold('(123#)');\n            var multicasted = source.multicast(subjectFactory).refCount();\n            var subscribe1 = 's               ';\n            var expected1 = '(123123123123#) ';\n            var subscribe2 = ' s              ';\n            var expected2 = ' (123123123123#)';\n            var sourceSubs = ['(^!)',\n                '(^!)',\n                '(^!)',\n                '(^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)'];\n            expectObservable(hot(subscribe1).do(function () {\n                expectObservable(multicasted.retry(3)).toBe(expected1);\n            })).toBe(subscribe1);\n            expectObservable(hot(subscribe2).do(function () {\n                expectObservable(multicasted.retry(3)).toBe(expected2);\n            })).toBe(subscribe2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should be repeatable when cold source is synchronous', function () {\n            function subjectFactory() { return new Subject(); }\n            var source = cold('(123|)');\n            var multicasted = source.multicast(subjectFactory).refCount();\n            var subscribe1 = 's                  ';\n            var expected1 = '(123123123123123|) ';\n            var subscribe2 = ' s                 ';\n            var expected2 = ' (123123123123123|)';\n            var sourceSubs = ['(^!)',\n                '(^!)',\n                '(^!)',\n                '(^!)',\n                '(^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)'];\n            expectObservable(hot(subscribe1).do(function () {\n                expectObservable(multicasted.repeat(5)).toBe(expected1);\n            })).toBe(subscribe1);\n            expectObservable(hot(subscribe2).do(function () {\n                expectObservable(multicasted.repeat(5)).toBe(expected2);\n            })).toBe(subscribe2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should be repeatable with ReplaySubject and cold source is synchronous', function () {\n            function subjectFactory() { return new Rx.ReplaySubject(1); }\n            var source = cold('(123|)');\n            var multicasted = source.multicast(subjectFactory).refCount();\n            var subscribe1 = 's                  ';\n            var expected1 = '(123123123123123|) ';\n            var subscribe2 = ' s                 ';\n            var expected2 = ' (123123123123123|)';\n            var sourceSubs = ['(^!)',\n                '(^!)',\n                '(^!)',\n                '(^!)',\n                '(^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)',\n                ' (^!)'];\n            expectObservable(hot(subscribe1).do(function () {\n                expectObservable(multicasted.repeat(5)).toBe(expected1);\n            })).toBe(subscribe1);\n            expectObservable(hot(subscribe2).do(function () {\n                expectObservable(multicasted.repeat(5)).toBe(expected2);\n            })).toBe(subscribe2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should be retryable', function () {\n            function subjectFactory() { return new Subject(); }\n            var source = cold('-1-2-3----4-#                        ');\n            var sourceSubs = ['^           !                        ',\n                '            ^           !            ',\n                '                        ^           !'];\n            var multicasted = source.multicast(subjectFactory).refCount();\n            var subscribe1 = 's                                    ';\n            var expected1 = '-1-2-3----4--1-2-3----4--1-2-3----4-#';\n            var subscribe2 = '    s                                ';\n            var expected2 = '    -3----4--1-2-3----4--1-2-3----4-#';\n            expectObservable(hot(subscribe1).do(function () {\n                expectObservable(multicasted.retry(2)).toBe(expected1);\n            })).toBe(subscribe1);\n            expectObservable(hot(subscribe2).do(function () {\n                expectObservable(multicasted.retry(2)).toBe(expected2);\n            })).toBe(subscribe2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should be retryable using a ReplaySubject', function () {\n            function subjectFactory() { return new Rx.ReplaySubject(1); }\n            var source = cold('-1-2-3----4-#                        ');\n            var sourceSubs = ['^           !                        ',\n                '            ^           !            ',\n                '                        ^           !'];\n            var multicasted = source.multicast(subjectFactory).refCount();\n            var expected1 = '-1-2-3----4--1-2-3----4--1-2-3----4-#';\n            var subscribe2 = time('----|                                ');\n            var expected2 = '    23----4--1-2-3----4--1-2-3----4-#';\n            expectObservable(multicasted.retry(2)).toBe(expected1);\n            rxTestScheduler.schedule(function () {\n                return expectObservable(multicasted.retry(2)).toBe(expected2);\n            }, subscribe2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should be repeatable', function () {\n            function subjectFactory() { return new Subject(); }\n            var source = cold('-1-2-3----4-|                        ');\n            var sourceSubs = ['^           !                        ',\n                '            ^           !            ',\n                '                        ^           !'];\n            var multicasted = source.multicast(subjectFactory).refCount();\n            var subscribe1 = 's                                    ';\n            var expected1 = '-1-2-3----4--1-2-3----4--1-2-3----4-|';\n            var subscribe2 = '    s                                ';\n            var expected2 = '    -3----4--1-2-3----4--1-2-3----4-|';\n            expectObservable(hot(subscribe1).do(function () {\n                expectObservable(multicasted.repeat(3)).toBe(expected1);\n            })).toBe(subscribe1);\n            expectObservable(hot(subscribe2).do(function () {\n                expectObservable(multicasted.repeat(3)).toBe(expected2);\n            })).toBe(subscribe2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should be repeatable using a ReplaySubject', function () {\n            function subjectFactory() { return new Rx.ReplaySubject(1); }\n            var source = cold('-1-2-3----4-|                        ');\n            var sourceSubs = ['^           !                        ',\n                '            ^           !            ',\n                '                        ^           !'];\n            var multicasted = source.multicast(subjectFactory).refCount();\n            var subscribe1 = 's                                    ';\n            var expected1 = '-1-2-3----4--1-2-3----4--1-2-3----4-|';\n            var subscribe2 = '    s                                ';\n            var expected2 = '    23----4--1-2-3----4--1-2-3----4-|';\n            expectObservable(hot(subscribe1).do(function () {\n                expectObservable(multicasted.repeat(3)).toBe(expected1);\n            })).toBe(subscribe1);\n            expectObservable(hot(subscribe2).do(function () {\n                expectObservable(multicasted.repeat(3)).toBe(expected2);\n            })).toBe(subscribe2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n    });\n    it('should multicast one observable to multiple observers', function (done) {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            observer.complete();\n        });\n        var connectable = source.multicast(function () {\n            return new Subject();\n        });\n        connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        connectable.subscribe(function (x) {\n            results2.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([]);\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.connect();\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(subscriptions).to.equal(1);\n        done();\n    });\n    it('should remove all subscribers from the subject when disconnected', function () {\n        var subject = new Subject();\n        var expected = [1, 2, 3, 4];\n        var i = 0;\n        var source = Observable.from([1, 2, 3, 4]).multicast(subject);\n        source.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        });\n        source.connect();\n        chai_1.expect(subject.observers.length).to.equal(0);\n    });\n    describe('when given a subject factory', function () {\n        it('should allow you to reconnect by subscribing again', function (done) {\n            var expected = [1, 2, 3, 4];\n            var i = 0;\n            var source = Observable.of(1, 2, 3, 4).multicast(function () { return new Subject(); });\n            source.subscribe(function (x) {\n                chai_1.expect(x).to.equal(expected[i++]);\n            }, null, function () {\n                i = 0;\n                source.subscribe(function (x) {\n                    chai_1.expect(x).to.equal(expected[i++]);\n                }, null, done);\n                source.connect();\n            });\n            source.connect();\n        });\n        it('should not throw ObjectUnsubscribedError when used in ' +\n            'a switchMap', function (done) {\n            var source = Observable.of(1, 2, 3)\n                .multicast(function () { return new Subject(); })\n                .refCount();\n            var expected = ['a1', 'a2', 'a3', 'b1', 'b2', 'b3', 'c1', 'c2', 'c3'];\n            Observable.of('a', 'b', 'c')\n                .switchMap(function (letter) { return source.map(function (n) { return String(letter + n); }); })\n                .subscribe(function (x) {\n                chai_1.expect(x).to.equal(expected.shift());\n            }, function (x) {\n                done(new Error('should not be called'));\n            }, function () {\n                chai_1.expect(expected.length).to.equal(0);\n                done();\n            });\n        });\n    });\n    describe('when given a subject', function () {\n        it('should not throw ObjectUnsubscribedError when used in ' +\n            'a switchMap', function (done) {\n            var source = Observable.of(1, 2, 3)\n                .multicast(new Subject())\n                .refCount();\n            var expected = ['a1', 'a2', 'a3'];\n            Observable.of('a', 'b', 'c')\n                .switchMap(function (letter) { return source.map(function (n) { return String(letter + n); }); })\n                .subscribe(function (x) {\n                chai_1.expect(x).to.equal(expected.shift());\n            }, function (x) {\n                done(new Error('should not be called'));\n            }, function () {\n                chai_1.expect(expected.length).to.equal(0);\n                done();\n            });\n        });\n    });\n});\n//# sourceMappingURL=multicast-spec.js.map"
  },
  {
    "__docId__": 2447,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1503",
    "testId": 1503,
    "memberof": "spec-js/operators/multicast-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/multicast-spec.js~describe1503",
    "access": null,
    "description": "Observable.prototype.multicast",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{multicast}"
      }
    ],
    "testTargets": [
      "multicast"
    ]
  },
  {
    "__docId__": 2448,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1504",
    "testId": 1504,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1504",
    "access": null,
    "description": "should accept Subjects",
    "lineNumber": 18
  },
  {
    "__docId__": 2449,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1505",
    "testId": 1505,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1505",
    "access": null,
    "description": "should accept Subject factory functions",
    "lineNumber": 28
  },
  {
    "__docId__": 2450,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1506",
    "testId": 1506,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1506",
    "access": null,
    "description": "should accept a multicast selector and connect to a hot source for each subscriber",
    "lineNumber": 38
  },
  {
    "__docId__": 2451,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1507",
    "testId": 1507,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1507",
    "access": null,
    "description": "should accept a multicast selector and connect to a cold source for each subscriber",
    "lineNumber": 55
  },
  {
    "__docId__": 2452,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1508",
    "testId": 1508,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1508",
    "access": null,
    "description": "should accept a multicast selector and respect the subject's messaging semantics",
    "lineNumber": 72
  },
  {
    "__docId__": 2453,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1509",
    "testId": 1509,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1509",
    "access": null,
    "description": "should do nothing if connect is not called, despite subscriptions",
    "lineNumber": 89
  },
  {
    "__docId__": 2454,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1510",
    "testId": 1510,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1510",
    "access": null,
    "description": "should multicast the same values to multiple observers",
    "lineNumber": 97
  },
  {
    "__docId__": 2455,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1511",
    "testId": 1511,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1511",
    "access": null,
    "description": "should multicast an error from the source to multiple observers",
    "lineNumber": 113
  },
  {
    "__docId__": 2456,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1512",
    "testId": 1512,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1512",
    "access": null,
    "lineNumber": 129
  },
  {
    "__docId__": 2457,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1513",
    "testId": 1513,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1513",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 152
  },
  {
    "__docId__": 2458,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1514",
    "testId": 1514,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1514",
    "access": null,
    "description": "should multicast an empty source",
    "lineNumber": 176
  },
  {
    "__docId__": 2459,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1515",
    "testId": 1515,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1515",
    "access": null,
    "description": "should multicast a never source",
    "lineNumber": 185
  },
  {
    "__docId__": 2460,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1516",
    "testId": 1516,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1516",
    "access": null,
    "description": "should multicast a throw source",
    "lineNumber": 194
  },
  {
    "__docId__": 2461,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1517",
    "testId": 1517,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "access": null,
    "description": "with refCount() and subject factory",
    "lineNumber": 203
  },
  {
    "__docId__": 2462,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1518",
    "testId": 1518,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1518",
    "access": null,
    "description": "should connect when first subscriber subscribes",
    "lineNumber": 204
  },
  {
    "__docId__": 2463,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1519",
    "testId": 1519,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1519",
    "access": null,
    "description": "should disconnect when last subscriber unsubscribes",
    "lineNumber": 219
  },
  {
    "__docId__": 2464,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1520",
    "testId": 1520,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1520",
    "access": null,
    "description": "should be retryable when cold source is synchronous",
    "lineNumber": 233
  },
  {
    "__docId__": 2465,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1521",
    "testId": 1521,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1521",
    "access": null,
    "description": "should be retryable with ReplaySubject and cold source is synchronous",
    "lineNumber": 257
  },
  {
    "__docId__": 2466,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1522",
    "testId": 1522,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1522",
    "access": null,
    "description": "should be repeatable when cold source is synchronous",
    "lineNumber": 281
  },
  {
    "__docId__": 2467,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1523",
    "testId": 1523,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1523",
    "access": null,
    "description": "should be repeatable with ReplaySubject and cold source is synchronous",
    "lineNumber": 307
  },
  {
    "__docId__": 2468,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1524",
    "testId": 1524,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1524",
    "access": null,
    "description": "should be retryable",
    "lineNumber": 333
  },
  {
    "__docId__": 2469,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1525",
    "testId": 1525,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1525",
    "access": null,
    "description": "should be retryable using a ReplaySubject",
    "lineNumber": 352
  },
  {
    "__docId__": 2470,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1526",
    "testId": 1526,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1526",
    "access": null,
    "description": "should be repeatable",
    "lineNumber": 368
  },
  {
    "__docId__": 2471,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1527",
    "testId": 1527,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1517",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1517.it1527",
    "access": null,
    "description": "should be repeatable using a ReplaySubject",
    "lineNumber": 387
  },
  {
    "__docId__": 2472,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1528",
    "testId": 1528,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1528",
    "access": null,
    "description": "should multicast one observable to multiple observers",
    "lineNumber": 407
  },
  {
    "__docId__": 2473,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1529",
    "testId": 1529,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.it1529",
    "access": null,
    "description": "should remove all subscribers from the subject when disconnected",
    "lineNumber": 436
  },
  {
    "__docId__": 2474,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1530",
    "testId": 1530,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1530",
    "access": null,
    "description": "when given a subject factory",
    "lineNumber": 447
  },
  {
    "__docId__": 2475,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1531",
    "testId": 1531,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1530",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1530.it1531",
    "access": null,
    "description": "should allow you to reconnect by subscribing again",
    "lineNumber": 448
  },
  {
    "__docId__": 2476,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1532",
    "testId": 1532,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1530",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1530.it1532",
    "access": null,
    "lineNumber": 463
  },
  {
    "__docId__": 2477,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1533",
    "testId": 1533,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503",
    "testDepth": 1,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1533",
    "access": null,
    "description": "when given a subject",
    "lineNumber": 481
  },
  {
    "__docId__": 2478,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1534",
    "testId": 1534,
    "memberof": "spec-js/operators/multicast-spec.js~describe1503.describe1533",
    "testDepth": 2,
    "longname": "spec-js/operators/multicast-spec.js~describe1503.describe1533.it1534",
    "access": null,
    "lineNumber": 482
  },
  {
    "__docId__": 2479,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/observeOn-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/observeOn-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {observeOn} */\ndescribe('Observable.prototype.observeOn', function () {\n    asDiagram('observeOn(scheduler)')('should observe on specified scheduler', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '--a--b--|';\n        var sub = '^       !';\n        expectObservable(e1.observeOn(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should observe after specified delay', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '-----a--b--|';\n        var sub = '^          !';\n        expectObservable(e1.observeOn(rxTestScheduler, 30)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should observe when source raises error', function () {\n        var e1 = hot('--a--#');\n        var expected = '--a--#';\n        var sub = '^    !';\n        expectObservable(e1.observeOn(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should observe when source is empty', function () {\n        var e1 = hot('-----|');\n        var expected = '-----|';\n        var sub = '^    !';\n        expectObservable(e1.observeOn(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should observe when source does not complete', function () {\n        var e1 = hot('-----');\n        var expected = '-----';\n        var sub = '^    ';\n        expectObservable(e1.observeOn(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--b--|');\n        var sub = '^   !    ';\n        var expected = '--a--    ';\n        var unsub = '    !    ';\n        var result = e1.observeOn(rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should not break unsubscription chains when the result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--|');\n        var sub = '^   !    ';\n        var expected = '--a--    ';\n        var unsub = '    !    ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .observeOn(rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n});\n//# sourceMappingURL=observeOn-spec.js.map"
  },
  {
    "__docId__": 2480,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1535",
    "testId": 1535,
    "memberof": "spec-js/operators/observeOn-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/observeOn-spec.js~describe1535",
    "access": null,
    "description": "Observable.prototype.observeOn",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{observeOn}"
      }
    ],
    "testTargets": [
      "observeOn"
    ]
  },
  {
    "__docId__": 2481,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1536",
    "testId": 1536,
    "memberof": "spec-js/operators/observeOn-spec.js~describe1535",
    "testDepth": 1,
    "longname": "spec-js/operators/observeOn-spec.js~describe1535.it1536",
    "access": null,
    "description": "should observe after specified delay",
    "lineNumber": 13
  },
  {
    "__docId__": 2482,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1537",
    "testId": 1537,
    "memberof": "spec-js/operators/observeOn-spec.js~describe1535",
    "testDepth": 1,
    "longname": "spec-js/operators/observeOn-spec.js~describe1535.it1537",
    "access": null,
    "description": "should observe when source raises error",
    "lineNumber": 20
  },
  {
    "__docId__": 2483,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1538",
    "testId": 1538,
    "memberof": "spec-js/operators/observeOn-spec.js~describe1535",
    "testDepth": 1,
    "longname": "spec-js/operators/observeOn-spec.js~describe1535.it1538",
    "access": null,
    "description": "should observe when source is empty",
    "lineNumber": 27
  },
  {
    "__docId__": 2484,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1539",
    "testId": 1539,
    "memberof": "spec-js/operators/observeOn-spec.js~describe1535",
    "testDepth": 1,
    "longname": "spec-js/operators/observeOn-spec.js~describe1535.it1539",
    "access": null,
    "description": "should observe when source does not complete",
    "lineNumber": 34
  },
  {
    "__docId__": 2485,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1540",
    "testId": 1540,
    "memberof": "spec-js/operators/observeOn-spec.js~describe1535",
    "testDepth": 1,
    "longname": "spec-js/operators/observeOn-spec.js~describe1535.it1540",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 41
  },
  {
    "__docId__": 2486,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1541",
    "testId": 1541,
    "memberof": "spec-js/operators/observeOn-spec.js~describe1535",
    "testDepth": 1,
    "longname": "spec-js/operators/observeOn-spec.js~describe1535.it1541",
    "access": null,
    "description": "should not break unsubscription chains when the result is unsubscribed explicitly",
    "lineNumber": 50
  },
  {
    "__docId__": 2487,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/onErrorResumeNext-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\ndescribe('Observable.prototype.onErrorResumeNext', function () {\n    asDiagram('onErrorResumeNext')('should continue observable sequence with next observable', function () {\n        var source = hot('--a--b--#');\n        var next = cold('--c--d--|');\n        var subs = '^               !';\n        var expected = '--a--b----c--d--|';\n        expectObservable(source.onErrorResumeNext(next)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should continue with hot observables', function () {\n        var source = hot('--a--b--#');\n        var next = hot('-----x----c--d--|');\n        var subs = '^               !';\n        var expected = '--a--b----c--d--|';\n        expectObservable(source.onErrorResumeNext(next)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should continue with array of multiple observables throw error', function () {\n        var source = hot('--a--b--#');\n        var next = [cold('--c--d--#'),\n            cold('--e--#'),\n            cold('--f--g--|')];\n        var subs = '^                            !';\n        var expected = '--a--b----c--d----e----f--g--|';\n        expectObservable(source.onErrorResumeNext(next)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should continue with multiple observables throw error', function () {\n        var source = hot('--a--b--#');\n        var next1 = cold('--c--d--#');\n        var next2 = cold('--e--#');\n        var next3 = cold('--f--g--|');\n        var subs = '^                            !';\n        var expected = '--a--b----c--d----e----f--g--|';\n        expectObservable(source.onErrorResumeNext(next1, next2, next3)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should continue with multiple observables does not throw error', function () {\n        var source = hot('--a--b--|');\n        var next1 = cold('--c--d--|');\n        var next2 = cold('--e--|');\n        var next3 = cold('--f--g--|');\n        var subs = '^                            !';\n        var expected = '--a--b----c--d----e----f--g--|';\n        expectObservable(source.onErrorResumeNext(next1, next2, next3)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should continue after empty observable', function () {\n        var source = hot('|');\n        var next1 = cold('--c--d--|');\n        var next2 = cold('--e--#');\n        var next3 = cold('--f--g--|');\n        var subs = '^                    !';\n        var expected = '--c--d----e----f--g--|';\n        expectObservable(source.onErrorResumeNext(next1, next2, next3)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not complete with observble does not ends', function () {\n        var source = hot('--a--b--|');\n        var next1 = cold('--');\n        var subs = '^         ';\n        var expected = '--a--b----';\n        expectObservable(source.onErrorResumeNext(next1)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not continue with observble does not ends', function () {\n        var source = hot('--');\n        var next1 = cold('-a--b-');\n        var subs = '^       ';\n        var expected = '-';\n        expectObservable(source.onErrorResumeNext(next1)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should complete observable with next observable throws', function () {\n        var source = hot('--a--b--#');\n        var next = cold('--c--d--#');\n        var subs = '^               !';\n        var expected = '--a--b----c--d--|';\n        expectObservable(source.onErrorResumeNext(next)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should work with promise', function (done) {\n        var expected = [1, 2];\n        var source = Observable.concat(Observable.of(1), Observable.throw('meh'));\n        source.onErrorResumeNext(Promise.resolve(2))\n            .subscribe(function (x) {\n            chai_1.expect(expected.shift()).to.equal(x);\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected).to.be.empty;\n            done();\n        });\n    });\n});\n//# sourceMappingURL=onErrorResumeNext-spec.js.map"
  },
  {
    "__docId__": 2488,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1542",
    "testId": 1542,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "access": null,
    "description": "Observable.prototype.onErrorResumeNext",
    "lineNumber": 5
  },
  {
    "__docId__": 2489,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1543",
    "testId": 1543,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "testDepth": 1,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542.it1543",
    "access": null,
    "description": "should continue with hot observables",
    "lineNumber": 14
  },
  {
    "__docId__": 2490,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1544",
    "testId": 1544,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "testDepth": 1,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542.it1544",
    "access": null,
    "description": "should continue with array of multiple observables throw error",
    "lineNumber": 22
  },
  {
    "__docId__": 2491,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1545",
    "testId": 1545,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "testDepth": 1,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542.it1545",
    "access": null,
    "description": "should continue with multiple observables throw error",
    "lineNumber": 32
  },
  {
    "__docId__": 2492,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1546",
    "testId": 1546,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "testDepth": 1,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542.it1546",
    "access": null,
    "description": "should continue with multiple observables does not throw error",
    "lineNumber": 42
  },
  {
    "__docId__": 2493,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1547",
    "testId": 1547,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "testDepth": 1,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542.it1547",
    "access": null,
    "description": "should continue after empty observable",
    "lineNumber": 52
  },
  {
    "__docId__": 2494,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1548",
    "testId": 1548,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "testDepth": 1,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542.it1548",
    "access": null,
    "description": "should not complete with observble does not ends",
    "lineNumber": 62
  },
  {
    "__docId__": 2495,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1549",
    "testId": 1549,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "testDepth": 1,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542.it1549",
    "access": null,
    "description": "should not continue with observble does not ends",
    "lineNumber": 70
  },
  {
    "__docId__": 2496,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1550",
    "testId": 1550,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "testDepth": 1,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542.it1550",
    "access": null,
    "description": "should complete observable with next observable throws",
    "lineNumber": 78
  },
  {
    "__docId__": 2497,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1551",
    "testId": 1551,
    "memberof": "spec-js/operators/onErrorResumeNext-spec.js~describe1542",
    "testDepth": 1,
    "longname": "spec-js/operators/onErrorResumeNext-spec.js~describe1542.it1551",
    "access": null,
    "description": "should work with promise",
    "lineNumber": 86
  },
  {
    "__docId__": 2498,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/pairwise-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/pairwise-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 2,
    "content": "/** @test {pairwise} */\ndescribe('Observable.prototype.pairwise', function () {\n    asDiagram('pairwise')('should group consecutive emissions as arrays of two', function () {\n        var e1 = hot('--a--b-c----d--e---|');\n        var expected = '-----u-v----w--x---|';\n        var values = {\n            u: ['a', 'b'],\n            v: ['b', 'c'],\n            w: ['c', 'd'],\n            x: ['d', 'e']\n        };\n        var source = e1.pairwise();\n        expectObservable(source).toBe(expected, values);\n    });\n    it('should pairwise things', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                    !';\n        var expected = '------v--w--x--y--z--|';\n        var values = {\n            v: ['b', 'c'],\n            w: ['c', 'd'],\n            x: ['d', 'e'],\n            y: ['e', 'f'],\n            z: ['f', 'g']\n        };\n        var source = e1.pairwise();\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not emit on single-element streams', function () {\n        var e1 = hot('-----^--b----|');\n        var e1subs = '^       !';\n        var expected = '--------|';\n        var values = {};\n        var source = e1.pairwise();\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle mid-stream throw', function () {\n        var e1 = hot('--a--^--b--c--d--e--#');\n        var e1subs = '^              !';\n        var expected = '------v--w--x--#';\n        var values = {\n            v: ['b', 'c'],\n            w: ['c', 'd'],\n            x: ['d', 'e']\n        };\n        var source = e1.pairwise();\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        var source = e1.pairwise();\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var source = e1.pairwise();\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        var source = e1.pairwise();\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=pairwise-spec.js.map"
  },
  {
    "__docId__": 2499,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1552",
    "testId": 1552,
    "memberof": "spec-js/operators/pairwise-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/pairwise-spec.js~describe1552",
    "access": null,
    "description": "Observable.prototype.pairwise",
    "lineNumber": 2,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{pairwise}"
      }
    ],
    "testTargets": [
      "pairwise"
    ]
  },
  {
    "__docId__": 2500,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1553",
    "testId": 1553,
    "memberof": "spec-js/operators/pairwise-spec.js~describe1552",
    "testDepth": 1,
    "longname": "spec-js/operators/pairwise-spec.js~describe1552.it1553",
    "access": null,
    "description": "should pairwise things",
    "lineNumber": 15
  },
  {
    "__docId__": 2501,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1554",
    "testId": 1554,
    "memberof": "spec-js/operators/pairwise-spec.js~describe1552",
    "testDepth": 1,
    "longname": "spec-js/operators/pairwise-spec.js~describe1552.it1554",
    "access": null,
    "description": "should not emit on single-element streams",
    "lineNumber": 30
  },
  {
    "__docId__": 2502,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1555",
    "testId": 1555,
    "memberof": "spec-js/operators/pairwise-spec.js~describe1552",
    "testDepth": 1,
    "longname": "spec-js/operators/pairwise-spec.js~describe1552.it1555",
    "access": null,
    "description": "should handle mid-stream throw",
    "lineNumber": 39
  },
  {
    "__docId__": 2503,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1556",
    "testId": 1556,
    "memberof": "spec-js/operators/pairwise-spec.js~describe1552",
    "testDepth": 1,
    "longname": "spec-js/operators/pairwise-spec.js~describe1552.it1556",
    "access": null,
    "description": "should handle empty",
    "lineNumber": 52
  },
  {
    "__docId__": 2504,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1557",
    "testId": 1557,
    "memberof": "spec-js/operators/pairwise-spec.js~describe1552",
    "testDepth": 1,
    "longname": "spec-js/operators/pairwise-spec.js~describe1552.it1557",
    "access": null,
    "description": "should handle never",
    "lineNumber": 60
  },
  {
    "__docId__": 2505,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1558",
    "testId": 1558,
    "memberof": "spec-js/operators/pairwise-spec.js~describe1552",
    "testDepth": 1,
    "longname": "spec-js/operators/pairwise-spec.js~describe1552.it1558",
    "access": null,
    "description": "should handle throw",
    "lineNumber": 68
  },
  {
    "__docId__": 2506,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/partition-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/partition-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {partition} */\ndescribe('Observable.prototype.partition', function () {\n    function expectObservableArray(result, expected) {\n        for (var idx = 0; idx < result.length; idx++) {\n            expectObservable(result[idx]).toBe(expected[idx]);\n        }\n    }\n    asDiagram('partition(x => x % 2 === 1)')('should partition an observable of ' +\n        'integers into even and odd', function () {\n        var e1 = hot('--1-2---3------4--5---6--|');\n        var e1subs = '^                        !';\n        var expected = ['--1-----3---------5------|',\n            '----2----------4------6--|'];\n        var result = e1.partition(function (x) { return x % 2 === 1; });\n        expectObservableArray(result, expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should partition an observable into two using a predicate', function () {\n        var e1 = hot('--a-b---a------d--a---c--|');\n        var e1subs = '^                        !';\n        var expected = ['--a-----a---------a------|',\n            '----b----------d------c--|'];\n        function predicate(x) {\n            return x === 'a';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should pass errors to both returned observables', function () {\n        var e1 = hot('--a-b---#');\n        var e1subs = '^       !';\n        var expected = ['--a-----#',\n            '----b---#'];\n        function predicate(x) {\n            return x === 'a';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should pass errors to both returned observables if source throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = ['#',\n            '#'];\n        function predicate(x) {\n            return x === 'a';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should pass errors to both returned observables if predicate throws', function () {\n        var e1 = hot('--a-b--a--|');\n        var e1subs = '^      !   ';\n        var expected = ['--a----#   ',\n            '----b--#   '];\n        var index = 0;\n        var error = 'error';\n        function predicate(x) {\n            var match = x === 'a';\n            if (match && index++ > 1) {\n                throw error;\n            }\n            return match;\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should partition empty observable if source does not emits', function () {\n        var e1 = hot('----|');\n        var e1subs = '^   !';\n        var expected = ['----|',\n            '----|'];\n        function predicate(x) {\n            return x === 'x';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should partition empty observable if source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = ['|',\n            '|'];\n        function predicate(x) {\n            return x === 'x';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should partition if source emits single elements', function () {\n        var e1 = hot('--a--|');\n        var e1subs = '^    !';\n        var expected = ['--a--|',\n            '-----|'];\n        function predicate(x) {\n            return x === 'a';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should partition if predicate matches all of source elements', function () {\n        var e1 = hot('--a--a--a--a--a--a--a--|');\n        var e1subs = '^                      !';\n        var expected = ['--a--a--a--a--a--a--a--|',\n            '-----------------------|'];\n        function predicate(x) {\n            return x === 'a';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should partition if predicate does not match all of source elements', function () {\n        var e1 = hot('--b--b--b--b--b--b--b--|');\n        var e1subs = '^                      !';\n        var expected = ['-----------------------|',\n            '--b--b--b--b--b--b--b--|'];\n        function predicate(x) {\n            return x === 'a';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should partition to infinite observable if source does not completes', function () {\n        var e1 = hot('--a-b---a------d----');\n        var e1subs = '^                   ';\n        var expected = ['--a-----a-----------',\n            '----b----------d----'];\n        function predicate(x) {\n            return x === 'a';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should partition to infinite observable if source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = ['-',\n            '-'];\n        function predicate(x) {\n            return x === 'a';\n        }\n        expectObservableArray(e1.partition(predicate), expected);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should partition into two observable with early unsubscription', function () {\n        var e1 = hot('--a-b---a------d-|');\n        var unsub = '       !          ';\n        var e1subs = '^      !          ';\n        var expected = ['--a-----          ',\n            '----b---          '];\n        function predicate(x) {\n            return x === 'a';\n        }\n        var result = e1.partition(predicate);\n        for (var idx = 0; idx < result.length; idx++) {\n            expectObservable(result[idx], unsub).toBe(expected[idx]);\n        }\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a-b---a------d-|');\n        var e1subs = '^      !          ';\n        var expected = ['--a-----          ',\n            '----b---          '];\n        var unsub = '       !          ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .partition(function (x) { return x === 'a'; })\n            .map(function (observable) {\n            return observable.mergeMap(function (x) { return Observable.of(x); });\n        });\n        expectObservable(result[0], unsub).toBe(expected[0]);\n        expectObservable(result[1], unsub).toBe(expected[1]);\n        expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);\n    });\n    it('should throw without predicate', function () {\n        var e1 = hot('--a-b---a------d----');\n        chai_1.expect(e1.partition).to.throw();\n    });\n});\n//# sourceMappingURL=partition-spec.js.map"
  },
  {
    "__docId__": 2507,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1559",
    "testId": 1559,
    "memberof": "spec-js/operators/partition-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/partition-spec.js~describe1559",
    "access": null,
    "description": "Observable.prototype.partition",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{partition}"
      }
    ],
    "testTargets": [
      "partition"
    ]
  },
  {
    "__docId__": 2508,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1560",
    "testId": 1560,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1560",
    "access": null,
    "description": "should partition an observable into two using a predicate",
    "lineNumber": 22
  },
  {
    "__docId__": 2509,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1561",
    "testId": 1561,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1561",
    "access": null,
    "description": "should pass errors to both returned observables",
    "lineNumber": 33
  },
  {
    "__docId__": 2510,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1562",
    "testId": 1562,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1562",
    "access": null,
    "description": "should pass errors to both returned observables if source throws",
    "lineNumber": 44
  },
  {
    "__docId__": 2511,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1563",
    "testId": 1563,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1563",
    "access": null,
    "description": "should pass errors to both returned observables if predicate throws",
    "lineNumber": 55
  },
  {
    "__docId__": 2512,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1564",
    "testId": 1564,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1564",
    "access": null,
    "description": "should partition empty observable if source does not emits",
    "lineNumber": 72
  },
  {
    "__docId__": 2513,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1565",
    "testId": 1565,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1565",
    "access": null,
    "description": "should partition empty observable if source is empty",
    "lineNumber": 83
  },
  {
    "__docId__": 2514,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1566",
    "testId": 1566,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1566",
    "access": null,
    "description": "should partition if source emits single elements",
    "lineNumber": 94
  },
  {
    "__docId__": 2515,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1567",
    "testId": 1567,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1567",
    "access": null,
    "description": "should partition if predicate matches all of source elements",
    "lineNumber": 105
  },
  {
    "__docId__": 2516,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1568",
    "testId": 1568,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1568",
    "access": null,
    "description": "should partition if predicate does not match all of source elements",
    "lineNumber": 116
  },
  {
    "__docId__": 2517,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1569",
    "testId": 1569,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1569",
    "access": null,
    "description": "should partition to infinite observable if source does not completes",
    "lineNumber": 127
  },
  {
    "__docId__": 2518,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1570",
    "testId": 1570,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1570",
    "access": null,
    "description": "should partition to infinite observable if source never completes",
    "lineNumber": 138
  },
  {
    "__docId__": 2519,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1571",
    "testId": 1571,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1571",
    "access": null,
    "description": "should partition into two observable with early unsubscription",
    "lineNumber": 149
  },
  {
    "__docId__": 2520,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1572",
    "testId": 1572,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1572",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 164
  },
  {
    "__docId__": 2521,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1573",
    "testId": 1573,
    "memberof": "spec-js/operators/partition-spec.js~describe1559",
    "testDepth": 1,
    "longname": "spec-js/operators/partition-spec.js~describe1559.it1573",
    "access": null,
    "description": "should throw without predicate",
    "lineNumber": 180
  },
  {
    "__docId__": 2522,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/pluck-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/pluck-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {pluck} */\ndescribe('Observable.prototype.pluck', function () {\n    asDiagram('pluck(\\'v\\')')('should dematerialize an Observable', function () {\n        var values = {\n            a: '{v:1}',\n            b: '{v:2}',\n            c: '{v:3}'\n        };\n        var e1 = cold('--a--b--c--|', values);\n        var expected = '--x--y--z--|';\n        var result = e1.map(function (x) { return ({ v: x.charAt(3) }); }).pluck('v');\n        expectObservable(result).toBe(expected, { x: '1', y: '2', z: '3' });\n    });\n    it('should work for one object', function () {\n        var a = cold('--x--|', { x: { prop: 42 } });\n        var asubs = '^    !';\n        var expected = '--y--|';\n        var r = a.pluck('prop');\n        expectObservable(r).toBe(expected, { y: 42 });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should work for multiple objects', function () {\n        var inputs = {\n            a: { prop: '1' },\n            b: { prop: '2' },\n            c: { prop: '3' },\n            d: { prop: '4' },\n            e: { prop: '5' },\n        };\n        var a = cold('--a-b--c-d---e-|', inputs);\n        var asubs = '^              !';\n        var expected = '--1-2--3-4---5-|';\n        var r = a.pluck('prop');\n        expectObservable(r).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should work with deep nested properties', function () {\n        var inputs = {\n            a: { a: { b: { c: '1' } } },\n            b: { a: { b: { c: '2' } } },\n            c: { a: { b: { c: '3' } } },\n            d: { a: { b: { c: '4' } } },\n            e: { a: { b: { c: '5' } } },\n        };\n        var a = cold('--a-b--c-d---e-|', inputs);\n        var asubs = '^              !';\n        var expected = '--1-2--3-4---5-|';\n        var r = a.pluck('a', 'b', 'c');\n        expectObservable(r).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should work with edge cases of deep nested properties', function () {\n        var inputs = {\n            a: { a: { b: { c: 1 } } },\n            b: { a: { b: 2 } },\n            c: { a: { c: { c: 3 } } },\n            d: {},\n            e: { a: { b: { c: 5 } } },\n        };\n        var a = cold('--a-b--c-d---e-|', inputs);\n        var asubs = '^              !';\n        var expected = '--r-x--y-z---w-|';\n        var values = { r: 1, x: undefined, y: undefined, z: undefined, w: 5 };\n        var r = a.pluck('a', 'b', 'c');\n        expectObservable(r).toBe(expected, values);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should throw an error if not property is passed', function () {\n        chai_1.expect(function () {\n            Observable.of({ prop: 1 }, { prop: 2 }).pluck();\n        }).to.throw(Error, 'list of properties cannot be empty.');\n    });\n    it('should propagate errors from observable that emits only errors', function () {\n        var a = cold('#');\n        var asubs = '(^!)';\n        var expected = '#';\n        var r = a.pluck('whatever');\n        expectObservable(r).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should propagate errors from observable that emit values', function () {\n        var a = cold('--a--b--#', { a: { prop: '1' }, b: { prop: '2' } }, 'too bad');\n        var asubs = '^       !';\n        var expected = '--1--2--#';\n        var r = a.pluck('prop');\n        expectObservable(r).toBe(expected, undefined, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should not pluck an empty observable', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var expected = '|';\n        var invoked = 0;\n        var r = a\n            .pluck('whatever')\n            .do(null, null, function () {\n            chai_1.expect(invoked).to.equal(0);\n        });\n        expectObservable(r).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var a = cold('--a--b--c--|', { a: { prop: '1' }, b: { prop: '2' } });\n        var unsub = '      !     ';\n        var asubs = '^     !     ';\n        var expected = '--1--2-     ';\n        var r = a.pluck('prop');\n        expectObservable(r, unsub).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should pluck twice', function () {\n        var inputs = {\n            a: { a: { b: { c: '1' } } },\n            b: { a: { b: { c: '2' } } },\n            c: { a: { b: { c: '3' } } },\n            d: { a: { b: { c: '4' } } },\n            e: { a: { b: { c: '5' } } },\n        };\n        var a = cold('--a-b--c-d---e-|', inputs);\n        var asubs = '^              !';\n        var expected = '--1-2--3-4---5-|';\n        var r = a.pluck('a', 'b').pluck('c');\n        expectObservable(r).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var a = cold('--a--b--c--|', { a: { prop: '1' }, b: { prop: '2' } });\n        var unsub = '      !     ';\n        var asubs = '^     !     ';\n        var expected = '--1--2-     ';\n        var r = a\n            .mergeMap(function (x) { return Observable.of(x); })\n            .pluck('prop')\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(r, unsub).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n    });\n});\n//# sourceMappingURL=pluck-spec.js.map"
  },
  {
    "__docId__": 2523,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1574",
    "testId": 1574,
    "memberof": "spec-js/operators/pluck-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/pluck-spec.js~describe1574",
    "access": null,
    "description": "Observable.prototype.pluck",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{pluck}"
      }
    ],
    "testTargets": [
      "pluck"
    ]
  },
  {
    "__docId__": 2524,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1575",
    "testId": 1575,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1575",
    "access": null,
    "description": "should work for one object",
    "lineNumber": 18
  },
  {
    "__docId__": 2525,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1576",
    "testId": 1576,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1576",
    "access": null,
    "description": "should work for multiple objects",
    "lineNumber": 26
  },
  {
    "__docId__": 2526,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1577",
    "testId": 1577,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1577",
    "access": null,
    "description": "should work with deep nested properties",
    "lineNumber": 41
  },
  {
    "__docId__": 2527,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1578",
    "testId": 1578,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1578",
    "access": null,
    "description": "should work with edge cases of deep nested properties",
    "lineNumber": 56
  },
  {
    "__docId__": 2528,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1579",
    "testId": 1579,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1579",
    "access": null,
    "description": "should throw an error if not property is passed",
    "lineNumber": 72
  },
  {
    "__docId__": 2529,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1580",
    "testId": 1580,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1580",
    "access": null,
    "description": "should propagate errors from observable that emits only errors",
    "lineNumber": 77
  },
  {
    "__docId__": 2530,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1581",
    "testId": 1581,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1581",
    "access": null,
    "description": "should propagate errors from observable that emit values",
    "lineNumber": 85
  },
  {
    "__docId__": 2531,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1582",
    "testId": 1582,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1582",
    "access": null,
    "description": "should not pluck an empty observable",
    "lineNumber": 93
  },
  {
    "__docId__": 2532,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1583",
    "testId": 1583,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1583",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 106
  },
  {
    "__docId__": 2533,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1584",
    "testId": 1584,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1584",
    "access": null,
    "description": "should pluck twice",
    "lineNumber": 115
  },
  {
    "__docId__": 2534,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1585",
    "testId": 1585,
    "memberof": "spec-js/operators/pluck-spec.js~describe1574",
    "testDepth": 1,
    "longname": "spec-js/operators/pluck-spec.js~describe1574.it1585",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 130
  },
  {
    "__docId__": 2535,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/publish-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/publish-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {publish} */\ndescribe('Observable.prototype.publish', function () {\n    asDiagram('publish')('should mirror a simple source Observable', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = '^              !';\n        var published = source.publish();\n        var expected = '--1-2---3-4--5-|';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should return a ConnectableObservable-ish', function () {\n        var source = Observable.of(1).publish();\n        chai_1.expect(typeof source._subscribe === 'function').to.be.true;\n        chai_1.expect(typeof source.getSubject === 'function').to.be.true;\n        chai_1.expect(typeof source.connect === 'function').to.be.true;\n        chai_1.expect(typeof source.refCount === 'function').to.be.true;\n    });\n    it('should do nothing if connect is not called, despite subscriptions', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = [];\n        var published = source.publish();\n        var expected = '-';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should multicast the same values to multiple observers', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^           !';\n        var published = source.publish();\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '-1-2-3----4-|';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    -3----4-|';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        --4-|';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should accept selectors', function () {\n        var source = hot('-1-2-3----4-|');\n        var sourceSubs = ['^           !',\n            '    ^       !',\n            '        ^   !'];\n        var published = source.publish(function (x) { return x.zip(x, function (a, b) { return (parseInt(a) + parseInt(b)).toString(); }); });\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '-2-4-6----8-|';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    -6----8-|';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        --8-|';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should multicast an error from the source to multiple observers', function () {\n        var source = cold('-1-2-3----4-#');\n        var sourceSubs = '^           !';\n        var published = source.publish();\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '-1-2-3----4-#';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    -3----4-#';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        --4-#';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast the same values to multiple observers, ' +\n        'but is unsubscribed explicitly and early', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var published = source.publish();\n        var unsub = '         u   ';\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '-1-2-3----   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    -3----   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        --   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = published.connect();\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var published = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .publish();\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '-1-2-3----   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    -3----   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        --   ';\n        var unsub = '         u   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = published.connect();\n    });\n    describe('with refCount()', function () {\n        it('should connect when first subscriber subscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^           !';\n            var replayed = source.publish().refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(replayed);\n            var expected1 = '   -1-2-3----4-|';\n            var subscriber2 = hot('       b|       ').mergeMapTo(replayed);\n            var expected2 = '       -3----4-|';\n            var subscriber3 = hot('           c|   ').mergeMapTo(replayed);\n            var expected3 = '           --4-|';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should disconnect when last subscriber unsubscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^        !   ';\n            var replayed = source.publish().refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(replayed);\n            var unsub1 = '          !     ';\n            var expected1 = '   -1-2-3--     ';\n            var subscriber2 = hot('       b|       ').mergeMapTo(replayed);\n            var unsub2 = '            !   ';\n            var expected2 = '       -3----   ';\n            expectObservable(subscriber1, unsub1).toBe(expected1);\n            expectObservable(subscriber2, unsub2).toBe(expected2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should NOT be retryable', function () {\n            var source = cold('-1-2-3----4-#');\n            var sourceSubs = '^           !';\n            var published = source.publish().refCount().retry(3);\n            var subscriber1 = hot('a|           ').mergeMapTo(published);\n            var expected1 = '-1-2-3----4-#';\n            var subscriber2 = hot('    b|       ').mergeMapTo(published);\n            var expected2 = '    -3----4-#';\n            var subscriber3 = hot('        c|   ').mergeMapTo(published);\n            var expected3 = '        --4-#';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should NOT be repeatable', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '^           !';\n            var published = source.publish().refCount().repeat(3);\n            var subscriber1 = hot('a|           ').mergeMapTo(published);\n            var expected1 = '-1-2-3----4-|';\n            var subscriber2 = hot('    b|       ').mergeMapTo(published);\n            var expected2 = '    -3----4-|';\n            var subscriber3 = hot('        c|   ').mergeMapTo(published);\n            var expected3 = '        --4-|';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n    });\n    it('should emit completed when subscribed after completed', function (done) {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            observer.complete();\n        });\n        var connectable = source.publish();\n        connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([]);\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.connect();\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(results2).to.deep.equal([]);\n        chai_1.expect(subscriptions).to.equal(1);\n        connectable.subscribe(function (x) {\n            results2.push(x);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(results2).to.deep.equal([]);\n            done();\n        });\n    });\n    it('should multicast an empty source', function () {\n        var source = cold('|');\n        var sourceSubs = '(^!)';\n        var published = source.publish();\n        var expected = '|';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast a never source', function () {\n        var source = cold('-');\n        var sourceSubs = '^';\n        var published = source.publish();\n        var expected = '-';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast a throw source', function () {\n        var source = cold('#');\n        var sourceSubs = '(^!)';\n        var published = source.publish();\n        var expected = '#';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast one observable to multiple observers', function (done) {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            observer.complete();\n        });\n        var connectable = source.publish();\n        connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        connectable.subscribe(function (x) {\n            results2.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([]);\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.connect();\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(results2).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(subscriptions).to.equal(1);\n        done();\n    });\n});\n//# sourceMappingURL=publish-spec.js.map"
  },
  {
    "__docId__": 2536,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1586",
    "testId": 1586,
    "memberof": "spec-js/operators/publish-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/publish-spec.js~describe1586",
    "access": null,
    "description": "Observable.prototype.publish",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{publish}"
      }
    ],
    "testTargets": [
      "publish"
    ]
  },
  {
    "__docId__": 2537,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1587",
    "testId": 1587,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1587",
    "access": null,
    "description": "should return a ConnectableObservable-ish",
    "lineNumber": 16
  },
  {
    "__docId__": 2538,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1588",
    "testId": 1588,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1588",
    "access": null,
    "description": "should do nothing if connect is not called, despite subscriptions",
    "lineNumber": 23
  },
  {
    "__docId__": 2539,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1589",
    "testId": 1589,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1589",
    "access": null,
    "description": "should multicast the same values to multiple observers",
    "lineNumber": 31
  },
  {
    "__docId__": 2540,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1590",
    "testId": 1590,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1590",
    "access": null,
    "description": "should accept selectors",
    "lineNumber": 47
  },
  {
    "__docId__": 2541,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1591",
    "testId": 1591,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1591",
    "access": null,
    "description": "should multicast an error from the source to multiple observers",
    "lineNumber": 64
  },
  {
    "__docId__": 2542,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1592",
    "testId": 1592,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1592",
    "access": null,
    "lineNumber": 80
  },
  {
    "__docId__": 2543,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1593",
    "testId": 1593,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1593",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 103
  },
  {
    "__docId__": 2544,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1594",
    "testId": 1594,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.describe1594",
    "access": null,
    "description": "with refCount()",
    "lineNumber": 127
  },
  {
    "__docId__": 2545,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1595",
    "testId": 1595,
    "memberof": "spec-js/operators/publish-spec.js~describe1586.describe1594",
    "testDepth": 2,
    "longname": "spec-js/operators/publish-spec.js~describe1586.describe1594.it1595",
    "access": null,
    "description": "should connect when first subscriber subscribes",
    "lineNumber": 128
  },
  {
    "__docId__": 2546,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1596",
    "testId": 1596,
    "memberof": "spec-js/operators/publish-spec.js~describe1586.describe1594",
    "testDepth": 2,
    "longname": "spec-js/operators/publish-spec.js~describe1586.describe1594.it1596",
    "access": null,
    "description": "should disconnect when last subscriber unsubscribes",
    "lineNumber": 143
  },
  {
    "__docId__": 2547,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1597",
    "testId": 1597,
    "memberof": "spec-js/operators/publish-spec.js~describe1586.describe1594",
    "testDepth": 2,
    "longname": "spec-js/operators/publish-spec.js~describe1586.describe1594.it1597",
    "access": null,
    "description": "should NOT be retryable",
    "lineNumber": 157
  },
  {
    "__docId__": 2548,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1598",
    "testId": 1598,
    "memberof": "spec-js/operators/publish-spec.js~describe1586.describe1594",
    "testDepth": 2,
    "longname": "spec-js/operators/publish-spec.js~describe1586.describe1594.it1598",
    "access": null,
    "description": "should NOT be repeatable",
    "lineNumber": 172
  },
  {
    "__docId__": 2549,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1599",
    "testId": 1599,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1599",
    "access": null,
    "description": "should emit completed when subscribed after completed",
    "lineNumber": 188
  },
  {
    "__docId__": 2550,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1600",
    "testId": 1600,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1600",
    "access": null,
    "description": "should multicast an empty source",
    "lineNumber": 219
  },
  {
    "__docId__": 2551,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1601",
    "testId": 1601,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1601",
    "access": null,
    "description": "should multicast a never source",
    "lineNumber": 228
  },
  {
    "__docId__": 2552,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1602",
    "testId": 1602,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1602",
    "access": null,
    "description": "should multicast a throw source",
    "lineNumber": 237
  },
  {
    "__docId__": 2553,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1603",
    "testId": 1603,
    "memberof": "spec-js/operators/publish-spec.js~describe1586",
    "testDepth": 1,
    "longname": "spec-js/operators/publish-spec.js~describe1586.it1603",
    "access": null,
    "description": "should multicast one observable to multiple observers",
    "lineNumber": 246
  },
  {
    "__docId__": 2554,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/publishBehavior-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/publishBehavior-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {publishBehavior} */\ndescribe('Observable.prototype.publishBehavior', function () {\n    asDiagram('publishBehavior(0)')('should mirror a simple source Observable', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = '^              !';\n        var published = source.publishBehavior('0');\n        var expected = '0-1-2---3-4--5-|';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should return a ConnectableObservable-ish', function () {\n        var source = Observable.of(1).publishBehavior(1);\n        chai_1.expect(typeof source._subscribe === 'function').to.be.true;\n        chai_1.expect(typeof source.getSubject === 'function').to.be.true;\n        chai_1.expect(typeof source.connect === 'function').to.be.true;\n        chai_1.expect(typeof source.refCount === 'function').to.be.true;\n    });\n    it('should only emit default value if connect is not called, despite subscriptions', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = [];\n        var published = source.publishBehavior('0');\n        var expected = '0';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should multicast the same values to multiple observers', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^           !';\n        var published = source.publishBehavior('0');\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '01-2-3----4-|';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    23----4-|';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        3-4-|';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast an error from the source to multiple observers', function () {\n        var source = cold('-1-2-3----4-#');\n        var sourceSubs = '^           !';\n        var published = source.publishBehavior('0');\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '01-2-3----4-#';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    23----4-#';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        3-4-#';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast the same values to multiple observers, ' +\n        'but is unsubscribed explicitly and early', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var published = source.publishBehavior('0');\n        var unsub = '         u   ';\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '01-2-3----   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    23----   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        3-   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = published.connect();\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var published = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .publishBehavior('0');\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '01-2-3----   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    23----   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        3-   ';\n        var unsub = '         u   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = published.connect();\n    });\n    describe('with refCount()', function () {\n        it('should connect when first subscriber subscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^           !';\n            var replayed = source.publishBehavior('0').refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(replayed);\n            var expected1 = '   01-2-3----4-|';\n            var subscriber2 = hot('       b|       ').mergeMapTo(replayed);\n            var expected2 = '       23----4-|';\n            var subscriber3 = hot('           c|   ').mergeMapTo(replayed);\n            var expected3 = '           3-4-|';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should disconnect when last subscriber unsubscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^        !   ';\n            var replayed = source.publishBehavior('0').refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(replayed);\n            var unsub1 = '          !     ';\n            var expected1 = '   01-2-3--     ';\n            var subscriber2 = hot('       b|       ').mergeMapTo(replayed);\n            var unsub2 = '            !   ';\n            var expected2 = '       23----   ';\n            expectObservable(subscriber1, unsub1).toBe(expected1);\n            expectObservable(subscriber2, unsub2).toBe(expected2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should NOT be retryable', function () {\n            var source = cold('-1-2-3----4-#');\n            var sourceSubs = '^           !';\n            var published = source.publishBehavior('0').refCount().retry(3);\n            var subscriber1 = hot('a|           ').mergeMapTo(published);\n            var expected1 = '01-2-3----4-#';\n            var subscriber2 = hot('    b|       ').mergeMapTo(published);\n            var expected2 = '    23----4-#';\n            var subscriber3 = hot('        c|   ').mergeMapTo(published);\n            var expected3 = '        3-4-#';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should NOT be repeatable', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '^           !';\n            var published = source.publishBehavior('0').refCount().repeat(3);\n            var subscriber1 = hot('a|           ').mergeMapTo(published);\n            var expected1 = '01-2-3----4-|';\n            var subscriber2 = hot('    b|       ').mergeMapTo(published);\n            var expected2 = '    23----4-|';\n            var subscriber3 = hot('        c|   ').mergeMapTo(published);\n            var expected3 = '        3-4-|';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n    });\n    it('should emit completed when subscribed after completed', function (done) {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            observer.complete();\n        });\n        var connectable = source.publishBehavior(0);\n        connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([0]);\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.connect();\n        chai_1.expect(results1).to.deep.equal([0, 1, 2, 3, 4]);\n        chai_1.expect(results2).to.deep.equal([]);\n        chai_1.expect(subscriptions).to.equal(1);\n        connectable.subscribe(function (x) {\n            results2.push(x);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(results2).to.deep.equal([]);\n            done();\n        });\n    });\n    it('should multicast an empty source', function () {\n        var source = cold('|');\n        var sourceSubs = '(^!)';\n        var published = source.publishBehavior('0');\n        var expected = '(0|)';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast a never source', function () {\n        var source = cold('-');\n        var sourceSubs = '^';\n        var published = source.publishBehavior('0');\n        var expected = '0';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast a throw source', function () {\n        var source = cold('#');\n        var sourceSubs = '(^!)';\n        var published = source.publishBehavior('0');\n        var expected = '(0#)';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast one observable to multiple observers', function (done) {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n        });\n        var connectable = source.publishBehavior(0);\n        connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([0]);\n        connectable.connect();\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.subscribe(function (x) {\n            results2.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([0, 1, 2, 3, 4]);\n        chai_1.expect(results2).to.deep.equal([4]);\n        chai_1.expect(subscriptions).to.equal(1);\n        done();\n    });\n    it('should follow the RxJS 4 behavior and emit nothing to observer after completed', function (done) {\n        var results = [];\n        var source = new Observable(function (observer) {\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            observer.complete();\n        });\n        var connectable = source.publishBehavior(0);\n        connectable.connect();\n        connectable.subscribe(function (x) {\n            results.push(x);\n        });\n        chai_1.expect(results).to.deep.equal([]);\n        done();\n    });\n});\n//# sourceMappingURL=publishBehavior-spec.js.map"
  },
  {
    "__docId__": 2555,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1604",
    "testId": 1604,
    "memberof": "spec-js/operators/publishBehavior-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "access": null,
    "description": "Observable.prototype.publishBehavior",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{publishBehavior}"
      }
    ],
    "testTargets": [
      "publishBehavior"
    ]
  },
  {
    "__docId__": 2556,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1605",
    "testId": 1605,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1605",
    "access": null,
    "description": "should return a ConnectableObservable-ish",
    "lineNumber": 16
  },
  {
    "__docId__": 2557,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1606",
    "testId": 1606,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1606",
    "access": null,
    "description": "should only emit default value if connect is not called, despite subscriptions",
    "lineNumber": 23
  },
  {
    "__docId__": 2558,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1607",
    "testId": 1607,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1607",
    "access": null,
    "description": "should multicast the same values to multiple observers",
    "lineNumber": 31
  },
  {
    "__docId__": 2559,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1608",
    "testId": 1608,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1608",
    "access": null,
    "description": "should multicast an error from the source to multiple observers",
    "lineNumber": 47
  },
  {
    "__docId__": 2560,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1609",
    "testId": 1609,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1609",
    "access": null,
    "lineNumber": 63
  },
  {
    "__docId__": 2561,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1610",
    "testId": 1610,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1610",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 86
  },
  {
    "__docId__": 2562,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1611",
    "testId": 1611,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.describe1611",
    "access": null,
    "description": "with refCount()",
    "lineNumber": 110
  },
  {
    "__docId__": 2563,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1612",
    "testId": 1612,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604.describe1611",
    "testDepth": 2,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.describe1611.it1612",
    "access": null,
    "description": "should connect when first subscriber subscribes",
    "lineNumber": 111
  },
  {
    "__docId__": 2564,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1613",
    "testId": 1613,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604.describe1611",
    "testDepth": 2,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.describe1611.it1613",
    "access": null,
    "description": "should disconnect when last subscriber unsubscribes",
    "lineNumber": 126
  },
  {
    "__docId__": 2565,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1614",
    "testId": 1614,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604.describe1611",
    "testDepth": 2,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.describe1611.it1614",
    "access": null,
    "description": "should NOT be retryable",
    "lineNumber": 140
  },
  {
    "__docId__": 2566,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1615",
    "testId": 1615,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604.describe1611",
    "testDepth": 2,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.describe1611.it1615",
    "access": null,
    "description": "should NOT be repeatable",
    "lineNumber": 155
  },
  {
    "__docId__": 2567,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1616",
    "testId": 1616,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1616",
    "access": null,
    "description": "should emit completed when subscribed after completed",
    "lineNumber": 171
  },
  {
    "__docId__": 2568,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1617",
    "testId": 1617,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1617",
    "access": null,
    "description": "should multicast an empty source",
    "lineNumber": 202
  },
  {
    "__docId__": 2569,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1618",
    "testId": 1618,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1618",
    "access": null,
    "description": "should multicast a never source",
    "lineNumber": 211
  },
  {
    "__docId__": 2570,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1619",
    "testId": 1619,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1619",
    "access": null,
    "description": "should multicast a throw source",
    "lineNumber": 220
  },
  {
    "__docId__": 2571,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1620",
    "testId": 1620,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1620",
    "access": null,
    "description": "should multicast one observable to multiple observers",
    "lineNumber": 229
  },
  {
    "__docId__": 2572,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1621",
    "testId": 1621,
    "memberof": "spec-js/operators/publishBehavior-spec.js~describe1604",
    "testDepth": 1,
    "longname": "spec-js/operators/publishBehavior-spec.js~describe1604.it1621",
    "access": null,
    "description": "should follow the RxJS 4 behavior and emit nothing to observer after completed",
    "lineNumber": 255
  },
  {
    "__docId__": 2573,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/publishLast-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/publishLast-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {publishLast} */\ndescribe('Observable.prototype.publishLast', function () {\n    asDiagram('publishLast')('should emit last notification of a simple source Observable', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = '^              !';\n        var published = source.publishLast();\n        var expected = '---------------(5|)';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should return a ConnectableObservable-ish', function () {\n        var source = Observable.of(1).publishLast();\n        chai_1.expect(typeof source._subscribe === 'function').to.be.true;\n        chai_1.expect(typeof source.getSubject === 'function').to.be.true;\n        chai_1.expect(typeof source.connect === 'function').to.be.true;\n        chai_1.expect(typeof source.refCount === 'function').to.be.true;\n    });\n    it('should do nothing if connect is not called, despite subscriptions', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = [];\n        var published = source.publishLast();\n        var expected = '-';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should multicast the same values to multiple observers', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^           !';\n        var published = source.publishLast();\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '------------(4|)';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    --------(4|)';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        ----(4|)';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast an error from the source to multiple observers', function () {\n        var source = cold('-1-2-3----4-#');\n        var sourceSubs = '^           !';\n        var published = source.publishLast();\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '------------#';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    --------#';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        ----#';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should not cast any values to multiple observers, ' +\n        'when source is unsubscribed explicitly and early', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var published = source.publishLast();\n        var unsub = '         u   ';\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '----------   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    ------   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        --   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = published.connect();\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var published = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .publishLast();\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '----------   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    ------   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        --   ';\n        var unsub = '         u   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = published.connect();\n    });\n    describe('with refCount()', function () {\n        it('should connect when first subscriber subscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^           !';\n            var replayed = source.publishLast().refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(replayed);\n            var expected1 = '   ------------(4|)';\n            var subscriber2 = hot('       b|       ').mergeMapTo(replayed);\n            var expected2 = '       --------(4|)';\n            var subscriber3 = hot('           c|   ').mergeMapTo(replayed);\n            var expected3 = '           ----(4|)';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should disconnect when last subscriber unsubscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^        !   ';\n            var replayed = source.publishLast().refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(replayed);\n            var unsub1 = '          !     ';\n            var expected1 = '   --------     ';\n            var subscriber2 = hot('       b|       ').mergeMapTo(replayed);\n            var unsub2 = '            !   ';\n            var expected2 = '       ------   ';\n            expectObservable(subscriber1, unsub1).toBe(expected1);\n            expectObservable(subscriber2, unsub2).toBe(expected2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should NOT be retryable', function () {\n            var source = cold('-1-2-3----4-#');\n            var sourceSubs = '^           !';\n            var published = source.publishLast().refCount().retry(3);\n            var subscriber1 = hot('a|           ').mergeMapTo(published);\n            var expected1 = '------------#';\n            var subscriber2 = hot('    b|       ').mergeMapTo(published);\n            var expected2 = '    --------#';\n            var subscriber3 = hot('        c|   ').mergeMapTo(published);\n            var expected3 = '        ----#';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n    });\n    it('should multicast an empty source', function () {\n        var source = cold('|');\n        var sourceSubs = '(^!)';\n        var published = source.publishLast();\n        var expected = '|';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast a never source', function () {\n        var source = cold('-');\n        var sourceSubs = '^';\n        var published = source.publishLast();\n        var expected = '-';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast a throw source', function () {\n        var source = cold('#');\n        var sourceSubs = '(^!)';\n        var published = source.publishLast();\n        var expected = '#';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast one observable to multiple observers', function (done) {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            observer.complete();\n        });\n        var connectable = source.publishLast();\n        connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        connectable.subscribe(function (x) {\n            results2.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([]);\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.connect();\n        chai_1.expect(results1).to.deep.equal([4]);\n        chai_1.expect(results2).to.deep.equal([4]);\n        chai_1.expect(subscriptions).to.equal(1);\n        done();\n    });\n});\n//# sourceMappingURL=publishLast-spec.js.map"
  },
  {
    "__docId__": 2574,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1622",
    "testId": 1622,
    "memberof": "spec-js/operators/publishLast-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622",
    "access": null,
    "description": "Observable.prototype.publishLast",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{publishLast}"
      }
    ],
    "testTargets": [
      "publishLast"
    ]
  },
  {
    "__docId__": 2575,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1623",
    "testId": 1623,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1623",
    "access": null,
    "description": "should return a ConnectableObservable-ish",
    "lineNumber": 16
  },
  {
    "__docId__": 2576,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1624",
    "testId": 1624,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1624",
    "access": null,
    "description": "should do nothing if connect is not called, despite subscriptions",
    "lineNumber": 23
  },
  {
    "__docId__": 2577,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1625",
    "testId": 1625,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1625",
    "access": null,
    "description": "should multicast the same values to multiple observers",
    "lineNumber": 31
  },
  {
    "__docId__": 2578,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1626",
    "testId": 1626,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1626",
    "access": null,
    "description": "should multicast an error from the source to multiple observers",
    "lineNumber": 47
  },
  {
    "__docId__": 2579,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1627",
    "testId": 1627,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1627",
    "access": null,
    "lineNumber": 63
  },
  {
    "__docId__": 2580,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1628",
    "testId": 1628,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1628",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 86
  },
  {
    "__docId__": 2581,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1629",
    "testId": 1629,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.describe1629",
    "access": null,
    "description": "with refCount()",
    "lineNumber": 110
  },
  {
    "__docId__": 2582,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1630",
    "testId": 1630,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622.describe1629",
    "testDepth": 2,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.describe1629.it1630",
    "access": null,
    "description": "should connect when first subscriber subscribes",
    "lineNumber": 111
  },
  {
    "__docId__": 2583,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1631",
    "testId": 1631,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622.describe1629",
    "testDepth": 2,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.describe1629.it1631",
    "access": null,
    "description": "should disconnect when last subscriber unsubscribes",
    "lineNumber": 126
  },
  {
    "__docId__": 2584,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1632",
    "testId": 1632,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622.describe1629",
    "testDepth": 2,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.describe1629.it1632",
    "access": null,
    "description": "should NOT be retryable",
    "lineNumber": 140
  },
  {
    "__docId__": 2585,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1633",
    "testId": 1633,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1633",
    "access": null,
    "description": "should multicast an empty source",
    "lineNumber": 156
  },
  {
    "__docId__": 2586,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1634",
    "testId": 1634,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1634",
    "access": null,
    "description": "should multicast a never source",
    "lineNumber": 165
  },
  {
    "__docId__": 2587,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1635",
    "testId": 1635,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1635",
    "access": null,
    "description": "should multicast a throw source",
    "lineNumber": 174
  },
  {
    "__docId__": 2588,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1636",
    "testId": 1636,
    "memberof": "spec-js/operators/publishLast-spec.js~describe1622",
    "testDepth": 1,
    "longname": "spec-js/operators/publishLast-spec.js~describe1622.it1636",
    "access": null,
    "description": "should multicast one observable to multiple observers",
    "lineNumber": 183
  },
  {
    "__docId__": 2589,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/publishReplay-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/publishReplay-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {publishReplay} */\ndescribe('Observable.prototype.publishReplay', function () {\n    asDiagram('publishReplay(1)')('should mirror a simple source Observable', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = '^              !';\n        var published = source.publishReplay(1);\n        var expected = '--1-2---3-4--5-|';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should return a ConnectableObservable-ish', function () {\n        var source = Observable.of(1).publishReplay();\n        chai_1.expect(typeof source._subscribe === 'function').to.be.true;\n        chai_1.expect(typeof source.getSubject === 'function').to.be.true;\n        chai_1.expect(typeof source.connect === 'function').to.be.true;\n        chai_1.expect(typeof source.refCount === 'function').to.be.true;\n    });\n    it('should do nothing if connect is not called, despite subscriptions', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = [];\n        var published = source.publishReplay(1);\n        var expected = '-';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should multicast the same values to multiple observers, bufferSize=1', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^           !';\n        var published = source.publishReplay(1);\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '-1-2-3----4-|';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    23----4-|';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        3-4-|';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast the same values to multiple observers, bufferSize=2', function () {\n        var source = cold('-1-2-----3------4-|');\n        var sourceSubs = '^                 !';\n        var published = source.publishReplay(2);\n        var subscriber1 = hot('a|                 ').mergeMapTo(published);\n        var expected1 = '-1-2-----3------4-|';\n        var subscriber2 = hot('    b|             ').mergeMapTo(published);\n        var expected2 = '    (12)-3------4-|';\n        var subscriber3 = hot('           c|       ').mergeMapTo(published);\n        var expected3 = '           (23)-4-|';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast an error from the source to multiple observers', function () {\n        var source = cold('-1-2-3----4-#');\n        var sourceSubs = '^           !';\n        var published = source.publishReplay(1);\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '-1-2-3----4-#';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    23----4-#';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        3-4-#';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast the same values to multiple observers, ' +\n        'but is unsubscribed explicitly and early', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var published = source.publishReplay(1);\n        var unsub = '         u   ';\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '-1-2-3----   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    23----   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        3-   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = published.connect();\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var published = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .publishReplay(1);\n        var subscriber1 = hot('a|           ').mergeMapTo(published);\n        var expected1 = '-1-2-3----   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(published);\n        var expected2 = '    23----   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(published);\n        var expected3 = '        3-   ';\n        var unsub = '         u   ';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // Set up unsubscription action\n        var connection;\n        expectObservable(hot(unsub).do(function () {\n            connection.unsubscribe();\n        })).toBe(unsub);\n        connection = published.connect();\n    });\n    describe('with refCount()', function () {\n        it('should connect when first subscriber subscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^           !';\n            var replayed = source.publishReplay(1).refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(replayed);\n            var expected1 = '   -1-2-3----4-|';\n            var subscriber2 = hot('       b|       ').mergeMapTo(replayed);\n            var expected2 = '       23----4-|';\n            var subscriber3 = hot('           c|   ').mergeMapTo(replayed);\n            var expected3 = '           3-4-|';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should disconnect when last subscriber unsubscribes', function () {\n            var source = cold('-1-2-3----4-|');\n            var sourceSubs = '   ^        !   ';\n            var replayed = source.publishReplay(1).refCount();\n            var subscriber1 = hot('   a|           ').mergeMapTo(replayed);\n            var unsub1 = '          !     ';\n            var expected1 = '   -1-2-3--     ';\n            var subscriber2 = hot('       b|       ').mergeMapTo(replayed);\n            var unsub2 = '            !   ';\n            var expected2 = '       23----   ';\n            expectObservable(subscriber1, unsub1).toBe(expected1);\n            expectObservable(subscriber2, unsub2).toBe(expected2);\n            expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should NOT be retryable', function () {\n            var source = cold('-1-2-3----4-#');\n            // const sourceSubs =      '^           !';\n            var published = source.publishReplay(1).refCount().retry(3);\n            var subscriber1 = hot('a|           ').mergeMapTo(published);\n            var expected1 = '-1-2-3----4-(444#)';\n            var subscriber2 = hot('    b|       ').mergeMapTo(published);\n            var expected2 = '    23----4-(444#)';\n            var subscriber3 = hot('        c|   ').mergeMapTo(published);\n            var expected3 = '        3-4-(444#)';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            // expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n        it('should NOT be repeatable', function () {\n            var source = cold('-1-2-3----4-|');\n            // const sourceSubs =      '^           !';\n            var published = source.publishReplay(1).refCount().repeat(3);\n            var subscriber1 = hot('a|           ').mergeMapTo(published);\n            var expected1 = '-1-2-3----4-(44|)';\n            var subscriber2 = hot('    b|       ').mergeMapTo(published);\n            var expected2 = '    23----4-(44|)';\n            var subscriber3 = hot('        c|   ').mergeMapTo(published);\n            var expected3 = '        3-4-(44|)';\n            expectObservable(subscriber1).toBe(expected1);\n            expectObservable(subscriber2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n            // expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        });\n    });\n    it('should multicast one observable to multiple observers', function (done) {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            observer.complete();\n        });\n        var connectable = source.publishReplay();\n        connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        connectable.subscribe(function (x) {\n            results2.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([]);\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.connect();\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(results2).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(subscriptions).to.equal(1);\n        done();\n    });\n    it('should replay as many events as specified by the bufferSize', function (done) {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            observer.complete();\n        });\n        var connectable = source.publishReplay(2);\n        connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([]);\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.connect();\n        connectable.subscribe(function (x) {\n            results2.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(results2).to.deep.equal([3, 4]);\n        chai_1.expect(subscriptions).to.equal(1);\n        done();\n    });\n    it('should emit replayed values and resubscribe to the source when ' +\n        'reconnected without source completion', function () {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            // observer.complete();\n        });\n        var connectable = source.publishReplay(2);\n        var subscription1 = connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([]);\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.connect().unsubscribe();\n        subscription1.unsubscribe();\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(results2).to.deep.equal([]);\n        chai_1.expect(subscriptions).to.equal(1);\n        var subscription2 = connectable.subscribe(function (x) {\n            results2.push(x);\n        });\n        connectable.connect().unsubscribe();\n        subscription2.unsubscribe();\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(results2).to.deep.equal([3, 4, 1, 2, 3, 4]);\n        chai_1.expect(subscriptions).to.equal(2);\n    });\n    it('should emit replayed values plus completed when subscribed after completed', function (done) {\n        var results1 = [];\n        var results2 = [];\n        var subscriptions = 0;\n        var source = new Observable(function (observer) {\n            subscriptions++;\n            observer.next(1);\n            observer.next(2);\n            observer.next(3);\n            observer.next(4);\n            observer.complete();\n        });\n        var connectable = source.publishReplay(2);\n        connectable.subscribe(function (x) {\n            results1.push(x);\n        });\n        chai_1.expect(results1).to.deep.equal([]);\n        chai_1.expect(results2).to.deep.equal([]);\n        connectable.connect();\n        chai_1.expect(results1).to.deep.equal([1, 2, 3, 4]);\n        chai_1.expect(results2).to.deep.equal([]);\n        chai_1.expect(subscriptions).to.equal(1);\n        connectable.subscribe(function (x) {\n            results2.push(x);\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(results2).to.deep.equal([3, 4]);\n            done();\n        });\n    });\n    it('should multicast an empty source', function () {\n        var source = cold('|');\n        var sourceSubs = '(^!)';\n        var published = source.publishReplay(1);\n        var expected = '|';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast a never source', function () {\n        var source = cold('-');\n        var sourceSubs = '^';\n        var published = source.publishReplay(1);\n        var expected = '-';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n    it('should multicast a throw source', function () {\n        var source = cold('#');\n        var sourceSubs = '(^!)';\n        var published = source.publishReplay(1);\n        var expected = '#';\n        expectObservable(published).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        published.connect();\n    });\n});\n//# sourceMappingURL=publishReplay-spec.js.map"
  },
  {
    "__docId__": 2590,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1637",
    "testId": 1637,
    "memberof": "spec-js/operators/publishReplay-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637",
    "access": null,
    "description": "Observable.prototype.publishReplay",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{publishReplay}"
      }
    ],
    "testTargets": [
      "publishReplay"
    ]
  },
  {
    "__docId__": 2591,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1638",
    "testId": 1638,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1638",
    "access": null,
    "description": "should return a ConnectableObservable-ish",
    "lineNumber": 16
  },
  {
    "__docId__": 2592,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1639",
    "testId": 1639,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1639",
    "access": null,
    "description": "should do nothing if connect is not called, despite subscriptions",
    "lineNumber": 23
  },
  {
    "__docId__": 2593,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1640",
    "testId": 1640,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1640",
    "access": null,
    "description": "should multicast the same values to multiple observers, bufferSize=1",
    "lineNumber": 31
  },
  {
    "__docId__": 2594,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1641",
    "testId": 1641,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1641",
    "access": null,
    "description": "should multicast the same values to multiple observers, bufferSize=2",
    "lineNumber": 47
  },
  {
    "__docId__": 2595,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1642",
    "testId": 1642,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1642",
    "access": null,
    "description": "should multicast an error from the source to multiple observers",
    "lineNumber": 63
  },
  {
    "__docId__": 2596,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1643",
    "testId": 1643,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1643",
    "access": null,
    "lineNumber": 79
  },
  {
    "__docId__": 2597,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1644",
    "testId": 1644,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1644",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 102
  },
  {
    "__docId__": 2598,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1645",
    "testId": 1645,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.describe1645",
    "access": null,
    "description": "with refCount()",
    "lineNumber": 126
  },
  {
    "__docId__": 2599,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1646",
    "testId": 1646,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637.describe1645",
    "testDepth": 2,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.describe1645.it1646",
    "access": null,
    "description": "should connect when first subscriber subscribes",
    "lineNumber": 127
  },
  {
    "__docId__": 2600,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1647",
    "testId": 1647,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637.describe1645",
    "testDepth": 2,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.describe1645.it1647",
    "access": null,
    "description": "should disconnect when last subscriber unsubscribes",
    "lineNumber": 142
  },
  {
    "__docId__": 2601,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1648",
    "testId": 1648,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637.describe1645",
    "testDepth": 2,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.describe1645.it1648",
    "access": null,
    "description": "should NOT be retryable",
    "lineNumber": 156
  },
  {
    "__docId__": 2602,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1649",
    "testId": 1649,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637.describe1645",
    "testDepth": 2,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.describe1645.it1649",
    "access": null,
    "description": "should NOT be repeatable",
    "lineNumber": 171
  },
  {
    "__docId__": 2603,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1650",
    "testId": 1650,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1650",
    "access": null,
    "description": "should multicast one observable to multiple observers",
    "lineNumber": 187
  },
  {
    "__docId__": 2604,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1651",
    "testId": 1651,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1651",
    "access": null,
    "description": "should replay as many events as specified by the bufferSize",
    "lineNumber": 214
  },
  {
    "__docId__": 2605,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1652",
    "testId": 1652,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1652",
    "access": null,
    "lineNumber": 241
  },
  {
    "__docId__": 2606,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1653",
    "testId": 1653,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1653",
    "access": null,
    "description": "should emit replayed values plus completed when subscribed after completed",
    "lineNumber": 274
  },
  {
    "__docId__": 2607,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1654",
    "testId": 1654,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1654",
    "access": null,
    "description": "should multicast an empty source",
    "lineNumber": 305
  },
  {
    "__docId__": 2608,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1655",
    "testId": 1655,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1655",
    "access": null,
    "description": "should multicast a never source",
    "lineNumber": 314
  },
  {
    "__docId__": 2609,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1656",
    "testId": 1656,
    "memberof": "spec-js/operators/publishReplay-spec.js~describe1637",
    "testDepth": 1,
    "longname": "spec-js/operators/publishReplay-spec.js~describe1637.it1656",
    "access": null,
    "description": "should multicast a throw source",
    "lineNumber": 323
  },
  {
    "__docId__": 2610,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/race-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/race-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {race} */\ndescribe('Observable.prototype.race', function () {\n    it('should race cold and cold', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b-----c----|';\n        var result = e1.race(e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should race cold and cold and accept an Array of Observable argument', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b-----c----|';\n        var result = e1.race([e2]);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should race hot and hot', function () {\n        var e1 = hot('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = hot('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b-----c----|';\n        var result = e1.race(e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should race hot and cold', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^                   !';\n        var e2 = hot('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b-----c----|';\n        var result = e1.race(e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should race 2nd and 1st', function () {\n        var e1 = cold('------x-----y-----z----|');\n        var e1subs = '^  !';\n        var e2 = cold('---a-----b-----c----|');\n        var e2subs = '^                   !';\n        var expected = '---a-----b-----c----|';\n        var result = e1.race(e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should race emit and complete', function () {\n        var e1 = cold('-----|');\n        var e1subs = '^    !';\n        var e2 = hot('------x-----y-----z----|');\n        var e2subs = '^    !';\n        var expected = '-----|';\n        var result = e1.race(e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = cold('---a-----b-----c----|');\n        var e1subs = '^           !';\n        var e2 = hot('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----b---';\n        var unsub = '            !';\n        var result = e1.race(e2);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var e1 = hot('--a--^--b--c---d-| ');\n        var e1subs = '^        !    ';\n        var e2 = hot('---e-^---f--g---h-|');\n        var e2subs = '^  !    ';\n        var expected = '---b--c---    ';\n        var unsub = '         !    ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .race(e2)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should never emit when given non emitting sources', function () {\n        var e1 = cold('---|');\n        var e2 = cold('---|');\n        var e1subs = '^  !';\n        var expected = '---|';\n        var source = e1.race(e2);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should throw when error occurs mid stream', function () {\n        var e1 = cold('---a-----#');\n        var e1subs = '^        !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---a-----#';\n        var result = e1.race(e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should throw when error occurs before a winner is found', function () {\n        var e1 = cold('---#');\n        var e1subs = '^  !';\n        var e2 = cold('------x-----y-----z----|');\n        var e2subs = '^  !';\n        var expected = '---#';\n        var result = e1.race(e2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow observable emits immediately', function (done) {\n        var e1 = Observable.of(true);\n        var e2 = Observable.timer(200).map(function (_) { return false; });\n        Observable.race(e1, e2).subscribe(function (x) {\n            chai_1.expect(x).to.be.true;\n        }, done, done);\n    });\n});\n//# sourceMappingURL=race-spec.js.map"
  },
  {
    "__docId__": 2611,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1657",
    "testId": 1657,
    "memberof": "spec-js/operators/race-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/race-spec.js~describe1657",
    "access": null,
    "description": "Observable.prototype.race",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{race}"
      }
    ],
    "testTargets": [
      "race"
    ]
  },
  {
    "__docId__": 2612,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1658",
    "testId": 1658,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1658",
    "access": null,
    "description": "should race cold and cold",
    "lineNumber": 7
  },
  {
    "__docId__": 2613,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1659",
    "testId": 1659,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1659",
    "access": null,
    "description": "should race cold and cold and accept an Array of Observable argument",
    "lineNumber": 18
  },
  {
    "__docId__": 2614,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1660",
    "testId": 1660,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1660",
    "access": null,
    "description": "should race hot and hot",
    "lineNumber": 29
  },
  {
    "__docId__": 2615,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1661",
    "testId": 1661,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1661",
    "access": null,
    "description": "should race hot and cold",
    "lineNumber": 40
  },
  {
    "__docId__": 2616,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1662",
    "testId": 1662,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1662",
    "access": null,
    "description": "should race 2nd and 1st",
    "lineNumber": 51
  },
  {
    "__docId__": 2617,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1663",
    "testId": 1663,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1663",
    "access": null,
    "description": "should race emit and complete",
    "lineNumber": 62
  },
  {
    "__docId__": 2618,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1664",
    "testId": 1664,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1664",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 73
  },
  {
    "__docId__": 2619,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1665",
    "testId": 1665,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1665",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 85
  },
  {
    "__docId__": 2620,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1666",
    "testId": 1666,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1666",
    "access": null,
    "description": "should never emit when given non emitting sources",
    "lineNumber": 100
  },
  {
    "__docId__": 2621,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1667",
    "testId": 1667,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1667",
    "access": null,
    "description": "should throw when error occurs mid stream",
    "lineNumber": 109
  },
  {
    "__docId__": 2622,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1668",
    "testId": 1668,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1668",
    "access": null,
    "description": "should throw when error occurs before a winner is found",
    "lineNumber": 120
  },
  {
    "__docId__": 2623,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1669",
    "testId": 1669,
    "memberof": "spec-js/operators/race-spec.js~describe1657",
    "testDepth": 1,
    "longname": "spec-js/operators/race-spec.js~describe1657.it1669",
    "access": null,
    "description": "should allow observable emits immediately",
    "lineNumber": 131
  },
  {
    "__docId__": 2624,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/reduce-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/reduce-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {reduce} */\ndescribe('Observable.prototype.reduce', function () {\n    asDiagram('reduce((acc, curr) => acc + curr, 0)')('should reduce', function () {\n        var values = {\n            a: 1, b: 3, c: 5, x: 9\n        };\n        var e1 = hot('--a--b--c--|', values);\n        var e1subs = '^          !';\n        var expected = '-----------(x|)';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction, 0)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should reduce with seed', function () {\n        var e1 = hot('--a--b--|');\n        var e1subs = '^       !';\n        var expected = '--------(x|)';\n        var seed = 'n';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction, seed)).toBe(expected, { x: seed + 'ab' });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should reduce with a seed of undefined', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                    !';\n        var expected = '---------------------(x|)';\n        var values = {\n            x: 'undefined b c d e f g'\n        };\n        var source = e1.reduce(function (acc, x) { return acc + ' ' + x; }, undefined);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should reduce without a seed', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                    !';\n        var expected = '---------------------(x|)';\n        var values = {\n            x: 'b c d e f g'\n        };\n        var source = e1.reduce(function (acc, x) { return acc + ' ' + x; });\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should reduce with seed if source is empty', function () {\n        var e1 = hot('--a--^-------|');\n        var e1subs = '^       !';\n        var expected = '--------(x|)';\n        var expectedValue = '42';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction, expectedValue)).toBe(expected, { x: expectedValue });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if reduce function throws without seed', function () {\n        var e1 = hot('--a--b--|');\n        var e1subs = '^    !   ';\n        var expected = '-----#   ';\n        var reduceFunction = function (o, x) {\n            throw 'error';\n        };\n        expectObservable(e1.reduce(reduceFunction)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--b--|');\n        var unsub = '      !  ';\n        var e1subs = '^     !  ';\n        var expected = '-------  ';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        var result = e1.reduce(reduceFunction);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--|');\n        var e1subs = '^     !  ';\n        var expected = '-------  ';\n        var unsub = '      !  ';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .reduce(reduceFunction)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if source emits and raises error with seed', function () {\n        var e1 = hot('--a--b--#');\n        var e1subs = '^       !';\n        var expected = '--------#';\n        var expectedValue = '42';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction, expectedValue)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if source raises error with seed', function () {\n        var e1 = hot('----#');\n        var e1subs = '^   !';\n        var expected = '----#';\n        var expectedValue = '42';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction, expectedValue)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if reduce function throws with seed', function () {\n        var e1 = hot('--a--b--|');\n        var e1subs = '^ !     ';\n        var expected = '--#     ';\n        var seed = 'n';\n        var reduceFunction = function (o, x) {\n            throw 'error';\n        };\n        expectObservable(e1.reduce(reduceFunction, seed)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not complete with seed if source emits but does not completes', function () {\n        var e1 = hot('--a--');\n        var e1subs = '^    ';\n        var expected = '-----';\n        var seed = 'n';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction, seed)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not complete with seed if source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var seed = 'n';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction, seed)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not complete without seed if source emits but does not completes', function () {\n        var e1 = hot('--a--b--');\n        var e1subs = '^       ';\n        var expected = '--------';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not complete without seed if source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should reduce if source does not emit without seed', function () {\n        var e1 = hot('--a--^-------|');\n        var e1subs = '^       !';\n        var expected = '--------|';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if source emits and raises error without seed', function () {\n        var e1 = hot('--a--b--#');\n        var e1subs = '^       !';\n        var expected = '--------#';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if source raises error without seed', function () {\n        var e1 = hot('----#');\n        var e1subs = '^   !';\n        var expected = '----#';\n        var reduceFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.reduce(reduceFunction)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should accept array typed reducers', function () {\n        type(function () {\n            var a;\n            a.reduce(function (acc, value) { return acc.concat(value); }, []);\n        });\n    });\n    it('should accept T typed reducers', function () {\n        type(function () {\n            var a;\n            a.reduce(function (acc, value) {\n                value.a = acc.a;\n                value.b = acc.b;\n                return acc;\n            }, {});\n        });\n    });\n    it('should accept R typed reducers', function () {\n        type(function () {\n            var a;\n            a.reduce(function (acc, value) {\n                value.a = acc.a;\n                value.b = acc.b;\n                return acc;\n            }, {});\n        });\n    });\n});\n//# sourceMappingURL=reduce-spec.js.map"
  },
  {
    "__docId__": 2625,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1670",
    "testId": 1670,
    "memberof": "spec-js/operators/reduce-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/reduce-spec.js~describe1670",
    "access": null,
    "description": "Observable.prototype.reduce",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{reduce}"
      }
    ],
    "testTargets": [
      "reduce"
    ]
  },
  {
    "__docId__": 2626,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1671",
    "testId": 1671,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1671",
    "access": null,
    "description": "should reduce with seed",
    "lineNumber": 19
  },
  {
    "__docId__": 2627,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1672",
    "testId": 1672,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1672",
    "access": null,
    "description": "should reduce with a seed of undefined",
    "lineNumber": 30
  },
  {
    "__docId__": 2628,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1673",
    "testId": 1673,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1673",
    "access": null,
    "description": "should reduce without a seed",
    "lineNumber": 41
  },
  {
    "__docId__": 2629,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1674",
    "testId": 1674,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1674",
    "access": null,
    "description": "should reduce with seed if source is empty",
    "lineNumber": 52
  },
  {
    "__docId__": 2630,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1675",
    "testId": 1675,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1675",
    "access": null,
    "description": "should raise error if reduce function throws without seed",
    "lineNumber": 63
  },
  {
    "__docId__": 2631,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1676",
    "testId": 1676,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1676",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 73
  },
  {
    "__docId__": 2632,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1677",
    "testId": 1677,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1677",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 85
  },
  {
    "__docId__": 2633,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1678",
    "testId": 1678,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1678",
    "access": null,
    "description": "should raise error if source emits and raises error with seed",
    "lineNumber": 100
  },
  {
    "__docId__": 2634,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1679",
    "testId": 1679,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1679",
    "access": null,
    "description": "should raise error if source raises error with seed",
    "lineNumber": 111
  },
  {
    "__docId__": 2635,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1680",
    "testId": 1680,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1680",
    "access": null,
    "description": "should raise error if reduce function throws with seed",
    "lineNumber": 122
  },
  {
    "__docId__": 2636,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1681",
    "testId": 1681,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1681",
    "access": null,
    "description": "should not complete with seed if source emits but does not completes",
    "lineNumber": 133
  },
  {
    "__docId__": 2637,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1682",
    "testId": 1682,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1682",
    "access": null,
    "description": "should not complete with seed if source never completes",
    "lineNumber": 144
  },
  {
    "__docId__": 2638,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1683",
    "testId": 1683,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1683",
    "access": null,
    "description": "should not complete without seed if source emits but does not completes",
    "lineNumber": 155
  },
  {
    "__docId__": 2639,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1684",
    "testId": 1684,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1684",
    "access": null,
    "description": "should not complete without seed if source never completes",
    "lineNumber": 165
  },
  {
    "__docId__": 2640,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1685",
    "testId": 1685,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1685",
    "access": null,
    "description": "should reduce if source does not emit without seed",
    "lineNumber": 175
  },
  {
    "__docId__": 2641,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1686",
    "testId": 1686,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1686",
    "access": null,
    "description": "should raise error if source emits and raises error without seed",
    "lineNumber": 185
  },
  {
    "__docId__": 2642,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1687",
    "testId": 1687,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1687",
    "access": null,
    "description": "should raise error if source raises error without seed",
    "lineNumber": 195
  },
  {
    "__docId__": 2643,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1688",
    "testId": 1688,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1688",
    "access": null,
    "description": "should accept array typed reducers",
    "lineNumber": 205
  },
  {
    "__docId__": 2644,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1689",
    "testId": 1689,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1689",
    "access": null,
    "description": "should accept T typed reducers",
    "lineNumber": 211
  },
  {
    "__docId__": 2645,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1690",
    "testId": 1690,
    "memberof": "spec-js/operators/reduce-spec.js~describe1670",
    "testDepth": 1,
    "longname": "spec-js/operators/reduce-spec.js~describe1670.it1690",
    "access": null,
    "description": "should accept R typed reducers",
    "lineNumber": 221
  },
  {
    "__docId__": 2646,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/refCount-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/refCount-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {refCount} */\ndescribe('ConnectableObservable.prototype.refCount', function () {\n    asDiagram('refCount')('should turn a multicasted Observable an automatically ' +\n        '(dis)connecting hot one', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = '^              !';\n        var expected = '--1-2---3-4--5-|';\n        var result = source.publish().refCount();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should count references', function () {\n        var connectable = Observable.never().publish();\n        var refCounted = connectable.refCount();\n        var sub1 = refCounted.subscribe({ next: function () {\n            } });\n        var sub2 = refCounted.subscribe({ next: function () {\n            } });\n        var sub3 = refCounted.subscribe({ next: function () {\n            } });\n        chai_1.expect(connectable._refCount).to.equal(3);\n        sub1.unsubscribe();\n        sub2.unsubscribe();\n        sub3.unsubscribe();\n    });\n    it('should unsub from the source when all other subscriptions are unsubbed', function (done) {\n        var unsubscribeCalled = false;\n        var connectable = new Observable(function (observer) {\n            observer.next(true);\n            return function () {\n                unsubscribeCalled = true;\n            };\n        }).publish();\n        var refCounted = connectable.refCount();\n        var sub1 = refCounted.subscribe(function () {\n            //noop\n        });\n        var sub2 = refCounted.subscribe(function () {\n            //noop\n        });\n        var sub3 = refCounted.subscribe(function (x) {\n            chai_1.expect(connectable._refCount).to.equal(1);\n        });\n        sub1.unsubscribe();\n        sub2.unsubscribe();\n        sub3.unsubscribe();\n        chai_1.expect(connectable._refCount).to.equal(0);\n        chai_1.expect(unsubscribeCalled).to.be.true;\n        done();\n    });\n    it('should not unsubscribe when a subscriber synchronously unsubscribes if ' +\n        'other subscribers are present', function () {\n        var unsubscribeCalled = false;\n        var connectable = new Observable(function (observer) {\n            observer.next(true);\n            return function () {\n                unsubscribeCalled = true;\n            };\n        }).publishReplay(1);\n        var refCounted = connectable.refCount();\n        refCounted.subscribe();\n        refCounted.subscribe().unsubscribe();\n        chai_1.expect(connectable._refCount).to.equal(1);\n        chai_1.expect(unsubscribeCalled).to.be.false;\n    });\n    it('should not unsubscribe when a subscriber synchronously unsubscribes if ' +\n        'other subscribers are present and the source is a Subject', function () {\n        var arr = [];\n        var subject = new Rx.Subject();\n        var connectable = subject.publishReplay(1);\n        var refCounted = connectable.refCount();\n        refCounted.subscribe(function (val) {\n            arr.push(val);\n        });\n        subject.next('the number one');\n        refCounted.first().subscribe().unsubscribe();\n        subject.next('the number two');\n        chai_1.expect(connectable._refCount).to.equal(1);\n        chai_1.expect(arr[0]).to.equal('the number one');\n        chai_1.expect(arr[1]).to.equal('the number two');\n    });\n});\n//# sourceMappingURL=refCount-spec.js.map"
  },
  {
    "__docId__": 2647,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1691",
    "testId": 1691,
    "memberof": "spec-js/operators/refCount-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/refCount-spec.js~describe1691",
    "access": null,
    "description": "ConnectableObservable.prototype.refCount",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{refCount}"
      }
    ],
    "testTargets": [
      "refCount"
    ]
  },
  {
    "__docId__": 2648,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1692",
    "testId": 1692,
    "memberof": "spec-js/operators/refCount-spec.js~describe1691",
    "testDepth": 1,
    "longname": "spec-js/operators/refCount-spec.js~describe1691.it1692",
    "access": null,
    "description": "should count references",
    "lineNumber": 16
  },
  {
    "__docId__": 2649,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1693",
    "testId": 1693,
    "memberof": "spec-js/operators/refCount-spec.js~describe1691",
    "testDepth": 1,
    "longname": "spec-js/operators/refCount-spec.js~describe1691.it1693",
    "access": null,
    "description": "should unsub from the source when all other subscriptions are unsubbed",
    "lineNumber": 30
  },
  {
    "__docId__": 2650,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1694",
    "testId": 1694,
    "memberof": "spec-js/operators/refCount-spec.js~describe1691",
    "testDepth": 1,
    "longname": "spec-js/operators/refCount-spec.js~describe1691.it1694",
    "access": null,
    "lineNumber": 55
  },
  {
    "__docId__": 2651,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1695",
    "testId": 1695,
    "memberof": "spec-js/operators/refCount-spec.js~describe1691",
    "testDepth": 1,
    "longname": "spec-js/operators/refCount-spec.js~describe1691.it1695",
    "access": null,
    "lineNumber": 70
  },
  {
    "__docId__": 2652,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/repeat-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/repeat-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {repeat} */\ndescribe('Observable.prototype.repeat', function () {\n    asDiagram('repeat(3)')('should resubscribe count number of times', function () {\n        var e1 = cold('--a--b--|                ');\n        var subs = ['^       !                ',\n            '        ^       !        ',\n            '                ^       !'];\n        var expected = '--a--b----a--b----a--b--|';\n        expectObservable(e1.repeat(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should resubscribe multiple times', function () {\n        var e1 = cold('--a--b--|                        ');\n        var subs = ['^       !                        ',\n            '        ^       !                ',\n            '                ^       !        ',\n            '                        ^       !'];\n        var expected = '--a--b----a--b----a--b----a--b--|';\n        expectObservable(e1.repeat(2).repeat(2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should complete without emit when count is zero', function () {\n        var e1 = cold('--a--b--|');\n        var subs = [];\n        var expected = '|';\n        expectObservable(e1.repeat(0)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should emit source once when count is one', function () {\n        var e1 = cold('--a--b--|');\n        var subs = '^       !';\n        var expected = '--a--b--|';\n        expectObservable(e1.repeat(1)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should repeat until gets unsubscribed', function () {\n        var e1 = cold('--a--b--|      ');\n        var subs = ['^       !      ',\n            '        ^     !'];\n        var unsub = '              !';\n        var expected = '--a--b----a--b-';\n        expectObservable(e1.repeat(10), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should be able to repeat indefinitely until unsubscribed', function () {\n        var e1 = cold('--a--b--|                                    ');\n        var subs = ['^       !                                    ',\n            '        ^       !                            ',\n            '                ^       !                    ',\n            '                        ^       !            ',\n            '                                ^       !    ',\n            '                                        ^   !'];\n        var unsub = '                                            !';\n        var expected = '--a--b----a--b----a--b----a--b----a--b----a--';\n        expectObservable(e1.repeat(), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var e1 = cold('--a--b--|                                    ');\n        var subs = ['^       !                                    ',\n            '        ^       !                            ',\n            '                ^       !                    ',\n            '                        ^       !            ',\n            '                                ^       !    ',\n            '                                        ^   !'];\n        var unsub = '                                            !';\n        var expected = '--a--b----a--b----a--b----a--b----a--b----a--';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .repeat()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should consider negative count as repeat indefinitely', function () {\n        var e1 = cold('--a--b--|                                    ');\n        var subs = ['^       !                                    ',\n            '        ^       !                            ',\n            '                ^       !                    ',\n            '                        ^       !            ',\n            '                                ^       !    ',\n            '                                        ^   !'];\n        var unsub = '                                            !';\n        var expected = '--a--b----a--b----a--b----a--b----a--b----a--';\n        expectObservable(e1.repeat(-1), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not complete when source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.repeat(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not complete when source does not completes', function () {\n        var e1 = cold('-');\n        var unsub = '                              !';\n        var subs = '^                             !';\n        var expected = '-';\n        expectObservable(e1.repeat(3), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should complete immediately when source does not complete without emit but count is zero', function () {\n        var e1 = cold('-');\n        var subs = [];\n        var expected = '|';\n        expectObservable(e1.repeat(0)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should complete immediately when source does not complete but count is zero', function () {\n        var e1 = cold('--a--b--');\n        var subs = [];\n        var expected = '|';\n        expectObservable(e1.repeat(0)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should emit source once and does not complete when source emits but does not complete', function () {\n        var e1 = cold('--a--b--');\n        var subs = ['^       '];\n        var expected = '--a--b--';\n        expectObservable(e1.repeat(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should complete when source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = ['(^!)', '(^!)', '(^!)'];\n        var expected = '|';\n        expectObservable(e1.repeat(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete when source does not emit', function () {\n        var e1 = cold('----|        ');\n        var subs = ['^   !        ',\n            '    ^   !    ',\n            '        ^   !'];\n        var expected = '------------|';\n        expectObservable(e1.repeat(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should complete immediately when source does not emit but count is zero', function () {\n        var e1 = cold('----|');\n        var subs = [];\n        var expected = '|';\n        expectObservable(e1.repeat(0)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raise error when source raises error', function () {\n        var e1 = cold('--a--b--#');\n        var subs = '^       !';\n        var expected = '--a--b--#';\n        expectObservable(e1.repeat(2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raises error if source throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.repeat(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raises error if source throws when repeating infinitely', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.repeat()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should terminate repeat and throw if source subscription to _next throws', function () {\n        var e1 = Observable.of(1, 2, rxTestScheduler);\n        e1.subscribe(function () { throw new Error('error'); });\n        chai_1.expect(function () {\n            e1.repeat(3);\n            rxTestScheduler.flush();\n        }).to.throw();\n    });\n    it('should terminate repeat and throw if source subscription to _complete throws', function () {\n        var e1 = Observable.of(1, 2, rxTestScheduler);\n        e1.subscribe(function () {\n            //noop\n        }, function () {\n            //noop\n        }, function () { throw new Error('error'); });\n        chai_1.expect(function () {\n            e1.repeat(3);\n            rxTestScheduler.flush();\n        }).to.throw();\n    });\n    it('should terminate repeat and throw if source subscription to _next throws when repeating infinitely', function () {\n        var e1 = Observable.of(1, 2, rxTestScheduler);\n        e1.subscribe(function () { throw new Error('error'); });\n        chai_1.expect(function () {\n            e1.repeat();\n            rxTestScheduler.flush();\n        }).to.throw();\n    });\n    it('should terminate repeat and throw if source subscription to _complete throws when repeating infinitely', function () {\n        var e1 = Observable.of(1, 2, rxTestScheduler);\n        e1.subscribe(function () {\n            //noop\n        }, function () {\n            //noop\n        }, function () { throw new Error('error'); });\n        chai_1.expect(function () {\n            e1.repeat();\n            rxTestScheduler.flush();\n        }).to.throw();\n    });\n    it('should raise error after first emit succeed', function () {\n        var repeated = false;\n        var e1 = cold('--a--|').map(function (x) {\n            if (repeated) {\n                throw 'error';\n            }\n            else {\n                repeated = true;\n                return x;\n            }\n        });\n        var expected = '--a----#';\n        expectObservable(e1.repeat(2)).toBe(expected);\n    });\n    it('should repeat a synchronous source (multicasted and refCounted) multiple times', function (done) {\n        var expected = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3];\n        Observable.of(1, 2, 3)\n            .multicast(function () { return new Rx.Subject(); })\n            .refCount()\n            .repeat(5)\n            .subscribe(function (x) { chai_1.expect(x).to.equal(expected.shift()); }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n});\n//# sourceMappingURL=repeat-spec.js.map"
  },
  {
    "__docId__": 2653,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1696",
    "testId": 1696,
    "memberof": "spec-js/operators/repeat-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/repeat-spec.js~describe1696",
    "access": null,
    "description": "Observable.prototype.repeat",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{repeat}"
      }
    ],
    "testTargets": [
      "repeat"
    ]
  },
  {
    "__docId__": 2654,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1697",
    "testId": 1697,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1697",
    "access": null,
    "description": "should resubscribe multiple times",
    "lineNumber": 16
  },
  {
    "__docId__": 2655,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1698",
    "testId": 1698,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1698",
    "access": null,
    "description": "should complete without emit when count is zero",
    "lineNumber": 26
  },
  {
    "__docId__": 2656,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1699",
    "testId": 1699,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1699",
    "access": null,
    "description": "should emit source once when count is one",
    "lineNumber": 33
  },
  {
    "__docId__": 2657,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1700",
    "testId": 1700,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1700",
    "access": null,
    "description": "should repeat until gets unsubscribed",
    "lineNumber": 40
  },
  {
    "__docId__": 2658,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1701",
    "testId": 1701,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1701",
    "access": null,
    "description": "should be able to repeat indefinitely until unsubscribed",
    "lineNumber": 49
  },
  {
    "__docId__": 2659,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1702",
    "testId": 1702,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1702",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 62
  },
  {
    "__docId__": 2660,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1703",
    "testId": 1703,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1703",
    "access": null,
    "description": "should consider negative count as repeat indefinitely",
    "lineNumber": 79
  },
  {
    "__docId__": 2661,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1704",
    "testId": 1704,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1704",
    "access": null,
    "description": "should not complete when source never completes",
    "lineNumber": 92
  },
  {
    "__docId__": 2662,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1705",
    "testId": 1705,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1705",
    "access": null,
    "description": "should not complete when source does not completes",
    "lineNumber": 99
  },
  {
    "__docId__": 2663,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1706",
    "testId": 1706,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1706",
    "access": null,
    "description": "should complete immediately when source does not complete without emit but count is zero",
    "lineNumber": 107
  },
  {
    "__docId__": 2664,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1707",
    "testId": 1707,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1707",
    "access": null,
    "description": "should complete immediately when source does not complete but count is zero",
    "lineNumber": 114
  },
  {
    "__docId__": 2665,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1708",
    "testId": 1708,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1708",
    "access": null,
    "description": "should emit source once and does not complete when source emits but does not complete",
    "lineNumber": 121
  },
  {
    "__docId__": 2666,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1709",
    "testId": 1709,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1709",
    "access": null,
    "description": "should complete when source is empty",
    "lineNumber": 128
  },
  {
    "__docId__": 2667,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1710",
    "testId": 1710,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1710",
    "access": null,
    "description": "should complete when source does not emit",
    "lineNumber": 135
  },
  {
    "__docId__": 2668,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1711",
    "testId": 1711,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1711",
    "access": null,
    "description": "should complete immediately when source does not emit but count is zero",
    "lineNumber": 144
  },
  {
    "__docId__": 2669,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1712",
    "testId": 1712,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1712",
    "access": null,
    "description": "should raise error when source raises error",
    "lineNumber": 151
  },
  {
    "__docId__": 2670,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1713",
    "testId": 1713,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1713",
    "access": null,
    "description": "should raises error if source throws",
    "lineNumber": 158
  },
  {
    "__docId__": 2671,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1714",
    "testId": 1714,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1714",
    "access": null,
    "description": "should raises error if source throws when repeating infinitely",
    "lineNumber": 165
  },
  {
    "__docId__": 2672,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1715",
    "testId": 1715,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1715",
    "access": null,
    "description": "should terminate repeat and throw if source subscription to _next throws",
    "lineNumber": 172
  },
  {
    "__docId__": 2673,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1716",
    "testId": 1716,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1716",
    "access": null,
    "description": "should terminate repeat and throw if source subscription to _complete throws",
    "lineNumber": 180
  },
  {
    "__docId__": 2674,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1717",
    "testId": 1717,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1717",
    "access": null,
    "description": "should terminate repeat and throw if source subscription to _next throws when repeating infinitely",
    "lineNumber": 192
  },
  {
    "__docId__": 2675,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1718",
    "testId": 1718,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1718",
    "access": null,
    "description": "should terminate repeat and throw if source subscription to _complete throws when repeating infinitely",
    "lineNumber": 200
  },
  {
    "__docId__": 2676,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1719",
    "testId": 1719,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1719",
    "access": null,
    "description": "should raise error after first emit succeed",
    "lineNumber": 212
  },
  {
    "__docId__": 2677,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1720",
    "testId": 1720,
    "memberof": "spec-js/operators/repeat-spec.js~describe1696",
    "testDepth": 1,
    "longname": "spec-js/operators/repeat-spec.js~describe1696.it1720",
    "access": null,
    "description": "should repeat a synchronous source (multicasted and refCounted) multiple times",
    "lineNumber": 226
  },
  {
    "__docId__": 2678,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/repeatWhen-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/repeatWhen-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {repeatWhen} */\ndescribe('Observable.prototype.repeatWhen', function () {\n    asDiagram('repeatWhen')('should handle a source with eventual complete using a hot notifier', function () {\n        var source = cold('-1--2--|');\n        var subs = ['^      !                     ',\n            '             ^      !        ',\n            '                          ^ !'];\n        var notifier = hot('-------------r------------r-|');\n        var expected = '-1--2---------1--2---------1|';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle a source with eventual complete using a hot notifier that raises error', function () {\n        var source = cold('-1--2--|');\n        var subs = ['^      !                    ',\n            '           ^      !           ',\n            '                   ^      !   '];\n        var notifier = hot('-----------r-------r---------#');\n        var expected = '-1--2-------1--2----1--2-----#';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should retry when notified via returned notifier on complete', function (done) {\n        var retried = false;\n        var expected = [1, 2, 1, 2];\n        var i = 0;\n        Observable.of(1, 2)\n            .map(function (n) {\n            return n;\n        })\n            .repeatWhen(function (notifications) { return notifications.map(function (x) {\n            if (retried) {\n                throw new Error('done');\n            }\n            retried = true;\n            return x;\n        }); })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        }, function (err) {\n            chai_1.expect(err).to.be.an('error', 'done');\n            done();\n        });\n    });\n    it('should retry when notified and complete on returned completion', function (done) {\n        var expected = [1, 2, 1, 2];\n        Observable.of(1, 2)\n            .map(function (n) {\n            return n;\n        })\n            .repeatWhen(function (notifications) { return Observable.empty(); })\n            .subscribe(function (n) {\n            chai_1.expect(n).to.equal(expected.shift());\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should apply an empty notifier on an empty source', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var notifier = cold('|');\n        var expected = '|';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should apply a never notifier on an empty source', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var notifier = cold('-');\n        var expected = '-';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should apply an empty notifier on a never source', function () {\n        var source = cold('-');\n        var unsub = '                                         !';\n        var subs = '^                                        !';\n        var notifier = cold('|');\n        var expected = '-';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should apply a never notifier on a never source', function () {\n        var source = cold('-');\n        var unsub = '                                         !';\n        var subs = '^                                        !';\n        var notifier = cold('-');\n        var expected = '-';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return an empty observable given a just-throw source and empty notifier', function () {\n        var source = cold('#');\n        var notifier = cold('|');\n        var expected = '#';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n    });\n    it('should return a error observable given a just-throw source and never notifier', function () {\n        var source = cold('#');\n        var notifier = cold('-');\n        var expected = '#';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n    });\n    xit('should hide errors using a never notifier on a source with eventual error', function () {\n        var source = cold('--a--b--c--#');\n        var subs = '^          !';\n        var notifier = cold('-');\n        var expected = '--a--b--c---------------------------------';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    xit('should propagate error thrown from notifierSelector function', function () {\n        var source = cold('--a--b--c--|');\n        var subs = '^          !';\n        var expected = '--a--b--c--#';\n        var result = source.repeatWhen((function () { throw 'bad!'; }));\n        expectObservable(result).toBe(expected, undefined, 'bad!');\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    xit('should replace error with complete using an empty notifier on a source ' +\n        'with eventual error', function () {\n        var source = cold('--a--b--c--#');\n        var subs = '^          !';\n        var notifier = cold('|');\n        var expected = '--a--b--c--|';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should mirror a basic cold source with complete, given a never notifier', function () {\n        var source = cold('--a--b--c--|');\n        var subs = '^          !';\n        var notifier = cold('|');\n        var expected = '--a--b--c--|';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should mirror a basic cold source with no termination, given a never notifier', function () {\n        var source = cold('--a--b--c---');\n        var subs = '^           ';\n        var notifier = cold('|');\n        var expected = '--a--b--c---';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should mirror a basic hot source with complete, given a never notifier', function () {\n        var source = hot('-a-^--b--c--|');\n        var subs = '^        !';\n        var notifier = cold('|');\n        var expected = '---b--c--|';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    xit('should handle a hot source that raises error but eventually completes', function () {\n        var source = hot('-1--2--3----4--5---|');\n        var ssubs = ['^      !            ',\n            '              ^    !'];\n        var notifier = hot('--------------r--------r---r--r--r---|');\n        var nsubs = '       ^           !';\n        var expected = '-1--2---      -5---|';\n        var result = source\n            .map(function (x) {\n            if (x === '3') {\n                throw 'error';\n            }\n            return x;\n        }).repeatWhen(function () { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(ssubs);\n        expectSubscriptions(notifier.subscriptions).toBe(nsubs);\n    });\n    it('should tear down resources when result is unsubscribed early', function () {\n        var source = cold('-1--2--|');\n        var unsub = '                    !       ';\n        var subs = ['^      !                    ',\n            '         ^      !           ',\n            '                 ^  !       '];\n        var notifier = hot('---------r-------r---------#');\n        var nsubs = '       ^            !       ';\n        var expected = '-1--2-----1--2----1--       ';\n        var result = source.repeatWhen(function (notifications) { return notifier; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(notifier.subscriptions).toBe(nsubs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var source = cold('-1--2--|');\n        var subs = ['^      !                    ',\n            '         ^      !           ',\n            '                 ^  !       '];\n        var notifier = hot('---------r-------r-------r-#');\n        var nsubs = '       ^            !       ';\n        var expected = '-1--2-----1--2----1--       ';\n        var unsub = '                    !       ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .repeatWhen(function (notifications) { return notifier; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(notifier.subscriptions).toBe(nsubs);\n    });\n    it('should handle a source with eventual error using a dynamic notifier ' +\n        'selector which eventually throws', function () {\n        var source = cold('-1--2--|');\n        var subs = ['^      !              ',\n            '       ^      !       ',\n            '              ^      !'];\n        var expected = '-1--2---1--2---1--2--#';\n        var invoked = 0;\n        var result = source.repeatWhen(function (notifications) {\n            return notifications.map(function (err) {\n                if (++invoked === 3) {\n                    throw 'error';\n                }\n                else {\n                    return 'x';\n                }\n            });\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle a source with eventual error using a dynamic notifier ' +\n        'selector which eventually completes', function () {\n        var source = cold('-1--2--|');\n        var subs = ['^      !              ',\n            '       ^      !       ',\n            '              ^      !'];\n        var expected = '-1--2---1--2---1--2--|';\n        var invoked = 0;\n        var result = source.repeatWhen(function (notifications) { return notifications\n            .map(function () { return 'x'; })\n            .takeUntil(notifications.flatMap(function () {\n            if (++invoked < 3) {\n                return Observable.empty();\n            }\n            else {\n                return Observable.of('stop!');\n            }\n        })); });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=repeatWhen-spec.js.map"
  },
  {
    "__docId__": 2679,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1721",
    "testId": 1721,
    "memberof": "spec-js/operators/repeatWhen-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "access": null,
    "description": "Observable.prototype.repeatWhen",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{repeatWhen}"
      }
    ],
    "testTargets": [
      "repeatWhen"
    ]
  },
  {
    "__docId__": 2680,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1722",
    "testId": 1722,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1722",
    "access": null,
    "description": "should handle a source with eventual complete using a hot notifier that raises error",
    "lineNumber": 18
  },
  {
    "__docId__": 2681,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1723",
    "testId": 1723,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1723",
    "access": null,
    "description": "should retry when notified via returned notifier on complete",
    "lineNumber": 29
  },
  {
    "__docId__": 2682,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1724",
    "testId": 1724,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1724",
    "access": null,
    "description": "should retry when notified and complete on returned completion",
    "lineNumber": 51
  },
  {
    "__docId__": 2683,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1725",
    "testId": 1725,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1725",
    "access": null,
    "description": "should apply an empty notifier on an empty source",
    "lineNumber": 66
  },
  {
    "__docId__": 2684,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1726",
    "testId": 1726,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1726",
    "access": null,
    "description": "should apply a never notifier on an empty source",
    "lineNumber": 75
  },
  {
    "__docId__": 2685,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1727",
    "testId": 1727,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1727",
    "access": null,
    "description": "should apply an empty notifier on a never source",
    "lineNumber": 84
  },
  {
    "__docId__": 2686,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1728",
    "testId": 1728,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1728",
    "access": null,
    "description": "should apply a never notifier on a never source",
    "lineNumber": 94
  },
  {
    "__docId__": 2687,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1729",
    "testId": 1729,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1729",
    "access": null,
    "description": "should return an empty observable given a just-throw source and empty notifier",
    "lineNumber": 104
  },
  {
    "__docId__": 2688,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1730",
    "testId": 1730,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1730",
    "access": null,
    "description": "should return a error observable given a just-throw source and never notifier",
    "lineNumber": 111
  },
  {
    "__docId__": 2689,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1731",
    "testId": 1731,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1731",
    "access": null,
    "description": "should mirror a basic cold source with complete, given a never notifier",
    "lineNumber": 145
  },
  {
    "__docId__": 2690,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1732",
    "testId": 1732,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1732",
    "access": null,
    "description": "should mirror a basic cold source with no termination, given a never notifier",
    "lineNumber": 154
  },
  {
    "__docId__": 2691,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1733",
    "testId": 1733,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1733",
    "access": null,
    "description": "should mirror a basic hot source with complete, given a never notifier",
    "lineNumber": 163
  },
  {
    "__docId__": 2692,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1734",
    "testId": 1734,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1734",
    "access": null,
    "description": "should tear down resources when result is unsubscribed early",
    "lineNumber": 190
  },
  {
    "__docId__": 2693,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1735",
    "testId": 1735,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1735",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 204
  },
  {
    "__docId__": 2694,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1736",
    "testId": 1736,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1736",
    "access": null,
    "lineNumber": 221
  },
  {
    "__docId__": 2695,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1737",
    "testId": 1737,
    "memberof": "spec-js/operators/repeatWhen-spec.js~describe1721",
    "testDepth": 1,
    "longname": "spec-js/operators/repeatWhen-spec.js~describe1721.it1737",
    "access": null,
    "lineNumber": 242
  },
  {
    "__docId__": 2696,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/retry-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/retry-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {retry} */\ndescribe('Observable.prototype.retry', function () {\n    asDiagram('retry(2)')('should handle a basic source that emits next then errors, count=3', function () {\n        var source = cold('--1-2-3-#');\n        var subs = ['^       !                ',\n            '        ^       !        ',\n            '                ^       !'];\n        var expected = '--1-2-3---1-2-3---1-2-3-#';\n        var result = source.retry(2);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should retry a number of times, without error, then complete', function (done) {\n        var errors = 0;\n        var retries = 2;\n        Observable.create(function (observer) {\n            observer.next(42);\n            observer.complete();\n        })\n            .map(function (x) {\n            if (++errors < retries) {\n                throw 'bad';\n            }\n            errors = 0;\n            return x;\n        })\n            .retry(retries)\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(42);\n        }, function (err) {\n            chai_1.expect('this was called').to.be.true;\n        }, done);\n    });\n    it('should retry a number of times, then call error handler', function (done) {\n        var errors = 0;\n        var retries = 2;\n        Observable.create(function (observer) {\n            observer.next(42);\n            observer.complete();\n        })\n            .map(function (x) {\n            errors += 1;\n            throw 'bad';\n        })\n            .retry(retries - 1)\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(42);\n        }, function (err) {\n            chai_1.expect(errors).to.equal(2);\n            done();\n        }, function () {\n            chai_1.expect('this was called').to.be.true;\n        });\n    });\n    it('should retry until successful completion', function (done) {\n        var errors = 0;\n        var retries = 10;\n        Observable.create(function (observer) {\n            observer.next(42);\n            observer.complete();\n        })\n            .map(function (x) {\n            if (++errors < retries) {\n                throw 'bad';\n            }\n            errors = 0;\n            return x;\n        })\n            .retry()\n            .take(retries)\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(42);\n        }, function (err) {\n            chai_1.expect('this was called').to.be.true;\n        }, done);\n    });\n    it('should handle an empty source', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '|';\n        var result = source.retry();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle a never source', function () {\n        var source = cold('-');\n        var subs = '^';\n        var expected = '-';\n        var result = source.retry();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return a never observable given an async just-throw source and no count', function () {\n        var source = cold('-#'); // important that it's not a sync error\n        var unsub = '                                     !';\n        var expected = '--------------------------------------';\n        var result = source.retry();\n        expectObservable(result, unsub).toBe(expected);\n    });\n    it('should handle a basic source that emits next then completes', function () {\n        var source = hot('--1--2--^--3--4--5---|');\n        var subs = '^            !';\n        var expected = '---3--4--5---|';\n        var result = source.retry();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle a basic source that emits next but does not complete', function () {\n        var source = hot('--1--2--^--3--4--5---');\n        var subs = '^            ';\n        var expected = '---3--4--5---';\n        var result = source.retry();\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle a basic source that emits next then errors, no count', function () {\n        var source = cold('--1-2-3-#');\n        var unsub = '                                     !';\n        var subs = ['^       !                             ',\n            '        ^       !                     ',\n            '                ^       !             ',\n            '                        ^       !     ',\n            '                                ^    !'];\n        var expected = '--1-2-3---1-2-3---1-2-3---1-2-3---1-2-';\n        var result = source.retry();\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle a source which eventually throws, count=3, and result is ' +\n        'unsubscribed early', function () {\n        var source = cold('--1-2-3-#');\n        var unsub = '             !           ';\n        var subs = ['^       !                ',\n            '        ^    !           '];\n        var expected = '--1-2-3---1-2-';\n        var result = source.retry(3);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var source = cold('--1-2-3-#');\n        var subs = ['^       !                ',\n            '        ^    !           '];\n        var expected = '--1-2-3---1-2-';\n        var unsub = '             !           ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .retry(100)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should retry a synchronous source (multicasted and refCounted) multiple times', function (done) {\n        var expected = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3];\n        Observable.of(1, 2, 3).concat(Observable.throw('bad!'))\n            .multicast(function () { return new Rx.Subject(); })\n            .refCount()\n            .retry(4)\n            .subscribe(function (x) { chai_1.expect(x).to.equal(expected.shift()); }, function (err) {\n            chai_1.expect(err).to.equal('bad!');\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n});\n//# sourceMappingURL=retry-spec.js.map"
  },
  {
    "__docId__": 2697,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1738",
    "testId": 1738,
    "memberof": "spec-js/operators/retry-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/retry-spec.js~describe1738",
    "access": null,
    "description": "Observable.prototype.retry",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{retry}"
      }
    ],
    "testTargets": [
      "retry"
    ]
  },
  {
    "__docId__": 2698,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1739",
    "testId": 1739,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1739",
    "access": null,
    "description": "should retry a number of times, without error, then complete",
    "lineNumber": 17
  },
  {
    "__docId__": 2699,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1740",
    "testId": 1740,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1740",
    "access": null,
    "description": "should retry a number of times, then call error handler",
    "lineNumber": 38
  },
  {
    "__docId__": 2700,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1741",
    "testId": 1741,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1741",
    "access": null,
    "description": "should retry until successful completion",
    "lineNumber": 59
  },
  {
    "__docId__": 2701,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1742",
    "testId": 1742,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1742",
    "access": null,
    "description": "should handle an empty source",
    "lineNumber": 81
  },
  {
    "__docId__": 2702,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1743",
    "testId": 1743,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1743",
    "access": null,
    "description": "should handle a never source",
    "lineNumber": 89
  },
  {
    "__docId__": 2703,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1744",
    "testId": 1744,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1744",
    "access": null,
    "description": "should return a never observable given an async just-throw source and no count",
    "lineNumber": 97
  },
  {
    "__docId__": 2704,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1745",
    "testId": 1745,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1745",
    "access": null,
    "description": "should handle a basic source that emits next then completes",
    "lineNumber": 104
  },
  {
    "__docId__": 2705,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1746",
    "testId": 1746,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1746",
    "access": null,
    "description": "should handle a basic source that emits next but does not complete",
    "lineNumber": 112
  },
  {
    "__docId__": 2706,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1747",
    "testId": 1747,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1747",
    "access": null,
    "description": "should handle a basic source that emits next then errors, no count",
    "lineNumber": 120
  },
  {
    "__docId__": 2707,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1748",
    "testId": 1748,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1748",
    "access": null,
    "lineNumber": 133
  },
  {
    "__docId__": 2708,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1749",
    "testId": 1749,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1749",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 144
  },
  {
    "__docId__": 2709,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1750",
    "testId": 1750,
    "memberof": "spec-js/operators/retry-spec.js~describe1738",
    "testDepth": 1,
    "longname": "spec-js/operators/retry-spec.js~describe1738.it1750",
    "access": null,
    "description": "should retry a synchronous source (multicasted and refCounted) multiple times",
    "lineNumber": 157
  },
  {
    "__docId__": 2710,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/retryWhen-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/retryWhen-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {retryWhen} */\ndescribe('Observable.prototype.retryWhen', function () {\n    asDiagram('retryWhen')('should handle a source with eventual error using a hot notifier', function () {\n        var source = cold('-1--2--#');\n        var subs = ['^      !                     ',\n            '             ^      !        ',\n            '                          ^ !'];\n        var notifier = hot('-------------r------------r-|');\n        var expected = '-1--2---------1--2---------1|';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle a source with eventual error using a hot notifier that raises error', function () {\n        var source = cold('-1--2--#');\n        var subs = ['^      !                    ',\n            '           ^      !           ',\n            '                   ^      !   '];\n        var notifier = hot('-----------r-------r---------#');\n        var expected = '-1--2-------1--2----1--2-----#';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should retry when notified via returned notifier on thrown error', function (done) {\n        var retried = false;\n        var expected = [1, 2, 1, 2];\n        var i = 0;\n        Observable.of(1, 2, 3)\n            .map(function (n) {\n            if (n === 3) {\n                throw 'bad';\n            }\n            return n;\n        })\n            .retryWhen(function (errors) { return errors.map(function (x) {\n            chai_1.expect(x).to.equal('bad');\n            if (retried) {\n                throw new Error('done');\n            }\n            retried = true;\n            return x;\n        }); })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        }, function (err) {\n            chai_1.expect(err).to.be.an('error', 'done');\n            done();\n        });\n    });\n    it('should retry when notified and complete on returned completion', function (done) {\n        var expected = [1, 2, 1, 2];\n        Observable.of(1, 2, 3)\n            .map(function (n) {\n            if (n === 3) {\n                throw 'bad';\n            }\n            return n;\n        })\n            .retryWhen(function (errors) { return Observable.empty(); })\n            .subscribe(function (n) {\n            chai_1.expect(n).to.equal(expected.shift());\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should apply an empty notifier on an empty source', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var notifier = cold('|');\n        var expected = '|';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should apply a never notifier on an empty source', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var notifier = cold('-');\n        var expected = '|';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should apply an empty notifier on a never source', function () {\n        var source = cold('-');\n        var unsub = '                                         !';\n        var subs = '^                                        !';\n        var notifier = cold('|');\n        var expected = '-';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should apply a never notifier on a never source', function () {\n        var source = cold('-');\n        var unsub = '                                         !';\n        var subs = '^                                        !';\n        var notifier = cold('-');\n        var expected = '-';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return an empty observable given a just-throw source and empty notifier', function () {\n        var source = cold('#');\n        var notifier = cold('|');\n        var expected = '|';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n    });\n    it('should return a never observable given a just-throw source and never notifier', function () {\n        var source = cold('#');\n        var notifier = cold('-');\n        var expected = '-';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n    });\n    it('should hide errors using a never notifier on a source with eventual error', function () {\n        var source = cold('--a--b--c--#');\n        var subs = '^          !';\n        var notifier = cold('-');\n        var expected = '--a--b--c---------------------------------';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should propagate error thrown from notifierSelector function', function () {\n        var source = cold('--a--b--c--#');\n        var subs = '^          !';\n        var expected = '--a--b--c--#';\n        var result = source.retryWhen((function () { throw 'bad!'; }));\n        expectObservable(result).toBe(expected, undefined, 'bad!');\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should replace error with complete using an empty notifier on a source ' +\n        'with eventual error', function () {\n        var source = cold('--a--b--c--#');\n        var subs = '^          !';\n        var notifier = cold('|');\n        var expected = '--a--b--c--|';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should mirror a basic cold source with complete, given a never notifier', function () {\n        var source = cold('--a--b--c--|');\n        var subs = '^          !';\n        var notifier = cold('|');\n        var expected = '--a--b--c--|';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should mirror a basic cold source with no termination, given a never notifier', function () {\n        var source = cold('--a--b--c---');\n        var subs = '^           ';\n        var notifier = cold('|');\n        var expected = '--a--b--c---';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should mirror a basic hot source with complete, given a never notifier', function () {\n        var source = hot('-a-^--b--c--|');\n        var subs = '^        !';\n        var notifier = cold('|');\n        var expected = '---b--c--|';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle a hot source that raises error but eventually completes', function () {\n        var source = hot('-1--2--3----4--5---|');\n        var ssubs = ['^      !            ',\n            '              ^    !'];\n        var notifier = hot('--------------r--------r---r--r--r---|');\n        var nsubs = '       ^           !';\n        var expected = '-1--2---      -5---|';\n        var result = source\n            .map(function (x) {\n            if (x === '3') {\n                throw 'error';\n            }\n            return x;\n        }).retryWhen(function () { return notifier; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(ssubs);\n        expectSubscriptions(notifier.subscriptions).toBe(nsubs);\n    });\n    it('should tear down resources when result is unsubscribed early', function () {\n        var source = cold('-1--2--#');\n        var unsub = '                    !       ';\n        var subs = ['^      !                    ',\n            '         ^      !           ',\n            '                 ^  !       '];\n        var notifier = hot('---------r-------r---------#');\n        var nsubs = '       ^            !       ';\n        var expected = '-1--2-----1--2----1--       ';\n        var result = source.retryWhen(function (errors) { return notifier; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(notifier.subscriptions).toBe(nsubs);\n    });\n    it('should not break unsubscription chains when unsubscribed explicitly', function () {\n        var source = cold('-1--2--#');\n        var subs = ['^      !                    ',\n            '         ^      !           ',\n            '                 ^  !       '];\n        var notifier = hot('---------r-------r-------r-#');\n        var nsubs = '       ^            !       ';\n        var expected = '-1--2-----1--2----1--       ';\n        var unsub = '                    !       ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .retryWhen(function (errors) { return notifier; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(notifier.subscriptions).toBe(nsubs);\n    });\n    it('should handle a source with eventual error using a dynamic notifier ' +\n        'selector which eventually throws', function () {\n        var source = cold('-1--2--#');\n        var subs = ['^      !              ',\n            '       ^      !       ',\n            '              ^      !'];\n        var expected = '-1--2---1--2---1--2--#';\n        var invoked = 0;\n        var result = source.retryWhen(function (errors) {\n            return errors.map(function (err) {\n                if (++invoked === 3) {\n                    throw 'error';\n                }\n                else {\n                    return 'x';\n                }\n            });\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle a source with eventual error using a dynamic notifier ' +\n        'selector which eventually completes', function () {\n        var source = cold('-1--2--#');\n        var subs = ['^      !              ',\n            '       ^      !       ',\n            '              ^      !'];\n        var expected = '-1--2---1--2---1--2--|';\n        var invoked = 0;\n        var result = source.retryWhen(function (errors) { return errors\n            .map(function () { return 'x'; })\n            .takeUntil(errors.flatMap(function () {\n            if (++invoked < 3) {\n                return Observable.empty();\n            }\n            else {\n                return Observable.of('stop!');\n            }\n        })); });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=retryWhen-spec.js.map"
  },
  {
    "__docId__": 2711,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1751",
    "testId": 1751,
    "memberof": "spec-js/operators/retryWhen-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751",
    "access": null,
    "description": "Observable.prototype.retryWhen",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{retryWhen}"
      }
    ],
    "testTargets": [
      "retryWhen"
    ]
  },
  {
    "__docId__": 2712,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1752",
    "testId": 1752,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1752",
    "access": null,
    "description": "should handle a source with eventual error using a hot notifier that raises error",
    "lineNumber": 18
  },
  {
    "__docId__": 2713,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1753",
    "testId": 1753,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1753",
    "access": null,
    "description": "should retry when notified via returned notifier on thrown error",
    "lineNumber": 29
  },
  {
    "__docId__": 2714,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1754",
    "testId": 1754,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1754",
    "access": null,
    "description": "should retry when notified and complete on returned completion",
    "lineNumber": 55
  },
  {
    "__docId__": 2715,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1755",
    "testId": 1755,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1755",
    "access": null,
    "description": "should apply an empty notifier on an empty source",
    "lineNumber": 73
  },
  {
    "__docId__": 2716,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1756",
    "testId": 1756,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1756",
    "access": null,
    "description": "should apply a never notifier on an empty source",
    "lineNumber": 82
  },
  {
    "__docId__": 2717,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1757",
    "testId": 1757,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1757",
    "access": null,
    "description": "should apply an empty notifier on a never source",
    "lineNumber": 91
  },
  {
    "__docId__": 2718,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1758",
    "testId": 1758,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1758",
    "access": null,
    "description": "should apply a never notifier on a never source",
    "lineNumber": 101
  },
  {
    "__docId__": 2719,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1759",
    "testId": 1759,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1759",
    "access": null,
    "description": "should return an empty observable given a just-throw source and empty notifier",
    "lineNumber": 111
  },
  {
    "__docId__": 2720,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1760",
    "testId": 1760,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1760",
    "access": null,
    "description": "should return a never observable given a just-throw source and never notifier",
    "lineNumber": 118
  },
  {
    "__docId__": 2721,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1761",
    "testId": 1761,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1761",
    "access": null,
    "description": "should hide errors using a never notifier on a source with eventual error",
    "lineNumber": 125
  },
  {
    "__docId__": 2722,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1762",
    "testId": 1762,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1762",
    "access": null,
    "description": "should propagate error thrown from notifierSelector function",
    "lineNumber": 134
  },
  {
    "__docId__": 2723,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1763",
    "testId": 1763,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1763",
    "access": null,
    "lineNumber": 142
  },
  {
    "__docId__": 2724,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1764",
    "testId": 1764,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1764",
    "access": null,
    "description": "should mirror a basic cold source with complete, given a never notifier",
    "lineNumber": 152
  },
  {
    "__docId__": 2725,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1765",
    "testId": 1765,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1765",
    "access": null,
    "description": "should mirror a basic cold source with no termination, given a never notifier",
    "lineNumber": 161
  },
  {
    "__docId__": 2726,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1766",
    "testId": 1766,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1766",
    "access": null,
    "description": "should mirror a basic hot source with complete, given a never notifier",
    "lineNumber": 170
  },
  {
    "__docId__": 2727,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1767",
    "testId": 1767,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1767",
    "access": null,
    "description": "should handle a hot source that raises error but eventually completes",
    "lineNumber": 179
  },
  {
    "__docId__": 2728,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1768",
    "testId": 1768,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1768",
    "access": null,
    "description": "should tear down resources when result is unsubscribed early",
    "lineNumber": 197
  },
  {
    "__docId__": 2729,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1769",
    "testId": 1769,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1769",
    "access": null,
    "description": "should not break unsubscription chains when unsubscribed explicitly",
    "lineNumber": 211
  },
  {
    "__docId__": 2730,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1770",
    "testId": 1770,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1770",
    "access": null,
    "lineNumber": 228
  },
  {
    "__docId__": 2731,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1771",
    "testId": 1771,
    "memberof": "spec-js/operators/retryWhen-spec.js~describe1751",
    "testDepth": 1,
    "longname": "spec-js/operators/retryWhen-spec.js~describe1751.it1771",
    "access": null,
    "lineNumber": 249
  },
  {
    "__docId__": 2732,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/sample-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/sample-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar chai_1 = require('chai');\nvar Observable = Rx.Observable;\n/** @test {sample} */\ndescribe('Observable.prototype.sample', function () {\n    asDiagram('sample')('should get samples when the notifier emits', function () {\n        var e1 = hot('---a----b---c----------d-----|   ');\n        var e1subs = '^                            !   ';\n        var e2 = hot('-----x----------x---x------x---|');\n        var e2subs = '^                            !   ';\n        var expected = '-----a----------c----------d-|   ';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should sample nothing if source has not nexted at all', function () {\n        var e1 = hot('----a-^------------|');\n        var e1subs = '^            !';\n        var e2 = hot('-----x-------|');\n        var e2subs = '^            !';\n        var expected = '-------------|';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should behave properly when notified by the same observable as the source (issue #2075)', function () {\n        var item$ = new Rx.Subject();\n        var results = [];\n        item$\n            .sample(item$)\n            .subscribe(function (value) { return results.push(value); });\n        item$.next(1);\n        item$.next(2);\n        item$.next(3);\n        chai_1.expect(results).to.deep.equal([1, 2, 3]);\n    });\n    it('should sample nothing if source has nexted after all notifications, but notifier does not complete', function () {\n        var e1 = hot('----a-^------b-----|');\n        var e1subs = '^            !';\n        var e2 = hot('-----x--------');\n        var e2subs = '^            !';\n        var expected = '-------------|';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should sample when the notifier completes', function () {\n        var e1 = hot('----a-^------b----------|');\n        var e1subs = '^                 !';\n        var e2 = hot('-----x-----|');\n        var e2subs = '^          !';\n        var expected = '-----------b------|';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete when the notifier completes, nor should it emit', function () {\n        var e1 = hot('----a----b----c----d----e----f----');\n        var e1subs = '^                                 ';\n        var e2 = hot('------x-|                         ');\n        var e2subs = '^       !                         ';\n        var expected = '------a---------------------------';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should complete only when the source completes, if notifier completes early', function () {\n        var e1 = hot('----a----b----c----d----e----f---|');\n        var e1subs = '^                                !';\n        var e2 = hot('------x-|                         ');\n        var e2subs = '^       !                         ';\n        var expected = '------a--------------------------|';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('----a-^--b----c----d----e----f----|          ');\n        var unsub = '              !                        ';\n        var e1subs = '^             !                        ';\n        var e2 = hot('-----x----------x----------x----------|');\n        var e2subs = '^             !                        ';\n        var expected = '-----b---------                        ';\n        expectObservable(e1.sample(e2), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('----a-^--b----c----d----e----f----|          ');\n        var e1subs = '^             !                        ';\n        var e2 = hot('-----x----------x----------x----------|');\n        var e2subs = '^             !                        ';\n        var expected = '-----b---------                        ';\n        var unsub = '              !                        ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .sample(e2)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should only sample when a new value arrives, even if it is the same value', function () {\n        var e1 = hot('----a----b----c----c----e----f----|  ');\n        var e1subs = '^                                 !  ';\n        var e2 = hot('------x-x------xx-x---x----x--------|');\n        var e2subs = '^                                 !  ';\n        var expected = '------a--------c------c----e------|  ';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error if source raises error', function () {\n        var e1 = hot('----a-^--b----c----d----#                    ');\n        var e1subs = '^                 !                    ';\n        var e2 = hot('-----x----------x----------x----------|');\n        var e2subs = '^                 !                    ';\n        var expected = '-----b----------d-#                    ';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should completes if source does not emits', function () {\n        var e1 = hot('|');\n        var e2 = hot('------x-------|');\n        var expected = '|';\n        var e1subs = '(^!)';\n        var e2subs = '(^!)';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error if source throws immediately', function () {\n        var e1 = hot('#');\n        var e2 = hot('------x-------|');\n        var expected = '#';\n        var e1subs = '(^!)';\n        var e2subs = '(^!)';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error if notification raises error', function () {\n        var e1 = hot('--a-----|');\n        var e2 = hot('----#');\n        var expected = '----#';\n        var e1subs = '^   !';\n        var e2subs = '^   !';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not completes if source does not complete', function () {\n        var e1 = hot('-');\n        var e1subs = '^              ';\n        var e2 = hot('------x-------|');\n        var e2subs = '^             !';\n        var expected = '-';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should sample only until source completes', function () {\n        var e1 = hot('----a----b----c----d-|');\n        var e1subs = '^                    !';\n        var e2 = hot('-----------x----------x------------|');\n        var e2subs = '^                    !';\n        var expected = '-----------b---------|';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should complete sampling if sample observable completes', function () {\n        var e1 = hot('----a----b----c----d-|');\n        var e1subs = '^                    !';\n        var e2 = hot('|');\n        var e2subs = '(^!)';\n        var expected = '---------------------|';\n        expectObservable(e1.sample(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n});\n//# sourceMappingURL=sample-spec.js.map"
  },
  {
    "__docId__": 2733,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1772",
    "testId": 1772,
    "memberof": "spec-js/operators/sample-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/sample-spec.js~describe1772",
    "access": null,
    "description": "Observable.prototype.sample",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{sample}"
      }
    ],
    "testTargets": [
      "sample"
    ]
  },
  {
    "__docId__": 2734,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1773",
    "testId": 1773,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1773",
    "access": null,
    "description": "should sample nothing if source has not nexted at all",
    "lineNumber": 17
  },
  {
    "__docId__": 2735,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1774",
    "testId": 1774,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1774",
    "access": null,
    "description": "should behave properly when notified by the same observable as the source (issue #2075)",
    "lineNumber": 27
  },
  {
    "__docId__": 2736,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1775",
    "testId": 1775,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1775",
    "access": null,
    "description": "should sample nothing if source has nexted after all notifications, but notifier does not complete",
    "lineNumber": 38
  },
  {
    "__docId__": 2737,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1776",
    "testId": 1776,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1776",
    "access": null,
    "description": "should sample when the notifier completes",
    "lineNumber": 48
  },
  {
    "__docId__": 2738,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1777",
    "testId": 1777,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1777",
    "access": null,
    "description": "should not complete when the notifier completes, nor should it emit",
    "lineNumber": 58
  },
  {
    "__docId__": 2739,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1778",
    "testId": 1778,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1778",
    "access": null,
    "description": "should complete only when the source completes, if notifier completes early",
    "lineNumber": 68
  },
  {
    "__docId__": 2740,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1779",
    "testId": 1779,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1779",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 78
  },
  {
    "__docId__": 2741,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1780",
    "testId": 1780,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1780",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 89
  },
  {
    "__docId__": 2742,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1781",
    "testId": 1781,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1781",
    "access": null,
    "description": "should only sample when a new value arrives, even if it is the same value",
    "lineNumber": 104
  },
  {
    "__docId__": 2743,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1782",
    "testId": 1782,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1782",
    "access": null,
    "description": "should raise error if source raises error",
    "lineNumber": 114
  },
  {
    "__docId__": 2744,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1783",
    "testId": 1783,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1783",
    "access": null,
    "description": "should completes if source does not emits",
    "lineNumber": 124
  },
  {
    "__docId__": 2745,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1784",
    "testId": 1784,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1784",
    "access": null,
    "description": "should raise error if source throws immediately",
    "lineNumber": 134
  },
  {
    "__docId__": 2746,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1785",
    "testId": 1785,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1785",
    "access": null,
    "description": "should raise error if notification raises error",
    "lineNumber": 144
  },
  {
    "__docId__": 2747,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1786",
    "testId": 1786,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1786",
    "access": null,
    "description": "should not completes if source does not complete",
    "lineNumber": 154
  },
  {
    "__docId__": 2748,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1787",
    "testId": 1787,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1787",
    "access": null,
    "description": "should sample only until source completes",
    "lineNumber": 164
  },
  {
    "__docId__": 2749,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1788",
    "testId": 1788,
    "memberof": "spec-js/operators/sample-spec.js~describe1772",
    "testDepth": 1,
    "longname": "spec-js/operators/sample-spec.js~describe1772.it1788",
    "access": null,
    "description": "should complete sampling if sample observable completes",
    "lineNumber": 174
  },
  {
    "__docId__": 2750,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/sampleTime-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/sampleTime-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {sampleTime} */\ndescribe('Observable.prototype.sampleTime', function () {\n    asDiagram('sampleTime(70)')('should get samples on a delay', function () {\n        var e1 = hot('a---b-c---------d--e---f-g-h--|');\n        var e1subs = '^                             !';\n        var expected = '-------c-------------e------h-|';\n        // timer          -------!------!------!------!--\n        expectObservable(e1.sampleTime(70, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should sample nothing if new value has not arrived', function () {\n        var e1 = hot('----a-^--b----c--------------f----|');\n        var e1subs = '^                           !';\n        var expected = '-----------c----------------|';\n        // timer              -----------!----------!---------\n        expectObservable(e1.sampleTime(110, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should sample if new value has arrived, even if it is the same value', function () {\n        var e1 = hot('----a-^--b----c----------c---f----|');\n        var e1subs = '^                           !';\n        var expected = '-----------c----------c-----|';\n        // timer              -----------!----------!---------\n        expectObservable(e1.sampleTime(110, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should sample nothing if source has not nexted by time of sample', function () {\n        var e1 = hot('----a-^-------------b-------------|');\n        var e1subs = '^                           !';\n        var expected = '----------------------b-----|';\n        // timer              -----------!----------!---------\n        expectObservable(e1.sampleTime(110, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if source raises error', function () {\n        var e1 = hot('----a-^--b----c----d----#');\n        var e1subs = '^                 !';\n        var expected = '-----------c------#';\n        // timer              -----------!----------!---------\n        expectObservable(e1.sampleTime(110, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('----a-^--b----c----d----e----f----|');\n        var unsub = '                !            ';\n        var e1subs = '^               !            ';\n        var expected = '-----------c-----            ';\n        // timer              -----------!----------!---------\n        expectObservable(e1.sampleTime(110, rxTestScheduler), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('----a-^--b----c----d----e----f----|');\n        var e1subs = '^               !            ';\n        // timer              -----------!----------!---------\n        var expected = '-----------c-----            ';\n        var unsub = '                !            ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .sampleTime(110, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should completes if source does not emits', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.sampleTime(60, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if source throws immediately', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.sampleTime(60, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes if source does not complete', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.sampleTime(60, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=sampleTime-spec.js.map"
  },
  {
    "__docId__": 2751,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1789",
    "testId": 1789,
    "memberof": "spec-js/operators/sampleTime-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789",
    "access": null,
    "description": "Observable.prototype.sampleTime",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{sampleTime}"
      }
    ],
    "testTargets": [
      "sampleTime"
    ]
  },
  {
    "__docId__": 2752,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1790",
    "testId": 1790,
    "memberof": "spec-js/operators/sampleTime-spec.js~describe1789",
    "testDepth": 1,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789.it1790",
    "access": null,
    "description": "should sample nothing if new value has not arrived",
    "lineNumber": 14
  },
  {
    "__docId__": 2753,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1791",
    "testId": 1791,
    "memberof": "spec-js/operators/sampleTime-spec.js~describe1789",
    "testDepth": 1,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789.it1791",
    "access": null,
    "description": "should sample if new value has arrived, even if it is the same value",
    "lineNumber": 22
  },
  {
    "__docId__": 2754,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1792",
    "testId": 1792,
    "memberof": "spec-js/operators/sampleTime-spec.js~describe1789",
    "testDepth": 1,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789.it1792",
    "access": null,
    "description": "should sample nothing if source has not nexted by time of sample",
    "lineNumber": 30
  },
  {
    "__docId__": 2755,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1793",
    "testId": 1793,
    "memberof": "spec-js/operators/sampleTime-spec.js~describe1789",
    "testDepth": 1,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789.it1793",
    "access": null,
    "description": "should raise error if source raises error",
    "lineNumber": 38
  },
  {
    "__docId__": 2756,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1794",
    "testId": 1794,
    "memberof": "spec-js/operators/sampleTime-spec.js~describe1789",
    "testDepth": 1,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789.it1794",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 46
  },
  {
    "__docId__": 2757,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1795",
    "testId": 1795,
    "memberof": "spec-js/operators/sampleTime-spec.js~describe1789",
    "testDepth": 1,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789.it1795",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 55
  },
  {
    "__docId__": 2758,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1796",
    "testId": 1796,
    "memberof": "spec-js/operators/sampleTime-spec.js~describe1789",
    "testDepth": 1,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789.it1796",
    "access": null,
    "description": "should completes if source does not emits",
    "lineNumber": 68
  },
  {
    "__docId__": 2759,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1797",
    "testId": 1797,
    "memberof": "spec-js/operators/sampleTime-spec.js~describe1789",
    "testDepth": 1,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789.it1797",
    "access": null,
    "description": "should raise error if source throws immediately",
    "lineNumber": 75
  },
  {
    "__docId__": 2760,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1798",
    "testId": 1798,
    "memberof": "spec-js/operators/sampleTime-spec.js~describe1789",
    "testDepth": 1,
    "longname": "spec-js/operators/sampleTime-spec.js~describe1789.it1798",
    "access": null,
    "description": "should not completes if source does not complete",
    "lineNumber": 82
  },
  {
    "__docId__": 2761,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/scan-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/scan-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {scan} */\ndescribe('Observable.prototype.scan', function () {\n    asDiagram('scan((acc, curr) => acc + curr, 0)')('should scan', function () {\n        var values = {\n            a: 1, b: 3, c: 5,\n            x: 1, y: 4, z: 9\n        };\n        var e1 = hot('--a--b--c--|', values);\n        var e1subs = '^          !';\n        var expected = '--x--y--z--|';\n        var scanFunction = function (o, x) {\n            return o + x;\n        };\n        expectObservable(e1.scan(scanFunction, 0)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should scan things', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                    !';\n        var expected = '---u--v--w--x--y--z--|';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c'],\n            w: ['b', 'c', 'd'],\n            x: ['b', 'c', 'd', 'e'],\n            y: ['b', 'c', 'd', 'e', 'f'],\n            z: ['b', 'c', 'd', 'e', 'f', 'g']\n        };\n        var source = e1.scan(function (acc, x) { return [].concat(acc, x); }, []);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should scan with a seed of undefined', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^                    !';\n        var expected = '---u--v--w--x--y--z--|';\n        var values = {\n            u: 'undefined b',\n            v: 'undefined b c',\n            w: 'undefined b c d',\n            x: 'undefined b c d e',\n            y: 'undefined b c d e f',\n            z: 'undefined b c d e f g'\n        };\n        var source = e1.scan(function (acc, x) { return acc + ' ' + x; }, undefined);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should scan without seed', function () {\n        var e1 = hot('--a--^--b--c--d--|');\n        var e1subs = '^           !';\n        var expected = '---x--y--z--|';\n        var values = {\n            x: 'b',\n            y: 'bc',\n            z: 'bcd'\n        };\n        var source = e1.scan(function (acc, x) { return acc + x; });\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle errors', function () {\n        var e1 = hot('--a--^--b--c--d--#');\n        var e1subs = '^           !';\n        var expected = '---u--v--w--#';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c'],\n            w: ['b', 'c', 'd']\n        };\n        var source = e1.scan(function (acc, x) { return [].concat(acc, x); }, []);\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle errors in the projection function', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^        !            ';\n        var expected = '---u--v--#            ';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c'],\n            w: ['b', 'c', 'd'],\n            x: ['b', 'c', 'd', 'e'],\n            y: ['b', 'c', 'd', 'e', 'f'],\n            z: ['b', 'c', 'd', 'e', 'f', 'g']\n        };\n        var source = e1.scan(function (acc, x) {\n            if (x === 'd') {\n                throw 'bad!';\n            }\n            return [].concat(acc, x);\n        }, []);\n        expectObservable(source).toBe(expected, values, 'bad!');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('handle empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        var source = e1.scan(function (acc, x) { return [].concat(acc, x); }, []);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('handle never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var source = e1.scan(function (acc, x) { return [].concat(acc, x); }, []);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('handle throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        var source = e1.scan(function (acc, x) { return [].concat(acc, x); }, []);\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var unsub = '              !       ';\n        var e1subs = '^             !       ';\n        var expected = '---u--v--w--x--       ';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c'],\n            w: ['b', 'c', 'd'],\n            x: ['b', 'c', 'd', 'e'],\n            y: ['b', 'c', 'd', 'e', 'f'],\n            z: ['b', 'c', 'd', 'e', 'f', 'g']\n        };\n        var source = e1.scan(function (acc, x) { return [].concat(acc, x); }, []);\n        expectObservable(source, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--|');\n        var e1subs = '^             !       ';\n        var expected = '---u--v--w--x--       ';\n        var unsub = '              !       ';\n        var values = {\n            u: ['b'],\n            v: ['b', 'c'],\n            w: ['b', 'c', 'd'],\n            x: ['b', 'c', 'd', 'e'],\n            y: ['b', 'c', 'd', 'e', 'f'],\n            z: ['b', 'c', 'd', 'e', 'f', 'g']\n        };\n        var source = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .scan(function (acc, x) { return [].concat(acc, x); }, [])\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(source, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should pass current index to accumulator', function () {\n        var values = {\n            a: 1, b: 3, c: 5,\n            x: 1, y: 4, z: 9\n        };\n        var idx = [0, 1, 2];\n        var e1 = hot('--a--b--c--|', values);\n        var e1subs = '^          !';\n        var expected = '--x--y--z--|';\n        var scanFunction = function (o, value, index) {\n            chai_1.expect(index).to.equal(idx.shift());\n            return o + value;\n        };\n        var scan = e1.scan(scanFunction, 0).finally(function () {\n            chai_1.expect(idx).to.be.empty;\n        });\n        expectObservable(scan).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should accept array typed reducers', function () {\n        type(function () {\n            var a;\n            a.reduce(function (acc, value) { return acc.concat(value); }, []);\n        });\n    });\n    it('should accept T typed reducers', function () {\n        type(function () {\n            var a;\n            a.reduce(function (acc, value) {\n                value.a = acc.a;\n                value.b = acc.b;\n                return acc;\n            }, {});\n        });\n    });\n    it('should accept R typed reducers', function () {\n        type(function () {\n            var a;\n            a.reduce(function (acc, value) {\n                value.a = acc.a;\n                value.b = acc.b;\n                return acc;\n            }, {});\n        });\n    });\n});\n//# sourceMappingURL=scan-spec.js.map"
  },
  {
    "__docId__": 2762,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1799",
    "testId": 1799,
    "memberof": "spec-js/operators/scan-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/scan-spec.js~describe1799",
    "access": null,
    "description": "Observable.prototype.scan",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{scan}"
      }
    ],
    "testTargets": [
      "scan"
    ]
  },
  {
    "__docId__": 2763,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1800",
    "testId": 1800,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1800",
    "access": null,
    "description": "should scan things",
    "lineNumber": 21
  },
  {
    "__docId__": 2764,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1801",
    "testId": 1801,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1801",
    "access": null,
    "description": "should scan with a seed of undefined",
    "lineNumber": 37
  },
  {
    "__docId__": 2765,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1802",
    "testId": 1802,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1802",
    "access": null,
    "description": "should scan without seed",
    "lineNumber": 53
  },
  {
    "__docId__": 2766,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1803",
    "testId": 1803,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1803",
    "access": null,
    "description": "should handle errors",
    "lineNumber": 66
  },
  {
    "__docId__": 2767,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1804",
    "testId": 1804,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1804",
    "access": null,
    "description": "should handle errors in the projection function",
    "lineNumber": 79
  },
  {
    "__docId__": 2768,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1805",
    "testId": 1805,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1805",
    "access": null,
    "description": "handle empty",
    "lineNumber": 100
  },
  {
    "__docId__": 2769,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1806",
    "testId": 1806,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1806",
    "access": null,
    "description": "handle never",
    "lineNumber": 108
  },
  {
    "__docId__": 2770,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1807",
    "testId": 1807,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1807",
    "access": null,
    "description": "handle throw",
    "lineNumber": 116
  },
  {
    "__docId__": 2771,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1808",
    "testId": 1808,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1808",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 124
  },
  {
    "__docId__": 2772,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1809",
    "testId": 1809,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1809",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 141
  },
  {
    "__docId__": 2773,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1810",
    "testId": 1810,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1810",
    "access": null,
    "description": "should pass current index to accumulator",
    "lineNumber": 161
  },
  {
    "__docId__": 2774,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1811",
    "testId": 1811,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1811",
    "access": null,
    "description": "should accept array typed reducers",
    "lineNumber": 180
  },
  {
    "__docId__": 2775,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1812",
    "testId": 1812,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1812",
    "access": null,
    "description": "should accept T typed reducers",
    "lineNumber": 186
  },
  {
    "__docId__": 2776,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1813",
    "testId": 1813,
    "memberof": "spec-js/operators/scan-spec.js~describe1799",
    "testDepth": 1,
    "longname": "spec-js/operators/scan-spec.js~describe1799.it1813",
    "access": null,
    "description": "should accept R typed reducers",
    "lineNumber": 196
  },
  {
    "__docId__": 2777,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/sequenceEqual-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/sequenceEqual-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "var booleans = { T: true, F: false };\n/** @test {sequenceEqual} */\ndescribe('Observable.prototype.sequenceEqual', function () {\n    asDiagram('sequenceEqual(observable)')('should return true for two equal sequences', function () {\n        var s1 = hot('--a--^--b--c--d--e--f--g--|');\n        var s1subs = '^                        !';\n        var s2 = hot('-----^-----b--c--d-e-f------g-|');\n        var s2subs = '^                        !';\n        var expected = '-------------------------(T|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(s1subs);\n        expectSubscriptions(s2.subscriptions).toBe(s2subs);\n    });\n    it('should return false for two sync observables that are unequal in length', function () {\n        var s1 = cold('(abcdefg|)');\n        var s2 = cold('(abc|)');\n        var expected = '(F|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n    });\n    it('should return true for two sync observables that match', function () {\n        var s1 = cold('(abcdefg|)');\n        var s2 = cold('(abcdefg|)');\n        var expected = '(T|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n    });\n    it('should return true for two observables that match when the last one emits and completes in the same frame', function () {\n        var s1 = hot('--a--^--b--c--d--e--f--g--|');\n        var s1subs = '^                        !';\n        var s2 = hot('-----^--b--c--d--e--f--g------|');\n        var s2subs = '^                        !';\n        var expected = '-------------------------(T|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(s1subs);\n        expectSubscriptions(s2.subscriptions).toBe(s2subs);\n    });\n    it('should return true for two observables that match when the last one emits and completes in the same frame', function () {\n        var s1 = hot('--a--^--b--c--d--e--f--g--|');\n        var s1subs = '^                        !';\n        var s2 = hot('-----^--b--c--d--e--f---------(g|)');\n        var s2subs = '^                        !';\n        var expected = '-------------------------(T|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(s1subs);\n        expectSubscriptions(s2.subscriptions).toBe(s2subs);\n    });\n    it('should error with an errored source', function () {\n        var s1 = hot('--a--^--b---c---#');\n        var s2 = hot('--a--^--b---c-----|');\n        var expected = '-----------#';\n        var sub = '^          !';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(sub);\n        expectSubscriptions(s2.subscriptions).toBe(sub);\n    });\n    it('should error with an errored compareTo', function () {\n        var s1 = hot('--a--^--b---c-----|');\n        var s2 = hot('--a--^--b---c---#');\n        var expected = '-----------#';\n        var sub = '^          !';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(sub);\n        expectSubscriptions(s2.subscriptions).toBe(sub);\n    });\n    it('should error if the source is a throw', function () {\n        var s1 = cold('#'); // throw\n        var s2 = cold('---a--b--c--|');\n        var expected = '#'; // throw\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected);\n    });\n    it('should never return if source is a never', function () {\n        var s1 = cold('------------'); // never\n        var s2 = cold('--a--b--c--|');\n        var expected = '------------'; // never\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected);\n    });\n    it('should never return if compareTo is a never', function () {\n        var s1 = cold('--a--b--c--|');\n        var s2 = cold('------------'); // never\n        var expected = '------------'; // never\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected);\n    });\n    it('should return false if source is empty and compareTo is not', function () {\n        var s1 = cold('|'); // empty\n        var s2 = cold('------a------');\n        var expected = '------(F|)';\n        var subs = '^     !';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(subs);\n        expectSubscriptions(s2.subscriptions).toBe(subs);\n    });\n    it('should return false if compareTo is empty and source is not', function () {\n        var s1 = cold('------a------');\n        var s2 = cold('|'); // empty\n        var expected = '------(F|)';\n        var subs = '^     !';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(subs);\n        expectSubscriptions(s2.subscriptions).toBe(subs);\n    });\n    it('should return never if compareTo is empty and source is never', function () {\n        var s1 = cold('-');\n        var s2 = cold('|');\n        var expected = '-';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected);\n    });\n    it('should return never if source is empty and compareTo is never', function () {\n        var s1 = cold('|');\n        var s2 = cold('-');\n        var expected = '-';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected);\n    });\n    it('should error if the comparor errors', function () {\n        var s1 = hot('--a--^--b-----c------d--|');\n        var s1subs = '^            !';\n        var s2 = hot('-----^--------x---y---z-------|');\n        var s2subs = '^            !';\n        var expected = '-------------#';\n        var i = 0;\n        var source = s1.sequenceEqual(s2, function (a, b) {\n            if (++i === 2) {\n                throw new Error('shazbot');\n            }\n            return a.value === b.value;\n        });\n        var values = {\n            a: null,\n            b: { value: 'bees knees' },\n            c: { value: 'carpy dumb' },\n            d: { value: 'derp' },\n            x: { value: 'bees knees', foo: 'lol' },\n            y: { value: 'carpy dumb', scooby: 'doo' },\n            z: { value: 'derp', weCouldBe: 'dancin, yeah' }\n        };\n        expectObservable(source).toBe(expected, Object.assign({}, booleans, values), new Error('shazbot'));\n        expectSubscriptions(s1.subscriptions).toBe(s1subs);\n        expectSubscriptions(s2.subscriptions).toBe(s2subs);\n    });\n    it('should use the provided comparor', function () {\n        var s1 = hot('--a--^--b-----c------d--|');\n        var s1subs = '^                        !';\n        var s2 = hot('-----^--------x---y---z-------|');\n        var s2subs = '^                        !';\n        var expected = '-------------------------(T|)';\n        var source = s1.sequenceEqual(s2, function (a, b) { return a.value === b.value; });\n        var values = {\n            a: null,\n            b: { value: 'bees knees' },\n            c: { value: 'carpy dumb' },\n            d: { value: 'derp' },\n            x: { value: 'bees knees', foo: 'lol' },\n            y: { value: 'carpy dumb', scooby: 'doo' },\n            z: { value: 'derp', weCouldBe: 'dancin, yeah' }\n        };\n        expectObservable(source).toBe(expected, Object.assign({}, booleans, values));\n        expectSubscriptions(s1.subscriptions).toBe(s1subs);\n        expectSubscriptions(s2.subscriptions).toBe(s2subs);\n    });\n    it('should return false for two unequal sequences, compareTo finishing last', function () {\n        var s1 = hot('--a--^--b--c--d--e--f--g--|');\n        var s1subs = '^                      !';\n        var s2 = hot('-----^-----b--c--d-e-f------z-|');\n        var s2subs = '^                      !';\n        var expected = '-----------------------(F|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(s1subs);\n        expectSubscriptions(s2.subscriptions).toBe(s2subs);\n    });\n    it('should return false for two unequal sequences, early wrong value from source', function () {\n        var s1 = hot('--a--^--b--c---x-----------|');\n        var s1subs = '^         !';\n        var s2 = hot('-----^--b--c--d--e--f--|');\n        var s2subs = '^         !';\n        var expected = '----------(F|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(s1subs);\n        expectSubscriptions(s2.subscriptions).toBe(s2subs);\n    });\n    it('should return false when the source emits an extra value after the compareTo completes', function () {\n        var s1 = hot('--a--^--b--c--d--e--f--g--h--|');\n        var s1subs = '^           !';\n        var s2 = hot('-----^--b--c--d-|');\n        var s2subs = '^           !';\n        var expected = '------------(F|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(s1subs);\n        expectSubscriptions(s2.subscriptions).toBe(s2subs);\n    });\n    it('should return false when the compareTo emits an extra value after the source completes', function () {\n        var s1 = hot('--a--^--b--c--d-|');\n        var s1subs = '^           !';\n        var s2 = hot('-----^--b--c--d--e--f--g--h--|');\n        var s2subs = '^           !';\n        var expected = '------------(F|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n        expectSubscriptions(s1.subscriptions).toBe(s1subs);\n        expectSubscriptions(s2.subscriptions).toBe(s2subs);\n    });\n    it('should return true for two empty observables', function () {\n        var s1 = cold('|');\n        var s2 = cold('|');\n        var expected = '(T|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n    });\n    it('should return false for an empty observable and an observable that emits', function () {\n        var s1 = cold('|');\n        var s2 = cold('---a--|');\n        var expected = '---(F|)';\n        var source = s1.sequenceEqual(s2);\n        expectObservable(source).toBe(expected, booleans);\n    });\n    it('should return compare hot and cold observables', function () {\n        var s1 = hot('---a--^---b---c---d---e---f---g---h---i---j---|');\n        var s2 = cold('----b---c-|');\n        var expected1 = '------------(F|)';\n        var subs1 = '^           !';\n        var delay = '-------------------|';\n        var s3 = cold('-f---g---h---i---j---|');\n        var expected2 = '                   ---------------------(T|)';\n        var subs2 = '                   ^                    !';\n        var test1 = s1.sequenceEqual(s2);\n        var test2 = s1.sequenceEqual(s3);\n        expectObservable(test1).toBe(expected1, booleans);\n        rxTestScheduler.schedule(function () { return expectObservable(test2).toBe(expected2, booleans); }, time(delay));\n        expectSubscriptions(s2.subscriptions).toBe(subs1);\n        expectSubscriptions(s3.subscriptions).toBe(subs2);\n    });\n});\n//# sourceMappingURL=sequenceEqual-spec.js.map"
  },
  {
    "__docId__": 2778,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1814",
    "testId": 1814,
    "memberof": "spec-js/operators/sequenceEqual-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "access": null,
    "description": "Observable.prototype.sequenceEqual",
    "lineNumber": 3,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{sequenceEqual}"
      }
    ],
    "testTargets": [
      "sequenceEqual"
    ]
  },
  {
    "__docId__": 2779,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1815",
    "testId": 1815,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1815",
    "access": null,
    "description": "should return false for two sync observables that are unequal in length",
    "lineNumber": 15
  },
  {
    "__docId__": 2780,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1816",
    "testId": 1816,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1816",
    "access": null,
    "description": "should return true for two sync observables that match",
    "lineNumber": 22
  },
  {
    "__docId__": 2781,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1817",
    "testId": 1817,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1817",
    "access": null,
    "description": "should return true for two observables that match when the last one emits and completes in the same frame",
    "lineNumber": 29
  },
  {
    "__docId__": 2782,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1818",
    "testId": 1818,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1818",
    "access": null,
    "description": "should return true for two observables that match when the last one emits and completes in the same frame",
    "lineNumber": 40
  },
  {
    "__docId__": 2783,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1819",
    "testId": 1819,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1819",
    "access": null,
    "description": "should error with an errored source",
    "lineNumber": 51
  },
  {
    "__docId__": 2784,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1820",
    "testId": 1820,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1820",
    "access": null,
    "description": "should error with an errored compareTo",
    "lineNumber": 61
  },
  {
    "__docId__": 2785,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1821",
    "testId": 1821,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1821",
    "access": null,
    "description": "should error if the source is a throw",
    "lineNumber": 71
  },
  {
    "__docId__": 2786,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1822",
    "testId": 1822,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1822",
    "access": null,
    "description": "should never return if source is a never",
    "lineNumber": 78
  },
  {
    "__docId__": 2787,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1823",
    "testId": 1823,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1823",
    "access": null,
    "description": "should never return if compareTo is a never",
    "lineNumber": 85
  },
  {
    "__docId__": 2788,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1824",
    "testId": 1824,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1824",
    "access": null,
    "description": "should return false if source is empty and compareTo is not",
    "lineNumber": 92
  },
  {
    "__docId__": 2789,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1825",
    "testId": 1825,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1825",
    "access": null,
    "description": "should return false if compareTo is empty and source is not",
    "lineNumber": 102
  },
  {
    "__docId__": 2790,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1826",
    "testId": 1826,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1826",
    "access": null,
    "description": "should return never if compareTo is empty and source is never",
    "lineNumber": 112
  },
  {
    "__docId__": 2791,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1827",
    "testId": 1827,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1827",
    "access": null,
    "description": "should return never if source is empty and compareTo is never",
    "lineNumber": 119
  },
  {
    "__docId__": 2792,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1828",
    "testId": 1828,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1828",
    "access": null,
    "description": "should error if the comparor errors",
    "lineNumber": 126
  },
  {
    "__docId__": 2793,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1829",
    "testId": 1829,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1829",
    "access": null,
    "description": "should use the provided comparor",
    "lineNumber": 152
  },
  {
    "__docId__": 2794,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1830",
    "testId": 1830,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1830",
    "access": null,
    "description": "should return false for two unequal sequences, compareTo finishing last",
    "lineNumber": 172
  },
  {
    "__docId__": 2795,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1831",
    "testId": 1831,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1831",
    "access": null,
    "description": "should return false for two unequal sequences, early wrong value from source",
    "lineNumber": 183
  },
  {
    "__docId__": 2796,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1832",
    "testId": 1832,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1832",
    "access": null,
    "description": "should return false when the source emits an extra value after the compareTo completes",
    "lineNumber": 194
  },
  {
    "__docId__": 2797,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1833",
    "testId": 1833,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1833",
    "access": null,
    "description": "should return false when the compareTo emits an extra value after the source completes",
    "lineNumber": 205
  },
  {
    "__docId__": 2798,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1834",
    "testId": 1834,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1834",
    "access": null,
    "description": "should return true for two empty observables",
    "lineNumber": 216
  },
  {
    "__docId__": 2799,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1835",
    "testId": 1835,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1835",
    "access": null,
    "description": "should return false for an empty observable and an observable that emits",
    "lineNumber": 223
  },
  {
    "__docId__": 2800,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1836",
    "testId": 1836,
    "memberof": "spec-js/operators/sequenceEqual-spec.js~describe1814",
    "testDepth": 1,
    "longname": "spec-js/operators/sequenceEqual-spec.js~describe1814.it1836",
    "access": null,
    "description": "should return compare hot and cold observables",
    "lineNumber": 230
  },
  {
    "__docId__": 2801,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/share-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/share-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {share} */\ndescribe('Observable.prototype.share', function () {\n    asDiagram('share')('should mirror a simple source Observable', function () {\n        var source = cold('--1-2---3-4--5-|');\n        var sourceSubs = '^              !';\n        var expected = '--1-2---3-4--5-|';\n        var shared = source.share();\n        expectObservable(shared).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should share a single subscription', function () {\n        var subscriptionCount = 0;\n        var obs = new Observable(function (observer) {\n            subscriptionCount++;\n        });\n        var source = obs.share();\n        chai_1.expect(subscriptionCount).to.equal(0);\n        source.subscribe();\n        source.subscribe();\n        chai_1.expect(subscriptionCount).to.equal(1);\n    });\n    it('should not change the output of the observable when error', function () {\n        var e1 = hot('---a--^--b--c--d--e--#');\n        var e1subs = '^              !';\n        var expected = '---b--c--d--e--#';\n        expectObservable(e1.share()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not change the output of the observable when successful with cold observable', function () {\n        var e1 = cold('---a--b--c--d--e--|');\n        var e1subs = '^                 !';\n        var expected = '---a--b--c--d--e--|';\n        expectObservable(e1.share()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not change the output of the observable when error with cold observable', function () {\n        var e1 = cold('---a--b--c--d--e--#');\n        var e1subs = '^                 !';\n        var expected = '---a--b--c--d--e--#';\n        expectObservable(e1.share()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should retry just fine', function () {\n        var e1 = cold('---a--b--c--d--e--#');\n        var e1subs = ['^                 !                  ',\n            '                  ^                 !'];\n        var expected = '---a--b--c--d--e-----a--b--c--d--e--#';\n        expectObservable(e1.share().retry(1)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should share the same values to multiple observers', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^           !';\n        var shared = source.share();\n        var subscriber1 = hot('a|           ').mergeMapTo(shared);\n        var expected1 = '-1-2-3----4-|';\n        var subscriber2 = hot('    b|       ').mergeMapTo(shared);\n        var expected2 = '    -3----4-|';\n        var subscriber3 = hot('        c|   ').mergeMapTo(shared);\n        var expected3 = '        --4-|';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should share an error from the source to multiple observers', function () {\n        var source = cold('-1-2-3----4-#');\n        var sourceSubs = '^           !';\n        var shared = source.share();\n        var subscriber1 = hot('a|           ').mergeMapTo(shared);\n        var expected1 = '-1-2-3----4-#';\n        var subscriber2 = hot('    b|       ').mergeMapTo(shared);\n        var expected2 = '    -3----4-#';\n        var subscriber3 = hot('        c|   ').mergeMapTo(shared);\n        var expected3 = '        --4-#';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should share the same values to multiple observers, ' +\n        'but is unsubscribed explicitly and early', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '^        !   ';\n        var shared = source.share();\n        var unsub = '         !   ';\n        var subscriber1 = hot('a|           ').mergeMapTo(shared);\n        var expected1 = '-1-2-3----   ';\n        var subscriber2 = hot('    b|       ').mergeMapTo(shared);\n        var expected2 = '    -3----   ';\n        var subscriber3 = hot('        c|   ').mergeMapTo(shared);\n        var expected3 = '        --   ';\n        expectObservable(subscriber1, unsub).toBe(expected1);\n        expectObservable(subscriber2, unsub).toBe(expected2);\n        expectObservable(subscriber3, unsub).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should share an empty source', function () {\n        var source = cold('|');\n        var sourceSubs = '(^!)';\n        var shared = source.share();\n        var expected = '|';\n        expectObservable(shared).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should share a never source', function () {\n        var source = cold('-');\n        var sourceSubs = '^';\n        var shared = source.share();\n        var expected = '-';\n        expectObservable(shared).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should share a throw source', function () {\n        var source = cold('#');\n        var sourceSubs = '(^!)';\n        var shared = source.share();\n        var expected = '#';\n        expectObservable(shared).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should connect when first subscriber subscribes', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '   ^           !';\n        var shared = source.share();\n        var subscriber1 = hot('   a|           ').mergeMapTo(shared);\n        var expected1 = '   -1-2-3----4-|';\n        var subscriber2 = hot('       b|       ').mergeMapTo(shared);\n        var expected2 = '       -3----4-|';\n        var subscriber3 = hot('           c|   ').mergeMapTo(shared);\n        var expected3 = '           --4-|';\n        expectObservable(subscriber1).toBe(expected1);\n        expectObservable(subscriber2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should disconnect when last subscriber unsubscribes', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '   ^        !   ';\n        var shared = source.share();\n        var subscriber1 = hot('   a|           ').mergeMapTo(shared);\n        var unsub1 = '          !     ';\n        var expected1 = '   -1-2-3--     ';\n        var subscriber2 = hot('       b|       ').mergeMapTo(shared);\n        var unsub2 = '            !   ';\n        var expected2 = '       -3----   ';\n        expectObservable(subscriber1, unsub1).toBe(expected1);\n        expectObservable(subscriber2, unsub2).toBe(expected2);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should not break unsubscription chain when last subscriber unsubscribes', function () {\n        var source = cold('-1-2-3----4-|');\n        var sourceSubs = '   ^        !   ';\n        var shared = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .share()\n            .mergeMap(function (x) { return Observable.of(x); });\n        var subscriber1 = hot('   a|           ').mergeMapTo(shared);\n        var unsub1 = '          !     ';\n        var expected1 = '   -1-2-3--     ';\n        var subscriber2 = hot('       b|       ').mergeMapTo(shared);\n        var unsub2 = '            !   ';\n        var expected2 = '       -3----   ';\n        expectObservable(subscriber1, unsub1).toBe(expected1);\n        expectObservable(subscriber2, unsub2).toBe(expected2);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should be retryable when cold source is synchronous', function () {\n        var source = cold('(123#)');\n        var shared = source.share();\n        var subscribe1 = 's         ';\n        var expected1 = '(123123#) ';\n        var subscribe2 = ' s        ';\n        var expected2 = ' (123123#)';\n        var sourceSubs = ['(^!)',\n            '(^!)',\n            ' (^!)',\n            ' (^!)'];\n        expectObservable(hot(subscribe1).do(function () {\n            expectObservable(shared.retry(1)).toBe(expected1);\n        })).toBe(subscribe1);\n        expectObservable(hot(subscribe2).do(function () {\n            expectObservable(shared.retry(1)).toBe(expected2);\n        })).toBe(subscribe2);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should be repeatable when cold source is synchronous', function () {\n        var source = cold('(123|)');\n        var shared = source.share();\n        var subscribe1 = 's         ';\n        var expected1 = '(123123|) ';\n        var subscribe2 = ' s        ';\n        var expected2 = ' (123123|)';\n        var sourceSubs = ['(^!)',\n            '(^!)',\n            ' (^!)',\n            ' (^!)'];\n        expectObservable(hot(subscribe1).do(function () {\n            expectObservable(shared.repeat(2)).toBe(expected1);\n        })).toBe(subscribe1);\n        expectObservable(hot(subscribe2).do(function () {\n            expectObservable(shared.repeat(2)).toBe(expected2);\n        })).toBe(subscribe2);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should be retryable', function () {\n        var source = cold('-1-2-3----4-#                        ');\n        var sourceSubs = ['^           !                        ',\n            '            ^           !            ',\n            '                        ^           !'];\n        var shared = source.share();\n        var subscribe1 = 's                                    ';\n        var expected1 = '-1-2-3----4--1-2-3----4--1-2-3----4-#';\n        var subscribe2 = '    s                                ';\n        var expected2 = '    -3----4--1-2-3----4--1-2-3----4-#';\n        expectObservable(hot(subscribe1).do(function () {\n            expectObservable(shared.retry(2)).toBe(expected1);\n        })).toBe(subscribe1);\n        expectObservable(hot(subscribe2).do(function () {\n            expectObservable(shared.retry(2)).toBe(expected2);\n        })).toBe(subscribe2);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should be repeatable', function () {\n        var source = cold('-1-2-3----4-|                        ');\n        var sourceSubs = ['^           !                        ',\n            '            ^           !            ',\n            '                        ^           !'];\n        var shared = source.share();\n        var subscribe1 = 's                                    ';\n        var expected1 = '-1-2-3----4--1-2-3----4--1-2-3----4-|';\n        var subscribe2 = '    s                                ';\n        var expected2 = '    -3----4--1-2-3----4--1-2-3----4-|';\n        expectObservable(hot(subscribe1).do(function () {\n            expectObservable(shared.repeat(3)).toBe(expected1);\n        })).toBe(subscribe1);\n        expectObservable(hot(subscribe2).do(function () {\n            expectObservable(shared.repeat(3)).toBe(expected2);\n        })).toBe(subscribe2);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should not change the output of the observable when never', function () {\n        var e1 = Observable.never();\n        var expected = '-';\n        expectObservable(e1.share()).toBe(expected);\n    });\n    it('should not change the output of the observable when empty', function () {\n        var e1 = Observable.empty();\n        var expected = '|';\n        expectObservable(e1.share()).toBe(expected);\n    });\n});\n//# sourceMappingURL=share-spec.js.map"
  },
  {
    "__docId__": 2802,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1837",
    "testId": 1837,
    "memberof": "spec-js/operators/share-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/share-spec.js~describe1837",
    "access": null,
    "description": "Observable.prototype.share",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{share}"
      }
    ],
    "testTargets": [
      "share"
    ]
  },
  {
    "__docId__": 2803,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1838",
    "testId": 1838,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1838",
    "access": null,
    "description": "should share a single subscription",
    "lineNumber": 15
  },
  {
    "__docId__": 2804,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1839",
    "testId": 1839,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1839",
    "access": null,
    "description": "should not change the output of the observable when error",
    "lineNumber": 26
  },
  {
    "__docId__": 2805,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1840",
    "testId": 1840,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1840",
    "access": null,
    "description": "should not change the output of the observable when successful with cold observable",
    "lineNumber": 33
  },
  {
    "__docId__": 2806,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1841",
    "testId": 1841,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1841",
    "access": null,
    "description": "should not change the output of the observable when error with cold observable",
    "lineNumber": 40
  },
  {
    "__docId__": 2807,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1842",
    "testId": 1842,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1842",
    "access": null,
    "description": "should retry just fine",
    "lineNumber": 47
  },
  {
    "__docId__": 2808,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1843",
    "testId": 1843,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1843",
    "access": null,
    "description": "should share the same values to multiple observers",
    "lineNumber": 55
  },
  {
    "__docId__": 2809,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1844",
    "testId": 1844,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1844",
    "access": null,
    "description": "should share an error from the source to multiple observers",
    "lineNumber": 70
  },
  {
    "__docId__": 2810,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1845",
    "testId": 1845,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1845",
    "access": null,
    "lineNumber": 85
  },
  {
    "__docId__": 2811,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1846",
    "testId": 1846,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1846",
    "access": null,
    "description": "should share an empty source",
    "lineNumber": 102
  },
  {
    "__docId__": 2812,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1847",
    "testId": 1847,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1847",
    "access": null,
    "description": "should share a never source",
    "lineNumber": 110
  },
  {
    "__docId__": 2813,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1848",
    "testId": 1848,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1848",
    "access": null,
    "description": "should share a throw source",
    "lineNumber": 118
  },
  {
    "__docId__": 2814,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1849",
    "testId": 1849,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1849",
    "access": null,
    "description": "should connect when first subscriber subscribes",
    "lineNumber": 126
  },
  {
    "__docId__": 2815,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1850",
    "testId": 1850,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1850",
    "access": null,
    "description": "should disconnect when last subscriber unsubscribes",
    "lineNumber": 141
  },
  {
    "__docId__": 2816,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1851",
    "testId": 1851,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1851",
    "access": null,
    "description": "should not break unsubscription chain when last subscriber unsubscribes",
    "lineNumber": 155
  },
  {
    "__docId__": 2817,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1852",
    "testId": 1852,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1852",
    "access": null,
    "description": "should be retryable when cold source is synchronous",
    "lineNumber": 172
  },
  {
    "__docId__": 2818,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1853",
    "testId": 1853,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1853",
    "access": null,
    "description": "should be repeatable when cold source is synchronous",
    "lineNumber": 191
  },
  {
    "__docId__": 2819,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1854",
    "testId": 1854,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1854",
    "access": null,
    "description": "should be retryable",
    "lineNumber": 210
  },
  {
    "__docId__": 2820,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1855",
    "testId": 1855,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1855",
    "access": null,
    "description": "should be repeatable",
    "lineNumber": 228
  },
  {
    "__docId__": 2821,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1856",
    "testId": 1856,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1856",
    "access": null,
    "description": "should not change the output of the observable when never",
    "lineNumber": 246
  },
  {
    "__docId__": 2822,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1857",
    "testId": 1857,
    "memberof": "spec-js/operators/share-spec.js~describe1837",
    "testDepth": 1,
    "longname": "spec-js/operators/share-spec.js~describe1837.it1857",
    "access": null,
    "description": "should not change the output of the observable when empty",
    "lineNumber": 251
  },
  {
    "__docId__": 2823,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/single-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/single-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {single} */\ndescribe('Observable.prototype.single', function () {\n    asDiagram('single')('should raise error from empty predicate if observable emits multiple time', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^    !      ';\n        var expected = '-----#      ';\n        var errorMsg = 'Sequence contains more than one element';\n        expectObservable(e1.single()).toBe(expected, null, errorMsg);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error from empty predicate if observable does not emit', function () {\n        var e1 = hot('--a--^--|');\n        var e1subs = '^  !';\n        var expected = '---#';\n        expectObservable(e1.single()).toBe(expected, null, new Rx.EmptyError());\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return only element from empty predicate if observable emits only once', function () {\n        var e1 = hot('--a--|');\n        var e1subs = '^    !';\n        var expected = '-----(a|)';\n        expectObservable(e1.single()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--b--c--|');\n        var unsub = '   !        ';\n        var e1subs = '^  !        ';\n        var expected = '----        ';\n        expectObservable(e1.single(), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^  !        ';\n        var expected = '----        ';\n        var unsub = '   !        ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .single()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error from empty predicate if observable emits error', function () {\n        var e1 = hot('--a--b^--#');\n        var e1subs = '^  !';\n        var expected = '---#';\n        expectObservable(e1.single()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error from predicate if observable emits error', function () {\n        var e1 = hot('--a--b^--#');\n        var e1subs = '^  !';\n        var expected = '---#';\n        var predicate = function (value) {\n            return value === 'c';\n        };\n        expectObservable(e1.single(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if predicate throws error', function () {\n        var e1 = hot('--a--b--c--d--|');\n        var e1subs = '^          !   ';\n        var expected = '-----------#   ';\n        var predicate = function (value) {\n            if (value !== 'd') {\n                return false;\n            }\n            throw 'error';\n        };\n        expectObservable(e1.single(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return element from predicate if observable have single matching element', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^          !';\n        var expected = '-----------(b|)';\n        var predicate = function (value) {\n            return value === 'b';\n        };\n        expectObservable(e1.single(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error from predicate if observable have multiple matching element', function () {\n        var e1 = hot('--a--b--a--b--b--|');\n        var e1subs = '^          !      ';\n        var expected = '-----------#      ';\n        var predicate = function (value) {\n            return value === 'b';\n        };\n        expectObservable(e1.single(predicate)).toBe(expected, null, 'Sequence contains more than one element');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error from predicate if observable does not emit', function () {\n        var e1 = hot('--a--^--|');\n        var e1subs = '^  !';\n        var expected = '---#';\n        var predicate = function (value) {\n            return value === 'a';\n        };\n        expectObservable(e1.single(predicate)).toBe(expected, null, new Rx.EmptyError());\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should return undefined from predicate if observable does not contain matching element', function () {\n        var e1 = hot('--a--b--c--|');\n        var e1subs = '^          !';\n        var expected = '-----------(z|)';\n        var predicate = function (value) {\n            return value === 'x';\n        };\n        expectObservable(e1.single(predicate)).toBe(expected, { z: undefined });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=single-spec.js.map"
  },
  {
    "__docId__": 2824,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1858",
    "testId": 1858,
    "memberof": "spec-js/operators/single-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/single-spec.js~describe1858",
    "access": null,
    "description": "Observable.prototype.single",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{single}"
      }
    ],
    "testTargets": [
      "single"
    ]
  },
  {
    "__docId__": 2825,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1859",
    "testId": 1859,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1859",
    "access": null,
    "description": "should raise error from empty predicate if observable does not emit",
    "lineNumber": 14
  },
  {
    "__docId__": 2826,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1860",
    "testId": 1860,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1860",
    "access": null,
    "description": "should return only element from empty predicate if observable emits only once",
    "lineNumber": 21
  },
  {
    "__docId__": 2827,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1861",
    "testId": 1861,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1861",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 28
  },
  {
    "__docId__": 2828,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1862",
    "testId": 1862,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1862",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 36
  },
  {
    "__docId__": 2829,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1863",
    "testId": 1863,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1863",
    "access": null,
    "description": "should raise error from empty predicate if observable emits error",
    "lineNumber": 48
  },
  {
    "__docId__": 2830,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1864",
    "testId": 1864,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1864",
    "access": null,
    "description": "should raise error from predicate if observable emits error",
    "lineNumber": 55
  },
  {
    "__docId__": 2831,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1865",
    "testId": 1865,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1865",
    "access": null,
    "description": "should raise error if predicate throws error",
    "lineNumber": 65
  },
  {
    "__docId__": 2832,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1866",
    "testId": 1866,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1866",
    "access": null,
    "description": "should return element from predicate if observable have single matching element",
    "lineNumber": 78
  },
  {
    "__docId__": 2833,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1867",
    "testId": 1867,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1867",
    "access": null,
    "description": "should raise error from predicate if observable have multiple matching element",
    "lineNumber": 88
  },
  {
    "__docId__": 2834,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1868",
    "testId": 1868,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1868",
    "access": null,
    "description": "should raise error from predicate if observable does not emit",
    "lineNumber": 98
  },
  {
    "__docId__": 2835,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1869",
    "testId": 1869,
    "memberof": "spec-js/operators/single-spec.js~describe1858",
    "testDepth": 1,
    "longname": "spec-js/operators/single-spec.js~describe1858.it1869",
    "access": null,
    "description": "should return undefined from predicate if observable does not contain matching element",
    "lineNumber": 108
  },
  {
    "__docId__": 2836,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/skip-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/skip-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {skip} */\ndescribe('Observable.prototype.skip', function () {\n    asDiagram('skip(3)')('should skip values before a total', function () {\n        var source = hot('--a--b--c--d--e--|');\n        var subs = '^                !';\n        var expected = '-----------d--e--|';\n        expectObservable(source.skip(3)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should skip all values without error if total is more than actual number of values', function () {\n        var source = hot('--a--b--c--d--e--|');\n        var subs = '^                !';\n        var expected = '-----------------|';\n        expectObservable(source.skip(6)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should skip all values without error if total is same as actual number of values', function () {\n        var source = hot('--a--b--c--d--e--|');\n        var subs = '^                !';\n        var expected = '-----------------|';\n        expectObservable(source.skip(5)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not skip if count is zero', function () {\n        var source = hot('--a--b--c--d--e--|');\n        var subs = '^                !';\n        var expected = '--a--b--c--d--e--|';\n        expectObservable(source.skip(0)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var source = hot('--a--b--c--d--e--|');\n        var unsub = '          !       ';\n        var subs = '^         !       ';\n        var expected = '--------c--       ';\n        expectObservable(source.skip(2), unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = hot('--a--b--c--d--e--|');\n        var subs = '^         !       ';\n        var expected = '--------c--       ';\n        var unsub = '          !       ';\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .skip(2)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should raise error if skip count is more than actual number of emits and source raises error', function () {\n        var source = hot('--a--b--c--d--#');\n        var subs = '^             !';\n        var expected = '--------------#';\n        expectObservable(source.skip(6)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should raise error if skip count is same as emits of source and source raises error', function () {\n        var source = hot('--a--b--c--d--#');\n        var subs = '^             !';\n        var expected = '--------------#';\n        expectObservable(source.skip(4)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should skip values before a total and raises error if source raises error', function () {\n        var source = hot('--a--b--c--d--#');\n        var subs = '^             !';\n        var expected = '-----------d--#';\n        expectObservable(source.skip(3)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should complete regardless of skip count if source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.skip(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not complete if source never completes without emit', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.skip(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should skip values before total and never completes if source emits and does not complete', function () {\n        var e1 = hot('--a--b--c-');\n        var e1subs = '^         ';\n        var expected = '-----b--c-';\n        expectObservable(e1.skip(1)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should skip all values and never completes if total is more than numbers of value and source does not complete', function () {\n        var e1 = hot('--a--b--c-');\n        var e1subs = '^         ';\n        var expected = '----------';\n        expectObservable(e1.skip(6)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should skip all values and never completes if total is same asnumbers of value and source does not complete', function () {\n        var e1 = hot('--a--b--c-');\n        var e1subs = '^         ';\n        var expected = '----------';\n        expectObservable(e1.skip(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if source throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.skip(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=skip-spec.js.map"
  },
  {
    "__docId__": 2837,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1870",
    "testId": 1870,
    "memberof": "spec-js/operators/skip-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/skip-spec.js~describe1870",
    "access": null,
    "description": "Observable.prototype.skip",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{skip}"
      }
    ],
    "testTargets": [
      "skip"
    ]
  },
  {
    "__docId__": 2838,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1871",
    "testId": 1871,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1871",
    "access": null,
    "description": "should skip all values without error if total is more than actual number of values",
    "lineNumber": 13
  },
  {
    "__docId__": 2839,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1872",
    "testId": 1872,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1872",
    "access": null,
    "description": "should skip all values without error if total is same as actual number of values",
    "lineNumber": 20
  },
  {
    "__docId__": 2840,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1873",
    "testId": 1873,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1873",
    "access": null,
    "description": "should not skip if count is zero",
    "lineNumber": 27
  },
  {
    "__docId__": 2841,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1874",
    "testId": 1874,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1874",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 34
  },
  {
    "__docId__": 2842,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1875",
    "testId": 1875,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1875",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 42
  },
  {
    "__docId__": 2843,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1876",
    "testId": 1876,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1876",
    "access": null,
    "description": "should raise error if skip count is more than actual number of emits and source raises error",
    "lineNumber": 54
  },
  {
    "__docId__": 2844,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1877",
    "testId": 1877,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1877",
    "access": null,
    "description": "should raise error if skip count is same as emits of source and source raises error",
    "lineNumber": 61
  },
  {
    "__docId__": 2845,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1878",
    "testId": 1878,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1878",
    "access": null,
    "description": "should skip values before a total and raises error if source raises error",
    "lineNumber": 68
  },
  {
    "__docId__": 2846,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1879",
    "testId": 1879,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1879",
    "access": null,
    "description": "should complete regardless of skip count if source is empty",
    "lineNumber": 75
  },
  {
    "__docId__": 2847,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1880",
    "testId": 1880,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1880",
    "access": null,
    "description": "should not complete if source never completes without emit",
    "lineNumber": 82
  },
  {
    "__docId__": 2848,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1881",
    "testId": 1881,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1881",
    "access": null,
    "description": "should skip values before total and never completes if source emits and does not complete",
    "lineNumber": 89
  },
  {
    "__docId__": 2849,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1882",
    "testId": 1882,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1882",
    "access": null,
    "description": "should skip all values and never completes if total is more than numbers of value and source does not complete",
    "lineNumber": 96
  },
  {
    "__docId__": 2850,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1883",
    "testId": 1883,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1883",
    "access": null,
    "description": "should skip all values and never completes if total is same asnumbers of value and source does not complete",
    "lineNumber": 103
  },
  {
    "__docId__": 2851,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1884",
    "testId": 1884,
    "memberof": "spec-js/operators/skip-spec.js~describe1870",
    "testDepth": 1,
    "longname": "spec-js/operators/skip-spec.js~describe1870.it1884",
    "access": null,
    "description": "should raise error if source throws",
    "lineNumber": 110
  },
  {
    "__docId__": 2852,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/skipUntil-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/skipUntil-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {skipUntil} */\ndescribe('Observable.prototype.skipUntil', function () {\n    asDiagram('skipUntil')('should skip values until another observable notifies', function () {\n        var e1 = hot('--a--b--c--d--e----|');\n        var e1subs = '^                  !';\n        var skip = hot('---------x------|   ');\n        var skipSubs = '^               !   ';\n        var expected = ('-----------d--e----|');\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should emit element only after another observable emits', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var skip = hot('-----------x----| ');\n        var skipSubs = '^               ! ';\n        var expected = ('--------------e--|');\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should skip value and raises error until another observable raises error', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^            !    ';\n        var skip = hot('-------------#    ');\n        var skipSubs = '^            !    ';\n        var expected = '-------------#    ';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should skip all element when another observable does not emit and completes early', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var skip = hot('------------|     ');\n        var skipSubs = '^           !     ';\n        var expected = '-----------------|';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--b--c--d--e----|');\n        var unsub = '         !          ';\n        var e1subs = '^        !          ';\n        var skip = hot('-------------x--|   ');\n        var skipSubs = '^        !          ';\n        var expected = ('----------          ');\n        expectObservable(e1.skipUntil(skip), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--c--d--e----|');\n        var e1subs = '^        !          ';\n        var skip = hot('-------------x--|   ');\n        var skipSubs = '^        !          ';\n        var expected = ('----------          ');\n        var unsub = '         !          ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .skipUntil(skip)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should skip all element when another observable is empty', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var skip = cold('|');\n        var skipSubs = '(^!)';\n        var expected = '-----------------|';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should keep subscription to source, to wait for its eventual complete', function () {\n        var e1 = hot('------------------------------|');\n        var e1subs = '^                             !';\n        var skip = hot('-------|                       ');\n        var skipSubs = '^      !                       ';\n        var expected = '------------------------------|';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should not complete if source observable does not complete', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var skip = hot('-------------x--|');\n        var skipSubs = '^               !';\n        var expected = '-';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should not complete if source observable never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var skip = hot('-------------x--|');\n        var skipSubs = '^               !';\n        var expected = '-';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should raise error if source does not completes when another observable raises error', function () {\n        var e1 = hot('-');\n        var e1subs = '^            !';\n        var skip = hot('-------------#');\n        var skipSubs = '^            !';\n        var expected = '-------------#';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should raise error if source never completes when another observable raises error', function () {\n        var e1 = cold('-');\n        var e1subs = '^            !';\n        var skip = hot('-------------#');\n        var skipSubs = '^            !';\n        var expected = '-------------#';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should skip all element and does not complete when another observable never completes', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var skip = cold('-');\n        var skipSubs = '^                !';\n        var expected = '-';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should skip all element and does not complete when another observable does not completes', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var skip = hot('-');\n        var skipSubs = '^                !';\n        var expected = '-';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should skip all element and does not complete when another observable completes after source', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var skip = hot('------------------------|');\n        var skipSubs = '^                !';\n        var expected = '------------------';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should not completes if source does not completes when another observable does not emit', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var skip = hot('--------------|');\n        var skipSubs = '^             !';\n        var expected = '-';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should not completes if source and another observable both does not complete', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var skip = hot('-');\n        var skipSubs = '^';\n        var expected = '-';\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(skip.subscriptions).toBe(skipSubs);\n    });\n    it('should skip all element when another observable unsubscribed early before emit', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = ['^                !',\n            '^                !']; // for the explicit subscribe some lines below\n        var skip = new Rx.Subject();\n        var expected = '-';\n        e1.subscribe(function (x) {\n            if (x === 'd' && !skip.closed) {\n                skip.next('x');\n            }\n            skip.unsubscribe();\n        });\n        expectObservable(e1.skipUntil(skip)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=skipUntil-spec.js.map"
  },
  {
    "__docId__": 2853,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1885",
    "testId": 1885,
    "memberof": "spec-js/operators/skipUntil-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885",
    "access": null,
    "description": "Observable.prototype.skipUntil",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{skipUntil}"
      }
    ],
    "testTargets": [
      "skipUntil"
    ]
  },
  {
    "__docId__": 2854,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1886",
    "testId": 1886,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1886",
    "access": null,
    "description": "should emit element only after another observable emits",
    "lineNumber": 16
  },
  {
    "__docId__": 2855,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1887",
    "testId": 1887,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1887",
    "access": null,
    "description": "should skip value and raises error until another observable raises error",
    "lineNumber": 26
  },
  {
    "__docId__": 2856,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1888",
    "testId": 1888,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1888",
    "access": null,
    "description": "should skip all element when another observable does not emit and completes early",
    "lineNumber": 36
  },
  {
    "__docId__": 2857,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1889",
    "testId": 1889,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1889",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 46
  },
  {
    "__docId__": 2858,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1890",
    "testId": 1890,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1890",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 57
  },
  {
    "__docId__": 2859,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1891",
    "testId": 1891,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1891",
    "access": null,
    "description": "should skip all element when another observable is empty",
    "lineNumber": 72
  },
  {
    "__docId__": 2860,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1892",
    "testId": 1892,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1892",
    "access": null,
    "description": "should keep subscription to source, to wait for its eventual complete",
    "lineNumber": 82
  },
  {
    "__docId__": 2861,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1893",
    "testId": 1893,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1893",
    "access": null,
    "description": "should not complete if source observable does not complete",
    "lineNumber": 92
  },
  {
    "__docId__": 2862,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1894",
    "testId": 1894,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1894",
    "access": null,
    "description": "should not complete if source observable never completes",
    "lineNumber": 102
  },
  {
    "__docId__": 2863,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1895",
    "testId": 1895,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1895",
    "access": null,
    "description": "should raise error if source does not completes when another observable raises error",
    "lineNumber": 112
  },
  {
    "__docId__": 2864,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1896",
    "testId": 1896,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1896",
    "access": null,
    "description": "should raise error if source never completes when another observable raises error",
    "lineNumber": 122
  },
  {
    "__docId__": 2865,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1897",
    "testId": 1897,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1897",
    "access": null,
    "description": "should skip all element and does not complete when another observable never completes",
    "lineNumber": 132
  },
  {
    "__docId__": 2866,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1898",
    "testId": 1898,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1898",
    "access": null,
    "description": "should skip all element and does not complete when another observable does not completes",
    "lineNumber": 142
  },
  {
    "__docId__": 2867,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1899",
    "testId": 1899,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1899",
    "access": null,
    "description": "should skip all element and does not complete when another observable completes after source",
    "lineNumber": 152
  },
  {
    "__docId__": 2868,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1900",
    "testId": 1900,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1900",
    "access": null,
    "description": "should not completes if source does not completes when another observable does not emit",
    "lineNumber": 162
  },
  {
    "__docId__": 2869,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1901",
    "testId": 1901,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1901",
    "access": null,
    "description": "should not completes if source and another observable both does not complete",
    "lineNumber": 172
  },
  {
    "__docId__": 2870,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1902",
    "testId": 1902,
    "memberof": "spec-js/operators/skipUntil-spec.js~describe1885",
    "testDepth": 1,
    "longname": "spec-js/operators/skipUntil-spec.js~describe1885.it1902",
    "access": null,
    "description": "should skip all element when another observable unsubscribed early before emit",
    "lineNumber": 182
  },
  {
    "__docId__": 2871,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/skipWhile-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/skipWhile-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {skipWhile} */\ndescribe('Observable.prototype.skipWhile', function () {\n    asDiagram('skipWhile(x => x < 4)')('should skip all elements until predicate is false', function () {\n        var source = hot('-1-^2--3--4--5--6--|');\n        var sourceSubs = '^               !';\n        var expected = '-------4--5--6--|';\n        var predicate = function (v) {\n            return +v < 4;\n        };\n        expectObservable(source.skipWhile(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should skip all elements with a true predicate', function () {\n        var source = hot('-1-^2--3--4--5--6--|');\n        var sourceSubs = '^               !';\n        var expected = '----------------|';\n        expectObservable(source.skipWhile(function () { return true; })).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should skip all elements with a truthy predicate', function () {\n        var source = hot('-1-^2--3--4--5--6--|');\n        var sourceSubs = '^               !';\n        var expected = '----------------|';\n        expectObservable(source.skipWhile(function () { return {}; })).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should not skip any element with a false predicate', function () {\n        var source = hot('-1-^2--3--4--5--6--|');\n        var sourceSubs = '^               !';\n        var expected = '-2--3--4--5--6--|';\n        expectObservable(source.skipWhile(function () { return false; })).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should not skip any elements with a falsy predicate', function () {\n        var source = hot('-1-^2--3--4--5--6--|');\n        var sourceSubs = '^               !';\n        var expected = '-2--3--4--5--6--|';\n        expectObservable(source.skipWhile(function () { return undefined; })).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should skip elements on hot source', function () {\n        var source = hot('--1--2-^-3--4--5--6--7--8--');\n        var sourceSubs = '^                   ';\n        var expected = '--------5--6--7--8--';\n        var predicate = function (v) {\n            return +v < 5;\n        };\n        expectObservable(source.skipWhile(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should be possible to skip using the element\\'s index', function () {\n        var source = hot('--a--b-^-c--d--e--f--g--h--|');\n        var sourceSubs = '^                   !';\n        var expected = '--------e--f--g--h--|';\n        var predicate = function (v, index) {\n            return index < 2;\n        };\n        expectObservable(source.skipWhile(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should skip using index with source unsubscribes early', function () {\n        var source = hot('--a--b-^-c--d--e--f--g--h--|');\n        var sourceSubs = '^          !';\n        var unsub = '-----------!';\n        var expected = '-----d--e---';\n        var predicate = function (v, index) {\n            return index < 1;\n        };\n        expectObservable(source.skipWhile(predicate), unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = hot('--a--b-^-c--d--e--f--g--h--|');\n        var sourceSubs = '^          !';\n        var expected = '-----d--e---';\n        var unsub = '           !';\n        var predicate = function (v, index) {\n            return index < 1;\n        };\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .skipWhile(predicate)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should skip using value with source throws', function () {\n        var source = hot('--a--b-^-c--d--e--f--g--h--#');\n        var sourceSubs = '^                   !';\n        var expected = '-----d--e--f--g--h--#';\n        var predicate = function (v) {\n            return v !== 'd';\n        };\n        expectObservable(source.skipWhile(predicate)).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should invoke predicate while its false and never again', function () {\n        var source = hot('--a--b-^-c--d--e--f--g--h--|');\n        var sourceSubs = '^                   !';\n        var expected = '--------e--f--g--h--|';\n        var invoked = 0;\n        var predicate = function (v) {\n            invoked++;\n            return v !== 'e';\n        };\n        expectObservable(source.skipWhile(predicate).do(null, null, function () {\n            chai_1.expect(invoked).to.equal(3);\n        })).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should handle predicate that throws', function () {\n        var source = hot('--a--b-^-c--d--e--f--g--h--|');\n        var sourceSubs = '^       !';\n        var expected = '--------#';\n        var predicate = function (v) {\n            if (v === 'e') {\n                throw new Error('nom d\\'une pipe !');\n            }\n            return v !== 'f';\n        };\n        expectObservable(source.skipWhile(predicate)).toBe(expected, undefined, new Error('nom d\\'une pipe !'));\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should handle Observable.empty', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '|';\n        expectObservable(source.skipWhile(function () { return true; })).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle Observable.never', function () {\n        var source = cold('-');\n        var subs = '^';\n        var expected = '-';\n        expectObservable(source.skipWhile(function () { return true; })).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle Observable.throw', function () {\n        var source = cold('#');\n        var subs = '(^!)';\n        var expected = '#';\n        expectObservable(source.skipWhile(function () { return true; })).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=skipWhile-spec.js.map"
  },
  {
    "__docId__": 2872,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1903",
    "testId": 1903,
    "memberof": "spec-js/operators/skipWhile-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903",
    "access": null,
    "description": "Observable.prototype.skipWhile",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{skipWhile}"
      }
    ],
    "testTargets": [
      "skipWhile"
    ]
  },
  {
    "__docId__": 2873,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1904",
    "testId": 1904,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1904",
    "access": null,
    "description": "should skip all elements with a true predicate",
    "lineNumber": 17
  },
  {
    "__docId__": 2874,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1905",
    "testId": 1905,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1905",
    "access": null,
    "description": "should skip all elements with a truthy predicate",
    "lineNumber": 24
  },
  {
    "__docId__": 2875,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1906",
    "testId": 1906,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1906",
    "access": null,
    "description": "should not skip any element with a false predicate",
    "lineNumber": 31
  },
  {
    "__docId__": 2876,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1907",
    "testId": 1907,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1907",
    "access": null,
    "description": "should not skip any elements with a falsy predicate",
    "lineNumber": 38
  },
  {
    "__docId__": 2877,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1908",
    "testId": 1908,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1908",
    "access": null,
    "description": "should skip elements on hot source",
    "lineNumber": 45
  },
  {
    "__docId__": 2878,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1909",
    "testId": 1909,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1909",
    "access": null,
    "description": "should be possible to skip using the element's index",
    "lineNumber": 55
  },
  {
    "__docId__": 2879,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1910",
    "testId": 1910,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1910",
    "access": null,
    "description": "should skip using index with source unsubscribes early",
    "lineNumber": 65
  },
  {
    "__docId__": 2880,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1911",
    "testId": 1911,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1911",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 76
  },
  {
    "__docId__": 2881,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1912",
    "testId": 1912,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1912",
    "access": null,
    "description": "should skip using value with source throws",
    "lineNumber": 91
  },
  {
    "__docId__": 2882,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1913",
    "testId": 1913,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1913",
    "access": null,
    "description": "should invoke predicate while its false and never again",
    "lineNumber": 101
  },
  {
    "__docId__": 2883,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1914",
    "testId": 1914,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1914",
    "access": null,
    "description": "should handle predicate that throws",
    "lineNumber": 115
  },
  {
    "__docId__": 2884,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1915",
    "testId": 1915,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1915",
    "access": null,
    "description": "should handle Observable.empty",
    "lineNumber": 128
  },
  {
    "__docId__": 2885,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1916",
    "testId": 1916,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1916",
    "access": null,
    "description": "should handle Observable.never",
    "lineNumber": 135
  },
  {
    "__docId__": 2886,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1917",
    "testId": 1917,
    "memberof": "spec-js/operators/skipWhile-spec.js~describe1903",
    "testDepth": 1,
    "longname": "spec-js/operators/skipWhile-spec.js~describe1903.it1917",
    "access": null,
    "description": "should handle Observable.throw",
    "lineNumber": 142
  },
  {
    "__docId__": 2887,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/startWith-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/startWith-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {startWith} */\ndescribe('Observable.prototype.startWith', function () {\n    var defaultStartValue = 'x';\n    asDiagram('startWith(s)')('should prepend to a cold Observable', function () {\n        var e1 = cold('---a--b--c--|');\n        var e1subs = '^           !';\n        var expected = 's--a--b--c--|';\n        expectObservable(e1.startWith('s')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start an observable with given value', function () {\n        var e1 = hot('--a--|');\n        var e1subs = '^    !';\n        var expected = 'x-a--|';\n        expectObservable(e1.startWith(defaultStartValue)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start with given value and does not completes if source does not completes', function () {\n        var e1 = hot('----a-');\n        var e1subs = '^     ';\n        var expected = 'x---a-';\n        expectObservable(e1.startWith(defaultStartValue)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start with given value and does not completes if source never emits', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = 'x-';\n        expectObservable(e1.startWith(defaultStartValue)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start with given value and completes if source does not emits', function () {\n        var e1 = hot('---|');\n        var e1subs = '^  !';\n        var expected = 'x--|';\n        expectObservable(e1.startWith(defaultStartValue)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start with given value and complete immediately if source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '(x|)';\n        expectObservable(e1.startWith(defaultStartValue)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start with given value and source both if source emits single value', function () {\n        var e1 = cold('(a|)');\n        var e1subs = '(^!)';\n        var expected = '(xa|)';\n        expectObservable(e1.startWith(defaultStartValue)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start with given values when given value is more than one', function () {\n        var e1 = hot('-----a--|');\n        var e1subs = '^       !';\n        var expected = '(yz)-a--|';\n        expectObservable(e1.startWith('y', 'z')).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start with given value and raises error if source raises error', function () {\n        var e1 = hot('--#');\n        var e1subs = '^ !';\n        var expected = 'x-#';\n        expectObservable(e1.startWith(defaultStartValue)).toBe(expected, defaultStartValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start with given value and raises error immediately if source throws error', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '(x#)';\n        expectObservable(e1.startWith(defaultStartValue)).toBe(expected, defaultStartValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('---a--b----c--d--|');\n        var unsub = '         !        ';\n        var e1subs = '^        !        ';\n        var expected = 's--a--b---';\n        var values = { s: 's', a: 'a', b: 'b' };\n        var result = e1.startWith('s', rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('---a--b----c--d--|');\n        var e1subs = '^        !        ';\n        var expected = 's--a--b---        ';\n        var unsub = '         !        ';\n        var values = { s: 's', a: 'a', b: 'b' };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .startWith('s', rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should start with empty if given value is not specified', function () {\n        var e1 = hot('-a-|');\n        var e1subs = '^  !';\n        var expected = '-a-|';\n        expectObservable(e1.startWith(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should accept scheduler as last argument with single value', function () {\n        var e1 = hot('--a--|');\n        var e1subs = '^    !';\n        var expected = 'x-a--|';\n        expectObservable(e1.startWith(defaultStartValue, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should accept scheduler as last argument with multiple value', function () {\n        var e1 = hot('-----a--|');\n        var e1subs = '^       !';\n        var expected = '(yz)-a--|';\n        expectObservable(e1.startWith('y', 'z', rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=startWith-spec.js.map"
  },
  {
    "__docId__": 2888,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1918",
    "testId": 1918,
    "memberof": "spec-js/operators/startWith-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/startWith-spec.js~describe1918",
    "access": null,
    "description": "Observable.prototype.startWith",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{startWith}"
      }
    ],
    "testTargets": [
      "startWith"
    ]
  },
  {
    "__docId__": 2889,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1919",
    "testId": 1919,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1919",
    "access": null,
    "description": "should start an observable with given value",
    "lineNumber": 14
  },
  {
    "__docId__": 2890,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1920",
    "testId": 1920,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1920",
    "access": null,
    "description": "should start with given value and does not completes if source does not completes",
    "lineNumber": 21
  },
  {
    "__docId__": 2891,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1921",
    "testId": 1921,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1921",
    "access": null,
    "description": "should start with given value and does not completes if source never emits",
    "lineNumber": 28
  },
  {
    "__docId__": 2892,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1922",
    "testId": 1922,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1922",
    "access": null,
    "description": "should start with given value and completes if source does not emits",
    "lineNumber": 35
  },
  {
    "__docId__": 2893,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1923",
    "testId": 1923,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1923",
    "access": null,
    "description": "should start with given value and complete immediately if source is empty",
    "lineNumber": 42
  },
  {
    "__docId__": 2894,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1924",
    "testId": 1924,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1924",
    "access": null,
    "description": "should start with given value and source both if source emits single value",
    "lineNumber": 49
  },
  {
    "__docId__": 2895,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1925",
    "testId": 1925,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1925",
    "access": null,
    "description": "should start with given values when given value is more than one",
    "lineNumber": 56
  },
  {
    "__docId__": 2896,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1926",
    "testId": 1926,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1926",
    "access": null,
    "description": "should start with given value and raises error if source raises error",
    "lineNumber": 63
  },
  {
    "__docId__": 2897,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1927",
    "testId": 1927,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1927",
    "access": null,
    "description": "should start with given value and raises error immediately if source throws error",
    "lineNumber": 70
  },
  {
    "__docId__": 2898,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1928",
    "testId": 1928,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1928",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 77
  },
  {
    "__docId__": 2899,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1929",
    "testId": 1929,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1929",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 87
  },
  {
    "__docId__": 2900,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1930",
    "testId": 1930,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1930",
    "access": null,
    "description": "should start with empty if given value is not specified",
    "lineNumber": 100
  },
  {
    "__docId__": 2901,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1931",
    "testId": 1931,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1931",
    "access": null,
    "description": "should accept scheduler as last argument with single value",
    "lineNumber": 107
  },
  {
    "__docId__": 2902,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1932",
    "testId": 1932,
    "memberof": "spec-js/operators/startWith-spec.js~describe1918",
    "testDepth": 1,
    "longname": "spec-js/operators/startWith-spec.js~describe1918.it1932",
    "access": null,
    "description": "should accept scheduler as last argument with multiple value",
    "lineNumber": 114
  },
  {
    "__docId__": 2903,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/subscribeOn-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/subscribeOn-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {subscribeOn} */\ndescribe('Observable.prototype.subscribeOn', function () {\n    asDiagram('subscribeOn(scheduler)')('should subscribe on specified scheduler', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '--a--b--|';\n        var sub = '^       !';\n        expectObservable(e1.subscribeOn(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should start subscribe after specified delay', function () {\n        var e1 = hot('--a--b--|');\n        var expected = '-----b--|';\n        var sub = '   ^    !';\n        expectObservable(e1.subscribeOn(rxTestScheduler, 30)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should subscribe when source raises error', function () {\n        var e1 = hot('--a--#');\n        var expected = '--a--#';\n        var sub = '^    !';\n        expectObservable(e1.subscribeOn(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should subscribe when source is empty', function () {\n        var e1 = hot('----|');\n        var expected = '----|';\n        var sub = '^   !';\n        expectObservable(e1.subscribeOn(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should subscribe when source does not complete', function () {\n        var e1 = hot('----');\n        var expected = '----';\n        var sub = '^   ';\n        expectObservable(e1.subscribeOn(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--b--|');\n        var sub = '^   !    ';\n        var expected = '--a--    ';\n        var unsub = '    !    ';\n        var result = e1.subscribeOn(rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n    it('should not break unsubscription chains when the result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--|');\n        var sub = '^   !    ';\n        var expected = '--a--    ';\n        var unsub = '    !    ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .subscribeOn(rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(sub);\n    });\n});\n//# sourceMappingURL=subscribeOn-spec.js.map"
  },
  {
    "__docId__": 2904,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1933",
    "testId": 1933,
    "memberof": "spec-js/operators/subscribeOn-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/subscribeOn-spec.js~describe1933",
    "access": null,
    "description": "Observable.prototype.subscribeOn",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{subscribeOn}"
      }
    ],
    "testTargets": [
      "subscribeOn"
    ]
  },
  {
    "__docId__": 2905,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1934",
    "testId": 1934,
    "memberof": "spec-js/operators/subscribeOn-spec.js~describe1933",
    "testDepth": 1,
    "longname": "spec-js/operators/subscribeOn-spec.js~describe1933.it1934",
    "access": null,
    "description": "should start subscribe after specified delay",
    "lineNumber": 13
  },
  {
    "__docId__": 2906,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1935",
    "testId": 1935,
    "memberof": "spec-js/operators/subscribeOn-spec.js~describe1933",
    "testDepth": 1,
    "longname": "spec-js/operators/subscribeOn-spec.js~describe1933.it1935",
    "access": null,
    "description": "should subscribe when source raises error",
    "lineNumber": 20
  },
  {
    "__docId__": 2907,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1936",
    "testId": 1936,
    "memberof": "spec-js/operators/subscribeOn-spec.js~describe1933",
    "testDepth": 1,
    "longname": "spec-js/operators/subscribeOn-spec.js~describe1933.it1936",
    "access": null,
    "description": "should subscribe when source is empty",
    "lineNumber": 27
  },
  {
    "__docId__": 2908,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1937",
    "testId": 1937,
    "memberof": "spec-js/operators/subscribeOn-spec.js~describe1933",
    "testDepth": 1,
    "longname": "spec-js/operators/subscribeOn-spec.js~describe1933.it1937",
    "access": null,
    "description": "should subscribe when source does not complete",
    "lineNumber": 34
  },
  {
    "__docId__": 2909,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1938",
    "testId": 1938,
    "memberof": "spec-js/operators/subscribeOn-spec.js~describe1933",
    "testDepth": 1,
    "longname": "spec-js/operators/subscribeOn-spec.js~describe1933.it1938",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 41
  },
  {
    "__docId__": 2910,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1939",
    "testId": 1939,
    "memberof": "spec-js/operators/subscribeOn-spec.js~describe1933",
    "testDepth": 1,
    "longname": "spec-js/operators/subscribeOn-spec.js~describe1933.it1939",
    "access": null,
    "description": "should not break unsubscription chains when the result is unsubscribed explicitly",
    "lineNumber": 50
  },
  {
    "__docId__": 2911,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/switch-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/switch-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar queueScheduler = Rx.Scheduler.queue;\n/** @test {switch} */\ndescribe('Observable.prototype.switch', function () {\n    asDiagram('switch')('should switch a hot observable of cold observables', function () {\n        var x = cold('--a---b--c---d--|      ');\n        var y = cold('----e---f--g---|');\n        var e1 = hot('--x------y-------|       ', { x: x, y: y });\n        var expected = '----a---b----e---f--g---|';\n        expectObservable(e1.switch()).toBe(expected);\n    });\n    it('should switch to each immediately-scheduled inner Observable', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, queueScheduler);\n        var r = [1, 4, 5, 6];\n        var i = 0;\n        Observable.of(a, b, queueScheduler)\n            .switch()\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(r[i++]);\n        }, null, done);\n    });\n    it('should unsub inner observables', function () {\n        var unsubbed = [];\n        Observable.of('a', 'b').map(function (x) {\n            return Observable.create(function (subscriber) {\n                subscriber.complete();\n                return function () {\n                    unsubbed.push(x);\n                };\n            });\n        })\n            .switch()\n            .subscribe();\n        chai_1.expect(unsubbed).to.deep.equal(['a', 'b']);\n    });\n    it('should switch to each inner Observable', function (done) {\n        var a = Observable.of(1, 2, 3);\n        var b = Observable.of(4, 5, 6);\n        var r = [1, 2, 3, 4, 5, 6];\n        var i = 0;\n        Observable.of(a, b).switch().subscribe(function (x) {\n            chai_1.expect(x).to.equal(r[i++]);\n        }, null, done);\n    });\n    it('should handle a hot observable of observables', function () {\n        var x = cold('--a---b---c--|         ');\n        var xsubs = '      ^       !              ';\n        var y = cold('---d--e---f---|');\n        var ysubs = '              ^             !';\n        var e1 = hot('------x-------y------|       ', { x: x, y: y });\n        var expected = '--------a---b----d--e---f---|';\n        expectObservable(e1.switch()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle a hot observable of observables, outer is unsubscribed early', function () {\n        var x = cold('--a---b---c--|         ');\n        var xsubs = '      ^       !              ';\n        var y = cold('---d--e---f---|');\n        var ysubs = '              ^ !            ';\n        var e1 = hot('------x-------y------|       ', { x: x, y: y });\n        var unsub = '                !            ';\n        var expected = '--------a---b---             ';\n        expectObservable(e1.switch(), unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var x = cold('--a---b---c--|         ');\n        var xsubs = '      ^       !              ';\n        var y = cold('---d--e---f---|');\n        var ysubs = '              ^ !            ';\n        var e1 = hot('------x-------y------|       ', { x: x, y: y });\n        var expected = '--------a---b----            ';\n        var unsub = '                !            ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .switch()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle a hot observable of observables, inner never completes', function () {\n        var x = cold('--a---b---c--|          ');\n        var xsubs = '      ^       !               ';\n        var y = cold('---d--e---f-----');\n        var ysubs = '              ^               ';\n        var e1 = hot('------x-------y------|        ', { x: x, y: y });\n        var expected = '--------a---b----d--e---f-----';\n        expectObservable(e1.switch()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle a synchronous switch to the second inner observable', function () {\n        var x = cold('--a---b---c--|   ');\n        var xsubs = '      (^!)             ';\n        var y = cold('---d--e---f---|  ');\n        var ysubs = '      ^             !  ';\n        var e1 = hot('------(xy)------------|', { x: x, y: y });\n        var expected = '---------d--e---f-----|';\n        expectObservable(e1.switch()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle a hot observable of observables, one inner throws', function () {\n        var x = cold('--a---#                ');\n        var xsubs = '      ^     !                ';\n        var y = cold('---d--e---f---|');\n        var ysubs = [];\n        var e1 = hot('------x-------y------|       ', { x: x, y: y });\n        var expected = '--------a---#                ';\n        expectObservable(e1.switch()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle a hot observable of observables, outer throws', function () {\n        var x = cold('--a---b---c--|         ');\n        var xsubs = '      ^       !              ';\n        var y = cold('---d--e---f---|');\n        var ysubs = '              ^       !      ';\n        var e1 = hot('------x-------y-------#      ', { x: x, y: y });\n        var expected = '--------a---b----d--e-#      ';\n        expectObservable(e1.switch()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n    });\n    it('should handle an empty hot observable', function () {\n        var e1 = hot('------|');\n        var e1subs = '^     !';\n        var expected = '------|';\n        expectObservable(e1.switch()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a never hot observable', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.switch()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete not before the outer completes', function () {\n        var x = cold('--a---b---c--|   ');\n        var xsubs = '      ^            !   ';\n        var e1 = hot('------x---------------|', { x: x });\n        var e1subs = '^                     !';\n        var expected = '--------a---b---c-----|';\n        expectObservable(e1.switch()).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an observable of promises', function (done) {\n        var expected = [3];\n        Observable.of(Promise.resolve(1), Promise.resolve(2), Promise.resolve(3))\n            .switch()\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should handle an observable of promises, where last rejects', function (done) {\n        Observable.of(Promise.resolve(1), Promise.resolve(2), Promise.reject(3))\n            .switch()\n            .subscribe(function () {\n            done(new Error('should not be called'));\n        }, function (err) {\n            chai_1.expect(err).to.equal(3);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n    it('should handle an observable with Arrays in it', function () {\n        var expected = [1, 2, 3, 4];\n        var completed = false;\n        Observable.of(Observable.never(), Observable.never(), [1, 2, 3, 4])\n            .switch()\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, function () {\n            completed = true;\n            chai_1.expect(expected.length).to.equal(0);\n        });\n        chai_1.expect(completed).to.be.true;\n    });\n});\n//# sourceMappingURL=switch-spec.js.map"
  },
  {
    "__docId__": 2912,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1940",
    "testId": 1940,
    "memberof": "spec-js/operators/switch-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/switch-spec.js~describe1940",
    "access": null,
    "description": "Observable.prototype.switch",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{switch}"
      }
    ],
    "testTargets": [
      "switch"
    ]
  },
  {
    "__docId__": 2913,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1941",
    "testId": 1941,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1941",
    "access": null,
    "description": "should switch to each immediately-scheduled inner Observable",
    "lineNumber": 15
  },
  {
    "__docId__": 2914,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1942",
    "testId": 1942,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1942",
    "access": null,
    "description": "should unsub inner observables",
    "lineNumber": 26
  },
  {
    "__docId__": 2915,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1943",
    "testId": 1943,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1943",
    "access": null,
    "description": "should switch to each inner Observable",
    "lineNumber": 40
  },
  {
    "__docId__": 2916,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1944",
    "testId": 1944,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1944",
    "access": null,
    "description": "should handle a hot observable of observables",
    "lineNumber": 49
  },
  {
    "__docId__": 2917,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1945",
    "testId": 1945,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1945",
    "access": null,
    "description": "should handle a hot observable of observables, outer is unsubscribed early",
    "lineNumber": 60
  },
  {
    "__docId__": 2918,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1946",
    "testId": 1946,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1946",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 72
  },
  {
    "__docId__": 2919,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1947",
    "testId": 1947,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1947",
    "access": null,
    "description": "should handle a hot observable of observables, inner never completes",
    "lineNumber": 88
  },
  {
    "__docId__": 2920,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1948",
    "testId": 1948,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1948",
    "access": null,
    "description": "should handle a synchronous switch to the second inner observable",
    "lineNumber": 99
  },
  {
    "__docId__": 2921,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1949",
    "testId": 1949,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1949",
    "access": null,
    "description": "should handle a hot observable of observables, one inner throws",
    "lineNumber": 110
  },
  {
    "__docId__": 2922,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1950",
    "testId": 1950,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1950",
    "access": null,
    "description": "should handle a hot observable of observables, outer throws",
    "lineNumber": 121
  },
  {
    "__docId__": 2923,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1951",
    "testId": 1951,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1951",
    "access": null,
    "description": "should handle an empty hot observable",
    "lineNumber": 132
  },
  {
    "__docId__": 2924,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1952",
    "testId": 1952,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1952",
    "access": null,
    "description": "should handle a never hot observable",
    "lineNumber": 139
  },
  {
    "__docId__": 2925,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1953",
    "testId": 1953,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1953",
    "access": null,
    "description": "should complete not before the outer completes",
    "lineNumber": 146
  },
  {
    "__docId__": 2926,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1954",
    "testId": 1954,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1954",
    "access": null,
    "description": "should handle an observable of promises",
    "lineNumber": 156
  },
  {
    "__docId__": 2927,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1955",
    "testId": 1955,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1955",
    "access": null,
    "description": "should handle an observable of promises, where last rejects",
    "lineNumber": 167
  },
  {
    "__docId__": 2928,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1956",
    "testId": 1956,
    "memberof": "spec-js/operators/switch-spec.js~describe1940",
    "testDepth": 1,
    "longname": "spec-js/operators/switch-spec.js~describe1940.it1956",
    "access": null,
    "description": "should handle an observable with Arrays in it",
    "lineNumber": 179
  },
  {
    "__docId__": 2929,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/switchMap-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/switchMap-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {switchMap} */\ndescribe('Observable.prototype.switchMap', function () {\n    asDiagram('switchMap(i => 10*i\\u2014\\u201410*i\\u2014\\u201410*i\\u2014| )')('should map-and-flatten each item to an Observable', function () {\n        var e1 = hot('--1-----3--5-------|');\n        var e1subs = '^                  !';\n        var e2 = cold('x-x-x|              ', { x: 10 });\n        var expected = '--x-x-x-y-yz-z-z---|';\n        var values = { x: 10, y: 30, z: 50 };\n        var result = e1.switchMap(function (x) { return e2.map(function (i) { return i * x; }); });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch with a selector function', function (done) {\n        var a = Observable.of(1, 2, 3);\n        var expected = ['a1', 'b1', 'c1', 'a2', 'b2', 'c2', 'a3', 'b3', 'c3'];\n        a.switchMap(function (x) { return Observable.of('a' + x, 'b' + x, 'c' + x); })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, done);\n    });\n    it('should unsub inner observables', function () {\n        var unsubbed = [];\n        Observable.of('a', 'b').switchMap(function (x) {\n            return Observable.create(function (subscriber) {\n                subscriber.complete();\n                return function () {\n                    unsubbed.push(x);\n                };\n            });\n        }).subscribe();\n        chai_1.expect(unsubbed).to.deep.equal(['a', 'b']);\n    });\n    it('should switch inner cold observables', function () {\n        var x = cold('--a--b--c--d--e--|           ');\n        var xsubs = '         ^         !                  ';\n        var y = cold('---f---g---h---i--|');\n        var ysubs = '                   ^                 !';\n        var e1 = hot('---------x---------y---------|        ');\n        var e1subs = '^                                    !';\n        var expected = '-----------a--b--c----f---g---h---i--|';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when projection throws', function () {\n        var e1 = hot('-------x-----y---|');\n        var e1subs = '^      !          ';\n        var expected = '-------#          ';\n        function project() {\n            throw 'error';\n        }\n        expectObservable(e1.switchMap(project)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when resultSelector throws', function () {\n        var x = cold('--a--b--c--d--e--|   ');\n        var xsubs = '         ^ !                  ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^          !                  ';\n        var expected = '-----------#                  ';\n        function selector() {\n            throw 'error';\n        }\n        var result = e1.switchMap(function (value) { return x; }, selector);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner cold observables, outer is unsubscribed early', function () {\n        var x = cold('--a--b--c--d--e--|           ');\n        var xsubs = '         ^         !                  ';\n        var y = cold('---f---g---h---i--|');\n        var ysubs = '                   ^ !                ';\n        var e1 = hot('---------x---------y---------|        ');\n        var e1subs = '^                    !                ';\n        var unsub = '                     !                ';\n        var expected = '-----------a--b--c----                ';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var x = cold('--a--b--c--d--e--|           ');\n        var xsubs = '         ^         !                  ';\n        var y = cold('---f---g---h---i--|');\n        var ysubs = '                   ^ !                ';\n        var e1 = hot('---------x---------y---------|        ');\n        var e1subs = '^                    !                ';\n        var expected = '-----------a--b--c----                ';\n        var unsub = '                     !                ';\n        var observableLookup = { x: x, y: y };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .switchMap(function (value) { return observableLookup[value]; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner cold observables, inner never completes', function () {\n        var x = cold('--a--b--c--d--e--|          ');\n        var xsubs = '         ^         !                 ';\n        var y = cold('---f---g---h---i--');\n        var ysubs = '                   ^                 ';\n        var e1 = hot('---------x---------y---------|       ');\n        var e1subs = '^                                    ';\n        var expected = '-----------a--b--c----f---g---h---i--';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a synchronous switch to the second inner observable', function () {\n        var x = cold('--a--b--c--d--e--|   ');\n        var xsubs = '         (^!)                 ';\n        var y = cold('---f---g---h---i--|  ');\n        var ysubs = '         ^                 !  ';\n        var e1 = hot('---------(xy)----------------|');\n        var e1subs = '^                            !';\n        var expected = '------------f---g---h---i----|';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner cold observables, one inner throws', function () {\n        var x = cold('--a--b--#--d--e--|          ');\n        var xsubs = '         ^       !                   ';\n        var y = cold('---f---g---h---i--');\n        var ysubs = [];\n        var e1 = hot('---------x---------y---------|       ');\n        var e1subs = '^                !                   ';\n        var expected = '-----------a--b--#                   ';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner hot observables', function () {\n        var x = hot('-----a--b--c--d--e--|                 ');\n        var xsubs = '         ^         !                  ';\n        var y = hot('--p-o-o-p-------------f---g---h---i--|');\n        var ysubs = '                   ^                 !';\n        var e1 = hot('---------x---------y---------|        ');\n        var e1subs = '^                                    !';\n        var expected = '-----------c--d--e----f---g---h---i--|';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner empty and empty', function () {\n        var x = cold('|');\n        var y = cold('|');\n        var xsubs = '         (^!)                 ';\n        var ysubs = '                   (^!)       ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^                            !';\n        var expected = '-----------------------------|';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner empty and never', function () {\n        var x = cold('|');\n        var y = cold('-');\n        var xsubs = '         (^!)                 ';\n        var ysubs = '                   ^          ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^                             ';\n        var expected = '------------------------------';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner never and empty', function () {\n        var x = cold('-');\n        var y = cold('|');\n        var xsubs = '         ^         !          ';\n        var ysubs = '                   (^!)       ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^                            !';\n        var expected = '-----------------------------|';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner never and throw', function () {\n        var x = cold('-');\n        var y = cold('#', null, 'sad');\n        var xsubs = '         ^         !          ';\n        var ysubs = '                   (^!)       ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^                  !          ';\n        var expected = '-------------------#          ';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected, undefined, 'sad');\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch inner empty and throw', function () {\n        var x = cold('|');\n        var y = cold('#', null, 'sad');\n        var xsubs = '         (^!)                 ';\n        var ysubs = '                   (^!)       ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^                  !          ';\n        var expected = '-------------------#          ';\n        var observableLookup = { x: x, y: y };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected, undefined, 'sad');\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle outer empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        var result = e1.switchMap(function (value) { return Observable.of(value); });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle outer never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var result = e1.switchMap(function (value) { return Observable.of(value); });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle outer throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        var result = e1.switchMap(function (value) { return Observable.of(value); });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle outer error', function () {\n        var x = cold('--a--b--c--d--e--|');\n        var xsubs = '         ^         !       ';\n        var e1 = hot('---------x---------#       ');\n        var e1subs = '^                  !       ';\n        var expected = '-----------a--b--c-#       ';\n        var observableLookup = { x: x };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch with resultSelector goodness', function () {\n        var x = cold('--a--b--c--d--e--|           ');\n        var xsubs = '         ^         !                  ';\n        var y = cold('---f---g---h---i--|');\n        var ysubs = '                   ^                 !';\n        var e1 = hot('---------x---------y---------|        ');\n        var e1subs = '^                                    !';\n        var expected = '-----------a--b--c----f---g---h---i--|';\n        var observableLookup = { x: x, y: y };\n        var expectedValues = {\n            a: ['x', 'a', 0, 0],\n            b: ['x', 'b', 0, 1],\n            c: ['x', 'c', 0, 2],\n            f: ['y', 'f', 1, 0],\n            g: ['y', 'g', 1, 1],\n            h: ['y', 'h', 1, 2],\n            i: ['y', 'i', 1, 3]\n        };\n        var result = e1.switchMap(function (value) { return observableLookup[value]; }, function (innerValue, outerValue, innerIndex, outerIndex) { return [innerValue, outerValue, innerIndex, outerIndex]; });\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=switchMap-spec.js.map"
  },
  {
    "__docId__": 2930,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1957",
    "testId": 1957,
    "memberof": "spec-js/operators/switchMap-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957",
    "access": null,
    "description": "Observable.prototype.switchMap",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{switchMap}"
      }
    ],
    "testTargets": [
      "switchMap"
    ]
  },
  {
    "__docId__": 2931,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1958",
    "testId": 1958,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1958",
    "access": null,
    "description": "should switch with a selector function",
    "lineNumber": 17
  },
  {
    "__docId__": 2932,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1959",
    "testId": 1959,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1959",
    "access": null,
    "description": "should unsub inner observables",
    "lineNumber": 25
  },
  {
    "__docId__": 2933,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1960",
    "testId": 1960,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1960",
    "access": null,
    "description": "should switch inner cold observables",
    "lineNumber": 37
  },
  {
    "__docId__": 2934,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1961",
    "testId": 1961,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1961",
    "access": null,
    "description": "should raise error when projection throws",
    "lineNumber": 52
  },
  {
    "__docId__": 2935,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1962",
    "testId": 1962,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1962",
    "access": null,
    "description": "should raise error when resultSelector throws",
    "lineNumber": 62
  },
  {
    "__docId__": 2936,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1963",
    "testId": 1963,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1963",
    "access": null,
    "description": "should switch inner cold observables, outer is unsubscribed early",
    "lineNumber": 76
  },
  {
    "__docId__": 2937,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1964",
    "testId": 1964,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1964",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 92
  },
  {
    "__docId__": 2938,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1965",
    "testId": 1965,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1965",
    "access": null,
    "description": "should switch inner cold observables, inner never completes",
    "lineNumber": 111
  },
  {
    "__docId__": 2939,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1966",
    "testId": 1966,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1966",
    "access": null,
    "description": "should handle a synchronous switch to the second inner observable",
    "lineNumber": 126
  },
  {
    "__docId__": 2940,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1967",
    "testId": 1967,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1967",
    "access": null,
    "description": "should switch inner cold observables, one inner throws",
    "lineNumber": 141
  },
  {
    "__docId__": 2941,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1968",
    "testId": 1968,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1968",
    "access": null,
    "description": "should switch inner hot observables",
    "lineNumber": 156
  },
  {
    "__docId__": 2942,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1969",
    "testId": 1969,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1969",
    "access": null,
    "description": "should switch inner empty and empty",
    "lineNumber": 171
  },
  {
    "__docId__": 2943,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1970",
    "testId": 1970,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1970",
    "access": null,
    "description": "should switch inner empty and never",
    "lineNumber": 186
  },
  {
    "__docId__": 2944,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1971",
    "testId": 1971,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1971",
    "access": null,
    "description": "should switch inner never and empty",
    "lineNumber": 201
  },
  {
    "__docId__": 2945,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1972",
    "testId": 1972,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1972",
    "access": null,
    "description": "should switch inner never and throw",
    "lineNumber": 216
  },
  {
    "__docId__": 2946,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1973",
    "testId": 1973,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1973",
    "access": null,
    "description": "should switch inner empty and throw",
    "lineNumber": 231
  },
  {
    "__docId__": 2947,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1974",
    "testId": 1974,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1974",
    "access": null,
    "description": "should handle outer empty",
    "lineNumber": 246
  },
  {
    "__docId__": 2948,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1975",
    "testId": 1975,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1975",
    "access": null,
    "description": "should handle outer never",
    "lineNumber": 254
  },
  {
    "__docId__": 2949,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1976",
    "testId": 1976,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1976",
    "access": null,
    "description": "should handle outer throw",
    "lineNumber": 262
  },
  {
    "__docId__": 2950,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1977",
    "testId": 1977,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1977",
    "access": null,
    "description": "should handle outer error",
    "lineNumber": 270
  },
  {
    "__docId__": 2951,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1978",
    "testId": 1978,
    "memberof": "spec-js/operators/switchMap-spec.js~describe1957",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMap-spec.js~describe1957.it1978",
    "access": null,
    "description": "should switch with resultSelector goodness",
    "lineNumber": 282
  },
  {
    "__docId__": 2952,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/switchMapTo-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/switchMapTo-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {switchMapTo} */\ndescribe('Observable.prototype.switchMapTo', function () {\n    asDiagram('switchMapTo( 10\\u2014\\u201410\\u2014\\u201410\\u2014| )')('should map-and-flatten each item to an Observable', function () {\n        var e1 = hot('--1-----3--5-------|');\n        var e1subs = '^                  !';\n        var e2 = cold('x-x-x|              ', { x: 10 });\n        var expected = '--x-x-x-x-xx-x-x---|';\n        var values = { x: 10 };\n        var result = e1.switchMapTo(e2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch a synchronous many outer to a synchronous many inner', function (done) {\n        var a = Observable.of(1, 2, 3);\n        var expected = ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c'];\n        a.switchMapTo(Observable.of('a', 'b', 'c')).subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, null, done);\n    });\n    it('should unsub inner observables', function () {\n        var unsubbed = 0;\n        Observable.of('a', 'b').switchMapTo(Observable.create(function (subscriber) {\n            subscriber.complete();\n            return function () {\n                unsubbed++;\n            };\n        })).subscribe();\n        chai_1.expect(unsubbed).to.equal(2);\n    });\n    it('should switch to an inner cold observable', function () {\n        var x = cold('--a--b--c--d--e--|          ');\n        var xsubs = ['         ^         !                 ',\n            //                                 --a--b--c--d--e--|\n            '                   ^                !'];\n        var e1 = hot('---------x---------x---------|       ');\n        var e1subs = '^                                   !';\n        var expected = '-----------a--b--c---a--b--c--d--e--|';\n        expectObservable(e1.switchMapTo(x)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch to an inner cold observable, outer eventually throws', function () {\n        var x = cold('--a--b--c--d--e--|');\n        var xsubs = '         ^         !       ';\n        var e1 = hot('---------x---------#       ');\n        var e1subs = '^                  !       ';\n        var expected = '-----------a--b--c-#       ';\n        expectObservable(e1.switchMapTo(x)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch to an inner cold observable, outer is unsubscribed early', function () {\n        var x = cold('--a--b--c--d--e--|   ');\n        var xsubs = ['         ^         !          ',\n            //                                 --a--b--c--d--e--|\n            '                   ^  !       '];\n        var e1 = hot('---------x---------x---------|');\n        var unsub = '                      !       ';\n        var e1subs = '^                     !       ';\n        var expected = '-----------a--b--c---a-       ';\n        expectObservable(e1.switchMapTo(x), unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var x = cold('--a--b--c--d--e--|   ');\n        var xsubs = ['         ^         !          ',\n            //                                 --a--b--c--d--e--|\n            '                   ^  !       '];\n        var e1 = hot('---------x---------x---------|');\n        var e1subs = '^                     !       ';\n        var expected = '-----------a--b--c---a-       ';\n        var unsub = '                      !       ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .switchMapTo(x)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch to an inner cold observable, inner never completes', function () {\n        var x = cold('--a--b--c--d--e-          ');\n        var xsubs = ['         ^         !               ',\n            //                                 --a--b--c--d--e-\n            '                   ^               '];\n        var e1 = hot('---------x---------y---------|     ');\n        var e1subs = '^                                  ';\n        var expected = '-----------a--b--c---a--b--c--d--e-';\n        expectObservable(e1.switchMapTo(x)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a synchronous switch to the inner observable', function () {\n        var x = cold('--a--b--c--d--e--|   ');\n        var xsubs = ['         (^!)                 ',\n            '         ^                !   '];\n        var e1 = hot('---------(xx)----------------|');\n        var e1subs = '^                            !';\n        var expected = '-----------a--b--c--d--e-----|';\n        expectObservable(e1.switchMapTo(x)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch to an inner cold observable, inner raises an error', function () {\n        var x = cold('--a--b--#            ');\n        var xsubs = '         ^       !            ';\n        var e1 = hot('---------x---------x---------|');\n        var e1subs = '^                !            ';\n        var expected = '-----------a--b--#            ';\n        expectObservable(e1.switchMapTo(x)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch an inner hot observable', function () {\n        var x = hot('--p-o-o-p---a--b--c--d-|      ');\n        var xsubs = ['         ^         !          ',\n            '                   ^   !      '];\n        var e1 = hot('---------x---------x---------|');\n        var e1subs = '^                            !';\n        var expected = '------------a--b--c--d-------|';\n        expectObservable(e1.switchMapTo(x)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch to an inner empty', function () {\n        var x = cold('|');\n        var xsubs = ['         (^!)                 ',\n            '                   (^!)       '];\n        var e1 = hot('---------x---------x---------|');\n        var e1subs = '^                            !';\n        var expected = '-----------------------------|';\n        expectObservable(e1.switchMapTo(x)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch to an inner never', function () {\n        var x = cold('-');\n        var xsubs = ['         ^         !          ',\n            '                   ^          '];\n        var e1 = hot('---------x---------x---------|');\n        var e1subs = '^                             ';\n        var expected = '------------------------------';\n        expectObservable(e1.switchMapTo(x)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch to an inner that just raises an error', function () {\n        var x = cold('#');\n        var xsubs = '         (^!)                 ';\n        var e1 = hot('---------x---------x---------|');\n        var e1subs = '^        !                    ';\n        var expected = '---------#                    ';\n        expectObservable(e1.switchMapTo(x)).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an empty outer', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.switchMapTo(Observable.of('foo'))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle a never outer', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.switchMapTo(Observable.of('foo'))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle an outer that just raises and error', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.switchMapTo(Observable.of('foo'))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should switch with resultSelector goodness', function () {\n        var x = cold('--1--2--3--4--5--|          ');\n        var xsubs = ['         ^         !                 ',\n            //                                 --1--2--3--4--5--|\n            '                   ^                !'];\n        var e1 = hot('---------x---------y---------|       ');\n        var e1subs = '^                                   !';\n        var expected = '-----------a--b--c---d--e--f--g--h--|';\n        var expectedValues = {\n            a: ['x', '1', 0, 0],\n            b: ['x', '2', 0, 1],\n            c: ['x', '3', 0, 2],\n            d: ['y', '1', 1, 0],\n            e: ['y', '2', 1, 1],\n            f: ['y', '3', 1, 2],\n            g: ['y', '4', 1, 3],\n            h: ['y', '5', 1, 4]\n        };\n        var result = e1.switchMapTo(x, function (a, b, ai, bi) { return [a, b, ai, bi]; });\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when resultSelector throws', function () {\n        var x = cold('--1--2--3--4--5--|   ');\n        var xsubs = '         ^ !                  ';\n        var e1 = hot('---------x---------y---------|');\n        var e1subs = '^          !';\n        var expected = '-----------#';\n        var result = e1.switchMapTo(x, function () {\n            throw 'error';\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=switchMapTo-spec.js.map"
  },
  {
    "__docId__": 2953,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1979",
    "testId": 1979,
    "memberof": "spec-js/operators/switchMapTo-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "access": null,
    "description": "Observable.prototype.switchMapTo",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{switchMapTo}"
      }
    ],
    "testTargets": [
      "switchMapTo"
    ]
  },
  {
    "__docId__": 2954,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1980",
    "testId": 1980,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1980",
    "access": null,
    "description": "should switch a synchronous many outer to a synchronous many inner",
    "lineNumber": 17
  },
  {
    "__docId__": 2955,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1981",
    "testId": 1981,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1981",
    "access": null,
    "description": "should unsub inner observables",
    "lineNumber": 24
  },
  {
    "__docId__": 2956,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1982",
    "testId": 1982,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1982",
    "access": null,
    "description": "should switch to an inner cold observable",
    "lineNumber": 34
  },
  {
    "__docId__": 2957,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1983",
    "testId": 1983,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1983",
    "access": null,
    "description": "should switch to an inner cold observable, outer eventually throws",
    "lineNumber": 46
  },
  {
    "__docId__": 2958,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1984",
    "testId": 1984,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1984",
    "access": null,
    "description": "should switch to an inner cold observable, outer is unsubscribed early",
    "lineNumber": 56
  },
  {
    "__docId__": 2959,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1985",
    "testId": 1985,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1985",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 69
  },
  {
    "__docId__": 2960,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1986",
    "testId": 1986,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1986",
    "access": null,
    "description": "should switch to an inner cold observable, inner never completes",
    "lineNumber": 86
  },
  {
    "__docId__": 2961,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1987",
    "testId": 1987,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1987",
    "access": null,
    "description": "should handle a synchronous switch to the inner observable",
    "lineNumber": 98
  },
  {
    "__docId__": 2962,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1988",
    "testId": 1988,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1988",
    "access": null,
    "description": "should switch to an inner cold observable, inner raises an error",
    "lineNumber": 109
  },
  {
    "__docId__": 2963,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1989",
    "testId": 1989,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1989",
    "access": null,
    "description": "should switch an inner hot observable",
    "lineNumber": 119
  },
  {
    "__docId__": 2964,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1990",
    "testId": 1990,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1990",
    "access": null,
    "description": "should switch to an inner empty",
    "lineNumber": 130
  },
  {
    "__docId__": 2965,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1991",
    "testId": 1991,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1991",
    "access": null,
    "description": "should switch to an inner never",
    "lineNumber": 141
  },
  {
    "__docId__": 2966,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1992",
    "testId": 1992,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1992",
    "access": null,
    "description": "should switch to an inner that just raises an error",
    "lineNumber": 152
  },
  {
    "__docId__": 2967,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1993",
    "testId": 1993,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1993",
    "access": null,
    "description": "should handle an empty outer",
    "lineNumber": 162
  },
  {
    "__docId__": 2968,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1994",
    "testId": 1994,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1994",
    "access": null,
    "description": "should handle a never outer",
    "lineNumber": 169
  },
  {
    "__docId__": 2969,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1995",
    "testId": 1995,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1995",
    "access": null,
    "description": "should handle an outer that just raises and error",
    "lineNumber": 176
  },
  {
    "__docId__": 2970,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1996",
    "testId": 1996,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1996",
    "access": null,
    "description": "should switch with resultSelector goodness",
    "lineNumber": 183
  },
  {
    "__docId__": 2971,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1997",
    "testId": 1997,
    "memberof": "spec-js/operators/switchMapTo-spec.js~describe1979",
    "testDepth": 1,
    "longname": "spec-js/operators/switchMapTo-spec.js~describe1979.it1997",
    "access": null,
    "description": "should raise error when resultSelector throws",
    "lineNumber": 206
  },
  {
    "__docId__": 2972,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/take-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/take-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Subject = Rx.Subject;\nvar Observable = Rx.Observable;\n/** @test {take} */\ndescribe('Observable.prototype.take', function () {\n    asDiagram('take(2)')('should take two values of an observable with many values', function () {\n        var e1 = cold('--a-----b----c---d--|');\n        var e1subs = '^       !            ';\n        var expected = '--a-----(b|)         ';\n        expectObservable(e1.take(2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.take(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should go on forever on never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.take(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be empty on take(0)', function () {\n        var e1 = hot('--a--^--b----c---d--|');\n        var e1subs = []; // Don't subscribe at all\n        var expected = '|';\n        expectObservable(e1.take(0)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take one value of an observable with one value', function () {\n        var e1 = hot('---(a|)');\n        var e1subs = '^  !   ';\n        var expected = '---(a|)';\n        expectObservable(e1.take(1)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take one values of an observable with many values', function () {\n        var e1 = hot('--a--^--b----c---d--|');\n        var e1subs = '^  !            ';\n        var expected = '---(b|)         ';\n        expectObservable(e1.take(1)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should error on empty', function () {\n        var e1 = hot('--a--^----|');\n        var e1subs = '^    !';\n        var expected = '-----|';\n        expectObservable(e1.take(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should propagate error from the source observable', function () {\n        var e1 = hot('---^---#', null, 'too bad');\n        var e1subs = '^   !';\n        var expected = '----#';\n        expectObservable(e1.take(42)).toBe(expected, null, 'too bad');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should propagate error from an observable with values', function () {\n        var e1 = hot('---^--a--b--#');\n        var e1subs = '^        !';\n        var expected = '---a--b--#';\n        expectObservable(e1.take(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('---^--a--b-----c--d--e--|');\n        var unsub = '         !            ';\n        var e1subs = '^        !            ';\n        var expected = '---a--b---            ';\n        expectObservable(e1.take(42), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.take(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should throw if total is less than zero', function () {\n        chai_1.expect(function () { Observable.range(0, 10).take(-1); })\n            .to.throw(Rx.ArgumentOutOfRangeError);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var e1 = hot('---^--a--b-----c--d--e--|');\n        var unsub = '         !            ';\n        var e1subs = '^        !            ';\n        var expected = '---a--b---            ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .take(42)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should unsubscribe from the source when it reaches the limit', function () {\n        var source = Observable.create(function (observer) {\n            chai_1.expect(observer.closed).to.be.false;\n            observer.next(42);\n            chai_1.expect(observer.closed).to.be.true;\n        }).take(1);\n        source.subscribe();\n    });\n    it('should complete when the source is reentrant', function () {\n        var completed = false;\n        var source = new Subject();\n        source.take(5).subscribe({\n            next: function () {\n                source.next();\n            },\n            complete: function () {\n                completed = true;\n            }\n        });\n        source.next();\n        chai_1.expect(completed).to.be.true;\n    });\n});\n//# sourceMappingURL=take-spec.js.map"
  },
  {
    "__docId__": 2973,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe1998",
    "testId": 1998,
    "memberof": "spec-js/operators/take-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/take-spec.js~describe1998",
    "access": null,
    "description": "Observable.prototype.take",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{take}"
      }
    ],
    "testTargets": [
      "take"
    ]
  },
  {
    "__docId__": 2974,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it1999",
    "testId": 1999,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it1999",
    "access": null,
    "description": "should work with empty",
    "lineNumber": 15
  },
  {
    "__docId__": 2975,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2000",
    "testId": 2000,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2000",
    "access": null,
    "description": "should go on forever on never",
    "lineNumber": 22
  },
  {
    "__docId__": 2976,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2001",
    "testId": 2001,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2001",
    "access": null,
    "description": "should be empty on take(0)",
    "lineNumber": 29
  },
  {
    "__docId__": 2977,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2002",
    "testId": 2002,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2002",
    "access": null,
    "description": "should take one value of an observable with one value",
    "lineNumber": 36
  },
  {
    "__docId__": 2978,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2003",
    "testId": 2003,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2003",
    "access": null,
    "description": "should take one values of an observable with many values",
    "lineNumber": 43
  },
  {
    "__docId__": 2979,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2004",
    "testId": 2004,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2004",
    "access": null,
    "description": "should error on empty",
    "lineNumber": 50
  },
  {
    "__docId__": 2980,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2005",
    "testId": 2005,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2005",
    "access": null,
    "description": "should propagate error from the source observable",
    "lineNumber": 57
  },
  {
    "__docId__": 2981,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2006",
    "testId": 2006,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2006",
    "access": null,
    "description": "should propagate error from an observable with values",
    "lineNumber": 64
  },
  {
    "__docId__": 2982,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2007",
    "testId": 2007,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2007",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 71
  },
  {
    "__docId__": 2983,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2008",
    "testId": 2008,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2008",
    "access": null,
    "description": "should work with throw",
    "lineNumber": 79
  },
  {
    "__docId__": 2984,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2009",
    "testId": 2009,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2009",
    "access": null,
    "description": "should throw if total is less than zero",
    "lineNumber": 86
  },
  {
    "__docId__": 2985,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2010",
    "testId": 2010,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2010",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 90
  },
  {
    "__docId__": 2986,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2011",
    "testId": 2011,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2011",
    "access": null,
    "description": "should unsubscribe from the source when it reaches the limit",
    "lineNumber": 102
  },
  {
    "__docId__": 2987,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2012",
    "testId": 2012,
    "memberof": "spec-js/operators/take-spec.js~describe1998",
    "testDepth": 1,
    "longname": "spec-js/operators/take-spec.js~describe1998.it2012",
    "access": null,
    "description": "should complete when the source is reentrant",
    "lineNumber": 110
  },
  {
    "__docId__": 2988,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/takeLast-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/takeLast-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {takeLast} */\ndescribe('Observable.prototype.takeLast', function () {\n    asDiagram('takeLast(2)')('should take two values of an observable with many values', function () {\n        var e1 = cold('--a-----b----c---d--|    ');\n        var e1subs = '^                   !    ';\n        var expected = '--------------------(cd|)';\n        expectObservable(e1.takeLast(2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take last three values', function () {\n        var e1 = cold('--a-----b----c---d--|    ');\n        var e1subs = '^                   !    ';\n        var expected = '--------------------(bcd|)';\n        expectObservable(e1.takeLast(3)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take all element when try to take larger then source', function () {\n        var e1 = cold('--a-----b----c---d--|    ');\n        var e1subs = '^                   !    ';\n        var expected = '--------------------(abcd|)';\n        expectObservable(e1.takeLast(5)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take all element when try to take exact', function () {\n        var e1 = cold('--a-----b----c---d--|    ');\n        var e1subs = '^                   !    ';\n        var expected = '--------------------(abcd|)';\n        expectObservable(e1.takeLast(4)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not take any values', function () {\n        var e1 = cold('--a-----b----c---d--|');\n        var expected = '|';\n        expectObservable(e1.takeLast(0)).toBe(expected);\n    });\n    it('should work with empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.takeLast(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should go on forever on never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.takeLast(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be empty on takeLast(0)', function () {\n        var e1 = hot('--a--^--b----c---d--|');\n        var e1subs = []; // Don't subscribe at all\n        var expected = '|';\n        expectObservable(e1.takeLast(0)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take one value from an observable with one value', function () {\n        var e1 = hot('---(a|)');\n        var e1subs = '^  !   ';\n        var expected = '---(a|)';\n        expectObservable(e1.takeLast(1)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take one value from an observable with many values', function () {\n        var e1 = hot('--a--^--b----c---d--|   ');\n        var e1subs = '^              !   ';\n        var expected = '---------------(d|)';\n        expectObservable(e1.takeLast(1)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should error on empty', function () {\n        var e1 = hot('--a--^----|');\n        var e1subs = '^    !';\n        var expected = '-----|';\n        expectObservable(e1.takeLast(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should propagate error from the source observable', function () {\n        var e1 = hot('---^---#', null, 'too bad');\n        var e1subs = '^   !';\n        var expected = '----#';\n        expectObservable(e1.takeLast(42)).toBe(expected, null, 'too bad');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should propagate error from an observable with values', function () {\n        var e1 = hot('---^--a--b--#');\n        var e1subs = '^        !';\n        var expected = '---------#';\n        expectObservable(e1.takeLast(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('---^--a--b-----c--d--e--|');\n        var unsub = '         !            ';\n        var e1subs = '^        !            ';\n        var expected = '----------            ';\n        expectObservable(e1.takeLast(42), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.takeLast(42)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should throw if total is less than zero', function () {\n        chai_1.expect(function () { Observable.range(0, 10).takeLast(-1); })\n            .to.throw(Rx.ArgumentOutOfRangeError);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var e1 = hot('---^--a--b-----c--d--e--|');\n        var unsub = '         !            ';\n        var e1subs = '^        !            ';\n        var expected = '----------            ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .takeLast(42)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=takeLast-spec.js.map"
  },
  {
    "__docId__": 2989,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2013",
    "testId": 2013,
    "memberof": "spec-js/operators/takeLast-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013",
    "access": null,
    "description": "Observable.prototype.takeLast",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{takeLast}"
      }
    ],
    "testTargets": [
      "takeLast"
    ]
  },
  {
    "__docId__": 2990,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2014",
    "testId": 2014,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2014",
    "access": null,
    "description": "should take last three values",
    "lineNumber": 14
  },
  {
    "__docId__": 2991,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2015",
    "testId": 2015,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2015",
    "access": null,
    "description": "should take all element when try to take larger then source",
    "lineNumber": 21
  },
  {
    "__docId__": 2992,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2016",
    "testId": 2016,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2016",
    "access": null,
    "description": "should take all element when try to take exact",
    "lineNumber": 28
  },
  {
    "__docId__": 2993,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2017",
    "testId": 2017,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2017",
    "access": null,
    "description": "should not take any values",
    "lineNumber": 35
  },
  {
    "__docId__": 2994,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2018",
    "testId": 2018,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2018",
    "access": null,
    "description": "should work with empty",
    "lineNumber": 40
  },
  {
    "__docId__": 2995,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2019",
    "testId": 2019,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2019",
    "access": null,
    "description": "should go on forever on never",
    "lineNumber": 47
  },
  {
    "__docId__": 2996,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2020",
    "testId": 2020,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2020",
    "access": null,
    "description": "should be empty on takeLast(0)",
    "lineNumber": 54
  },
  {
    "__docId__": 2997,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2021",
    "testId": 2021,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2021",
    "access": null,
    "description": "should take one value from an observable with one value",
    "lineNumber": 61
  },
  {
    "__docId__": 2998,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2022",
    "testId": 2022,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2022",
    "access": null,
    "description": "should take one value from an observable with many values",
    "lineNumber": 68
  },
  {
    "__docId__": 2999,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2023",
    "testId": 2023,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2023",
    "access": null,
    "description": "should error on empty",
    "lineNumber": 75
  },
  {
    "__docId__": 3000,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2024",
    "testId": 2024,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2024",
    "access": null,
    "description": "should propagate error from the source observable",
    "lineNumber": 82
  },
  {
    "__docId__": 3001,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2025",
    "testId": 2025,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2025",
    "access": null,
    "description": "should propagate error from an observable with values",
    "lineNumber": 89
  },
  {
    "__docId__": 3002,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2026",
    "testId": 2026,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2026",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 96
  },
  {
    "__docId__": 3003,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2027",
    "testId": 2027,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2027",
    "access": null,
    "description": "should work with throw",
    "lineNumber": 104
  },
  {
    "__docId__": 3004,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2028",
    "testId": 2028,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2028",
    "access": null,
    "description": "should throw if total is less than zero",
    "lineNumber": 111
  },
  {
    "__docId__": 3005,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2029",
    "testId": 2029,
    "memberof": "spec-js/operators/takeLast-spec.js~describe2013",
    "testDepth": 1,
    "longname": "spec-js/operators/takeLast-spec.js~describe2013.it2029",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 115
  },
  {
    "__docId__": 3006,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/takeUntil-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/takeUntil-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {takeUntil} */\ndescribe('Observable.prototype.takeUntil', function () {\n    asDiagram('takeUntil')('should take values until notifier emits', function () {\n        var e1 = hot('--a--b--c--d--e--f--g--|');\n        var e1subs = '^            !          ';\n        var e2 = hot('-------------z--|       ');\n        var e2subs = '^            !          ';\n        var expected = '--a--b--c--d-|          ';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should take values and raises error when notifier raises error', function () {\n        var e1 = hot('--a--b--c--d--e--f--g--|');\n        var e1subs = '^            !          ';\n        var e2 = hot('-------------#          ');\n        var e2subs = '^            !          ';\n        var expected = '--a--b--c--d-#          ';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should take all values when notifier is empty', function () {\n        var e1 = hot('--a--b--c--d--e--f--g--|');\n        var e1subs = '^                      !';\n        var e2 = hot('-------------|          ');\n        var e2subs = '^            !          ';\n        var expected = '--a--b--c--d--e--f--g--|';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should take all values when notifier does not complete', function () {\n        var e1 = hot('--a--b--c--d--e--f--g--|');\n        var e1subs = '^                      !';\n        var e2 = hot('-');\n        var e2subs = '^                      !';\n        var expected = '--a--b--c--d--e--f--g--|';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--b--c--d--e--f--g--|');\n        var e1subs = '^      !                ';\n        var e2 = hot('-------------z--|       ');\n        var e2subs = '^      !                ';\n        var unsub = '       !                ';\n        var expected = '--a--b--                ';\n        expectObservable(e1.takeUntil(e2), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should complete when notifier emits if source observable does not complete', function () {\n        var e1 = hot('-');\n        var e1subs = '^ !';\n        var e2 = hot('--a--b--|');\n        var e2subs = '^ !';\n        var expected = '--|';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error when notifier raises error if source observable does not complete', function () {\n        var e1 = hot('-');\n        var e1subs = '^ !';\n        var e2 = hot('--#');\n        var e2subs = '^ !';\n        var expected = '--#';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete when notifier is empty if source observable does not complete', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var e2 = hot('--|');\n        var e2subs = '^ !';\n        var expected = '---';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not complete when source and notifier do not complete', function () {\n        var e1 = hot('-');\n        var e1subs = '^';\n        var e2 = hot('-');\n        var e2subs = '^';\n        var expected = '-';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should complete when notifier emits before source observable emits', function () {\n        var e1 = hot('----a--|');\n        var e1subs = '^ !     ';\n        var e2 = hot('--x     ');\n        var e2subs = '^ !     ';\n        var expected = '--|     ';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error if source raises error before notifier emits', function () {\n        var e1 = hot('--a--b--c--d--#     ');\n        var e1subs = '^             !     ';\n        var e2 = hot('----------------a--|');\n        var e2subs = '^             !     ';\n        var expected = '--a--b--c--d--#     ';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error immediately if source throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var e2 = hot('--x');\n        var e2subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should dispose source observable if notifier emits before source emits', function () {\n        var e1 = hot('---a---|');\n        var e1subs = '^ !     ';\n        var e2 = hot('--x-|   ');\n        var e2subs = '^ !     ';\n        var expected = '--|     ';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should dispose notifier if source observable completes', function () {\n        var e1 = hot('--a--|     ');\n        var e1subs = '^    !     ';\n        var e2 = hot('-------x--|');\n        var e2subs = '^    !     ';\n        var expected = '--a--|     ';\n        expectObservable(e1.takeUntil(e2)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--c--d--e--f--g--|');\n        var e1subs = '^      !                ';\n        var e2 = hot('-------------z--|       ');\n        var e2subs = '^      !                ';\n        var unsub = '       !                ';\n        var expected = '--a--b--                ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .takeUntil(e2)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n});\n//# sourceMappingURL=takeUntil-spec.js.map"
  },
  {
    "__docId__": 3007,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2030",
    "testId": 2030,
    "memberof": "spec-js/operators/takeUntil-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030",
    "access": null,
    "description": "Observable.prototype.takeUntil",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{takeUntil}"
      }
    ],
    "testTargets": [
      "takeUntil"
    ]
  },
  {
    "__docId__": 3008,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2031",
    "testId": 2031,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2031",
    "access": null,
    "description": "should take values and raises error when notifier raises error",
    "lineNumber": 16
  },
  {
    "__docId__": 3009,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2032",
    "testId": 2032,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2032",
    "access": null,
    "description": "should take all values when notifier is empty",
    "lineNumber": 26
  },
  {
    "__docId__": 3010,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2033",
    "testId": 2033,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2033",
    "access": null,
    "description": "should take all values when notifier does not complete",
    "lineNumber": 36
  },
  {
    "__docId__": 3011,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2034",
    "testId": 2034,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2034",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 46
  },
  {
    "__docId__": 3012,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2035",
    "testId": 2035,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2035",
    "access": null,
    "description": "should complete when notifier emits if source observable does not complete",
    "lineNumber": 57
  },
  {
    "__docId__": 3013,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2036",
    "testId": 2036,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2036",
    "access": null,
    "description": "should raise error when notifier raises error if source observable does not complete",
    "lineNumber": 67
  },
  {
    "__docId__": 3014,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2037",
    "testId": 2037,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2037",
    "access": null,
    "description": "should not complete when notifier is empty if source observable does not complete",
    "lineNumber": 77
  },
  {
    "__docId__": 3015,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2038",
    "testId": 2038,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2038",
    "access": null,
    "description": "should not complete when source and notifier do not complete",
    "lineNumber": 87
  },
  {
    "__docId__": 3016,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2039",
    "testId": 2039,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2039",
    "access": null,
    "description": "should complete when notifier emits before source observable emits",
    "lineNumber": 97
  },
  {
    "__docId__": 3017,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2040",
    "testId": 2040,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2040",
    "access": null,
    "description": "should raise error if source raises error before notifier emits",
    "lineNumber": 107
  },
  {
    "__docId__": 3018,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2041",
    "testId": 2041,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2041",
    "access": null,
    "description": "should raise error immediately if source throws",
    "lineNumber": 117
  },
  {
    "__docId__": 3019,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2042",
    "testId": 2042,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2042",
    "access": null,
    "description": "should dispose source observable if notifier emits before source emits",
    "lineNumber": 127
  },
  {
    "__docId__": 3020,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2043",
    "testId": 2043,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2043",
    "access": null,
    "description": "should dispose notifier if source observable completes",
    "lineNumber": 137
  },
  {
    "__docId__": 3021,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2044",
    "testId": 2044,
    "memberof": "spec-js/operators/takeUntil-spec.js~describe2030",
    "testDepth": 1,
    "longname": "spec-js/operators/takeUntil-spec.js~describe2030.it2044",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 147
  },
  {
    "__docId__": 3022,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/takeWhile-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/takeWhile-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {takeWhile} */\ndescribe('Observable.prototype.takeWhile', function () {\n    asDiagram('takeWhile(x => x < 4)')('should take all elements until predicate is false', function () {\n        var source = hot('-1-^2--3--4--5--6--|');\n        var sourceSubs = '^      !         ';\n        var expected = '-2--3--|         ';\n        var result = source.takeWhile(function (v) { return +v < 4; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should take all elements with predicate returns true', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var e1subs = '^             !';\n        var expected = '--b--c--d--e--|';\n        expectObservable(e1.takeWhile(function () { return true; })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take all elements with truthy predicate', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var e1subs = '^             !';\n        var expected = '--b--c--d--e--|';\n        expectObservable(e1.takeWhile((function () { return {}; }))).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should skip all elements with predicate returns false', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var e1subs = '^ !            ';\n        var expected = '--|            ';\n        expectObservable(e1.takeWhile(function () { return false; })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should skip all elements with falsy predicate', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var e1subs = '^ !            ';\n        var expected = '--|            ';\n        expectObservable(e1.takeWhile(function () { return null; })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take all elements until predicate return false', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var e1subs = '^       !      ';\n        var expected = '--b--c--|      ';\n        function predicate(value) {\n            return value !== 'd';\n        }\n        expectObservable(e1.takeWhile(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take elements with predicate when source does not complete', function () {\n        var e1 = hot('--a-^-b--c--d--e--');\n        var e1subs = '^             ';\n        var expected = '--b--c--d--e--';\n        expectObservable(e1.takeWhile(function () { return true; })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not complete when source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        var result = e1.takeWhile(function () { return true; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete when source does not emit', function () {\n        var e1 = hot('--a-^------------|');\n        var e1subs = '^            !';\n        var expected = '-------------|';\n        expectObservable(e1.takeWhile(function () { return true; })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete when source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        var result = e1.takeWhile(function () { return true; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should pass element index to predicate', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var e1subs = '^       !      ';\n        var expected = '--b--c--|      ';\n        function predicate(value, index) {\n            return index < 2;\n        }\n        expectObservable(e1.takeWhile(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when source raises error', function () {\n        var e1 = hot('--a-^-b--c--d--e--#');\n        var e1subs = '^             !';\n        var expected = '--b--c--d--e--#';\n        expectObservable(e1.takeWhile(function () { return true; })).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error when source throws', function () {\n        var source = cold('#');\n        var subs = '(^!)';\n        var expected = '#';\n        expectObservable(source.takeWhile(function () { return true; })).toBe(expected);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should invoke predicate until return false', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var e1subs = '^       !      ';\n        var expected = '--b--c--|      ';\n        var invoked = 0;\n        function predicate(value) {\n            invoked++;\n            return value !== 'd';\n        }\n        var source = e1.takeWhile(predicate).do(null, null, function () {\n            chai_1.expect(invoked).to.equal(3);\n        });\n        expectObservable(source).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if predicate throws', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var e1subs = '^ !            ';\n        var expected = '--#            ';\n        function predicate(value) {\n            throw 'error';\n        }\n        expectObservable(e1.takeWhile(predicate)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take elements until unsubscribed', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var unsub = '-----!         ';\n        var e1subs = '^    !         ';\n        var expected = '--b---         ';\n        function predicate(value) {\n            return value !== 'd';\n        }\n        expectObservable(e1.takeWhile(predicate), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var e1 = hot('--a-^-b--c--d--e--|');\n        var unsub = '-----!         ';\n        var e1subs = '^    !         ';\n        var expected = '--b---         ';\n        function predicate(value) {\n            return value !== 'd';\n        }\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .takeWhile(predicate)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=takeWhile-spec.js.map"
  },
  {
    "__docId__": 3023,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2045",
    "testId": 2045,
    "memberof": "spec-js/operators/takeWhile-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045",
    "access": null,
    "description": "Observable.prototype.takeWhile",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{takeWhile}"
      }
    ],
    "testTargets": [
      "takeWhile"
    ]
  },
  {
    "__docId__": 3024,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2046",
    "testId": 2046,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2046",
    "access": null,
    "description": "should take all elements with predicate returns true",
    "lineNumber": 15
  },
  {
    "__docId__": 3025,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2047",
    "testId": 2047,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2047",
    "access": null,
    "description": "should take all elements with truthy predicate",
    "lineNumber": 22
  },
  {
    "__docId__": 3026,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2048",
    "testId": 2048,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2048",
    "access": null,
    "description": "should skip all elements with predicate returns false",
    "lineNumber": 29
  },
  {
    "__docId__": 3027,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2049",
    "testId": 2049,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2049",
    "access": null,
    "description": "should skip all elements with falsy predicate",
    "lineNumber": 36
  },
  {
    "__docId__": 3028,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2050",
    "testId": 2050,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2050",
    "access": null,
    "description": "should take all elements until predicate return false",
    "lineNumber": 43
  },
  {
    "__docId__": 3029,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2051",
    "testId": 2051,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2051",
    "access": null,
    "description": "should take elements with predicate when source does not complete",
    "lineNumber": 53
  },
  {
    "__docId__": 3030,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2052",
    "testId": 2052,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2052",
    "access": null,
    "description": "should not complete when source never completes",
    "lineNumber": 60
  },
  {
    "__docId__": 3031,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2053",
    "testId": 2053,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2053",
    "access": null,
    "description": "should complete when source does not emit",
    "lineNumber": 68
  },
  {
    "__docId__": 3032,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2054",
    "testId": 2054,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2054",
    "access": null,
    "description": "should complete when source is empty",
    "lineNumber": 75
  },
  {
    "__docId__": 3033,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2055",
    "testId": 2055,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2055",
    "access": null,
    "description": "should pass element index to predicate",
    "lineNumber": 83
  },
  {
    "__docId__": 3034,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2056",
    "testId": 2056,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2056",
    "access": null,
    "description": "should raise error when source raises error",
    "lineNumber": 93
  },
  {
    "__docId__": 3035,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2057",
    "testId": 2057,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2057",
    "access": null,
    "description": "should raise error when source throws",
    "lineNumber": 100
  },
  {
    "__docId__": 3036,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2058",
    "testId": 2058,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2058",
    "access": null,
    "description": "should invoke predicate until return false",
    "lineNumber": 107
  },
  {
    "__docId__": 3037,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2059",
    "testId": 2059,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2059",
    "access": null,
    "description": "should raise error if predicate throws",
    "lineNumber": 122
  },
  {
    "__docId__": 3038,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2060",
    "testId": 2060,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2060",
    "access": null,
    "description": "should take elements until unsubscribed",
    "lineNumber": 132
  },
  {
    "__docId__": 3039,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2061",
    "testId": 2061,
    "memberof": "spec-js/operators/takeWhile-spec.js~describe2045",
    "testDepth": 1,
    "longname": "spec-js/operators/takeWhile-spec.js~describe2045.it2061",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 143
  },
  {
    "__docId__": 3040,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/throttle-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/throttle-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {throttle} */\ndescribe('Observable.prototype.throttle', function () {\n    asDiagram('throttle')('should immediately emit the first value in each time window', function () {\n        var e1 = hot('-a-xy-----b--x--cxxx-|');\n        var e1subs = '^                    !';\n        var e2 = cold('----|                ');\n        var e2subs = [' ^   !                ',\n            '          ^   !       ',\n            '                ^   ! '];\n        var expected = '-a--------b-----c----|';\n        var result = e1.throttle(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should simply mirror the source if values are not emitted often enough', function () {\n        var e1 = hot('-a--------b-----c----|');\n        var e1subs = '^                    !';\n        var e2 = cold('----|                ');\n        var e2subs = [' ^   !                ',\n            '          ^   !       ',\n            '                ^   ! '];\n        var expected = '-a--------b-----c----|';\n        var result = e1.throttle(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should throttle with duration Observable using next to close the duration', function () {\n        var e1 = hot('-a-xy-----b--x--cxxx-|');\n        var e1subs = '^                    !';\n        var e2 = cold('----x-y-z            ');\n        var e2subs = [' ^   !                ',\n            '          ^   !       ',\n            '                ^   ! '];\n        var expected = '-a--------b-----c----|';\n        var result = e1.throttle(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should interrupt source and duration when result is unsubscribed early', function () {\n        var e1 = hot('-a-x-y-z-xyz-x-y-z----b--x-x-|');\n        var unsub = '              !               ';\n        var e1subs = '^             !               ';\n        var e2 = cold('------------------|          ');\n        var e2subs = ' ^            !               ';\n        var expected = '-a-------------               ';\n        var result = e1.throttle(function () { return e2; });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('-a-x-y-z-xyz-x-y-z----b--x-x-|');\n        var e1subs = '^             !               ';\n        var e2 = cold('------------------|          ');\n        var e2subs = ' ^            !               ';\n        var expected = '-a-------------               ';\n        var unsub = '              !               ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .throttle(function () { return e2; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle a busy producer emitting a regular repeating sequence', function () {\n        var e1 = hot('abcdefabcdefabcdefabcdefa|');\n        var e1subs = '^                        !';\n        var e2 = cold('-----|                    ');\n        var e2subs = ['^    !                    ',\n            '      ^    !              ',\n            '            ^    !        ',\n            '                  ^    !  ',\n            '                        ^!'];\n        var expected = 'a-----a-----a-----a-----a|';\n        var result = e1.throttle(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should mirror source if durations are always empty', function () {\n        var e1 = hot('abcdefabcdefabcdefabcdefa|');\n        var e1subs = '^                        !';\n        var e2 = cold('|');\n        var expected = 'abcdefabcdefabcdefabcdefa|';\n        var result = e1.throttle(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should take only the first value emitted if duration is a never', function () {\n        var e1 = hot('----abcdefabcdefabcdefabcdefa|');\n        var e1subs = '^                            !';\n        var e2 = cold('-');\n        var e2subs = '    ^                        !';\n        var expected = '----a------------------------|';\n        var result = e1.throttle(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should unsubscribe duration Observable when source raise error', function () {\n        var e1 = hot('----abcdefabcdefabcdefabcdefa#');\n        var e1subs = '^                            !';\n        var e2 = cold('-');\n        var e2subs = '    ^                        !';\n        var expected = '----a------------------------#';\n        var result = e1.throttle(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should raise error as soon as just-throw duration is used', function () {\n        var e1 = hot('----abcdefabcdefabcdefabcdefa|');\n        var e1subs = '^   !                         ';\n        var e2 = cold('#');\n        var e2subs = '    (^!)                      ';\n        var expected = '----(a#)                      ';\n        var result = e1.throttle(function () { return e2; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should throttle using durations of constying lengths', function () {\n        var e1 = hot('abcdefabcdabcdefghabca|   ');\n        var e1subs = '^                     !   ';\n        var e2 = [cold('-----|                    '),\n            cold('---|                '),\n            cold('-------|        '),\n            cold('--|     '),\n            cold('----|')];\n        var e2subs = ['^    !                    ',\n            '      ^  !                ',\n            '          ^      !        ',\n            '                  ^ !     ',\n            '                     ^!   '];\n        var expected = 'a-----a---a-------a--a|   ';\n        var i = 0;\n        var result = e1.throttle(function () { return e2[i++]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var j = 0; j < e2.length; j++) {\n            expectSubscriptions(e2[j].subscriptions).toBe(e2subs[j]);\n        }\n    });\n    it('should propagate error from duration Observable', function () {\n        var e1 = hot('abcdefabcdabcdefghabca|   ');\n        var e1subs = '^                !        ';\n        var e2 = [cold('-----|                    '),\n            cold('---|                '),\n            cold('-------#        ')];\n        var e2subs = ['^    !                    ',\n            '      ^  !                ',\n            '          ^      !        '];\n        var expected = 'a-----a---a------#        ';\n        var i = 0;\n        var result = e1.throttle(function () { return e2[i++]; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var j = 0; j < e2.length; j++) {\n            expectSubscriptions(e2[j].subscriptions).toBe(e2subs[j]);\n        }\n    });\n    it('should propagate error thrown from durationSelector function', function () {\n        var e1 = hot('abcdefabcdabcdefghabca|   ');\n        var e1subs = '^         !               ';\n        var e2 = [cold('-----|                    '),\n            cold('---|                '),\n            cold('-------|        ')];\n        var e2subs = ['^    !                    ',\n            '      ^  !                '];\n        var expected = 'a-----a---#               ';\n        var i = 0;\n        var result = e1.throttle(function () {\n            if (i === 2) {\n                throw 'error';\n            }\n            return e2[i++];\n        });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        for (var j = 0; j < e2subs.length; j++) {\n            expectSubscriptions(e2[j].subscriptions).toBe(e2subs[j]);\n        }\n    });\n    it('should complete when source does not emit', function () {\n        var e1 = hot('-----|');\n        var subs = '^    !';\n        var expected = '-----|';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.throttle(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raise error when source does not emit and raises error', function () {\n        var e1 = hot('-----#');\n        var subs = '^    !';\n        var expected = '-----#';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.throttle(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle an empty source', function () {\n        var e1 = cold('|');\n        var subs = '(^!)';\n        var expected = '|';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.throttle(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a never source', function () {\n        var e1 = cold('-');\n        var subs = '^';\n        var expected = '-';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.throttle(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a throw source', function () {\n        var e1 = cold('#');\n        var subs = '(^!)';\n        var expected = '#';\n        function durationSelector() { return cold('-----|'); }\n        expectObservable(e1.throttle(durationSelector)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should throttle by promise resolves', function (done) {\n        var e1 = Observable.concat(Observable.of(1), Observable.timer(10).mapTo(2), Observable.timer(10).mapTo(3), Observable.timer(50).mapTo(4));\n        var expected = [1, 2, 3, 4];\n        e1.throttle(function () {\n            return new Promise(function (resolve) { resolve(42); });\n        }).subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function () {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        });\n    });\n    it('should raise error when promise rejects', function (done) {\n        var e1 = Observable.concat(Observable.of(1), Observable.timer(10).mapTo(2), Observable.timer(10).mapTo(3), Observable.timer(50).mapTo(4));\n        var expected = [1, 2, 3];\n        var error = new Error('error');\n        e1.throttle(function (x) {\n            if (x === 3) {\n                return new Promise(function (resolve, reject) { reject(error); });\n            }\n            else {\n                return new Promise(function (resolve) { resolve(42); });\n            }\n        }).subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (err) {\n            chai_1.expect(err).to.be.an('error', 'error');\n            chai_1.expect(expected.length).to.equal(0);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n    });\n});\n//# sourceMappingURL=throttle-spec.js.map"
  },
  {
    "__docId__": 3041,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2062",
    "testId": 2062,
    "memberof": "spec-js/operators/throttle-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/throttle-spec.js~describe2062",
    "access": null,
    "description": "Observable.prototype.throttle",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{throttle}"
      }
    ],
    "testTargets": [
      "throttle"
    ]
  },
  {
    "__docId__": 3042,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2063",
    "testId": 2063,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2063",
    "access": null,
    "description": "should simply mirror the source if values are not emitted often enough",
    "lineNumber": 20
  },
  {
    "__docId__": 3043,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2064",
    "testId": 2064,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2064",
    "access": null,
    "description": "should throttle with duration Observable using next to close the duration",
    "lineNumber": 33
  },
  {
    "__docId__": 3044,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2065",
    "testId": 2065,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2065",
    "access": null,
    "description": "should interrupt source and duration when result is unsubscribed early",
    "lineNumber": 46
  },
  {
    "__docId__": 3045,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2066",
    "testId": 2066,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2066",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 58
  },
  {
    "__docId__": 3046,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2067",
    "testId": 2067,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2067",
    "access": null,
    "description": "should handle a busy producer emitting a regular repeating sequence",
    "lineNumber": 73
  },
  {
    "__docId__": 3047,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2068",
    "testId": 2068,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2068",
    "access": null,
    "description": "should mirror source if durations are always empty",
    "lineNumber": 88
  },
  {
    "__docId__": 3048,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2069",
    "testId": 2069,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2069",
    "access": null,
    "description": "should take only the first value emitted if duration is a never",
    "lineNumber": 97
  },
  {
    "__docId__": 3049,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2070",
    "testId": 2070,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2070",
    "access": null,
    "description": "should unsubscribe duration Observable when source raise error",
    "lineNumber": 108
  },
  {
    "__docId__": 3050,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2071",
    "testId": 2071,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2071",
    "access": null,
    "description": "should raise error as soon as just-throw duration is used",
    "lineNumber": 119
  },
  {
    "__docId__": 3051,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2072",
    "testId": 2072,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2072",
    "access": null,
    "description": "should throttle using durations of constying lengths",
    "lineNumber": 130
  },
  {
    "__docId__": 3052,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2073",
    "testId": 2073,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2073",
    "access": null,
    "description": "should propagate error from duration Observable",
    "lineNumber": 152
  },
  {
    "__docId__": 3053,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2074",
    "testId": 2074,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2074",
    "access": null,
    "description": "should propagate error thrown from durationSelector function",
    "lineNumber": 170
  },
  {
    "__docId__": 3054,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2075",
    "testId": 2075,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2075",
    "access": null,
    "description": "should complete when source does not emit",
    "lineNumber": 192
  },
  {
    "__docId__": 3055,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2076",
    "testId": 2076,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2076",
    "access": null,
    "description": "should raise error when source does not emit and raises error",
    "lineNumber": 200
  },
  {
    "__docId__": 3056,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2077",
    "testId": 2077,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2077",
    "access": null,
    "description": "should handle an empty source",
    "lineNumber": 208
  },
  {
    "__docId__": 3057,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2078",
    "testId": 2078,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2078",
    "access": null,
    "description": "should handle a never source",
    "lineNumber": 216
  },
  {
    "__docId__": 3058,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2079",
    "testId": 2079,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2079",
    "access": null,
    "description": "should handle a throw source",
    "lineNumber": 224
  },
  {
    "__docId__": 3059,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2080",
    "testId": 2080,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2080",
    "access": null,
    "description": "should throttle by promise resolves",
    "lineNumber": 232
  },
  {
    "__docId__": 3060,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2081",
    "testId": 2081,
    "memberof": "spec-js/operators/throttle-spec.js~describe2062",
    "testDepth": 1,
    "longname": "spec-js/operators/throttle-spec.js~describe2062.it2081",
    "access": null,
    "description": "should raise error when promise rejects",
    "lineNumber": 246
  },
  {
    "__docId__": 3061,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/throttleTime-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/throttleTime-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {throttleTime} */\ndescribe('Observable.prototype.throttleTime', function () {\n    asDiagram('throttleTime(50)')('should immediately emit the first value in each time window', function () {\n        var e1 = hot('-a-x-y----b---x-cx---|');\n        var subs = '^                    !';\n        var expected = '-a--------b-----c----|';\n        var result = e1.throttleTime(50, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should throttle events by 50 time units', function (done) {\n        Observable.of(1, 2, 3).throttleTime(50)\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(1);\n        }, null, done);\n    });\n    it('should throttle events multiple times', function () {\n        var expected = ['1-0', '2-0'];\n        Observable.concat(Observable.timer(0, 10, rxTestScheduler).take(3).map(function (x) { return '1-' + x; }), Observable.timer(80, 10, rxTestScheduler).take(5).map(function (x) { return '2-' + x; }))\n            .throttleTime(50, rxTestScheduler)\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        });\n        rxTestScheduler.flush();\n    });\n    it('should simply mirror the source if values are not emitted often enough', function () {\n        var e1 = hot('-a--------b-----c----|');\n        var subs = '^                    !';\n        var expected = '-a--------b-----c----|';\n        expectObservable(e1.throttleTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a busy producer emitting a regular repeating sequence', function () {\n        var e1 = hot('abcdefabcdefabcdefabcdefa|');\n        var subs = '^                        !';\n        var expected = 'a-----a-----a-----a-----a|';\n        expectObservable(e1.throttleTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should complete when source does not emit', function () {\n        var e1 = hot('-----|');\n        var subs = '^    !';\n        var expected = '-----|';\n        expectObservable(e1.throttleTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should raise error when source does not emit and raises error', function () {\n        var e1 = hot('-----#');\n        var subs = '^    !';\n        var expected = '-----#';\n        expectObservable(e1.throttleTime(10, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle an empty source', function () {\n        var e1 = cold('|');\n        var subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.throttleTime(30, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a never source', function () {\n        var e1 = cold('-');\n        var subs = '^';\n        var expected = '-';\n        expectObservable(e1.throttleTime(30, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should handle a throw source', function () {\n        var e1 = cold('#');\n        var subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.throttleTime(30, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should throttle and does not complete when source does not completes', function () {\n        var e1 = hot('-a--(bc)-------d----------------');\n        var unsub = '                               !';\n        var subs = '^                              !';\n        var expected = '-a-------------d----------------';\n        expectObservable(e1.throttleTime(50, rxTestScheduler), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('-a--(bc)-------d----------------');\n        var subs = '^                              !';\n        var expected = '-a-------------d----------------';\n        var unsub = '                               !';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .throttleTime(50, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n    it('should throttle values until source raises error', function () {\n        var e1 = hot('-a--(bc)-------d---------------#');\n        var subs = '^                              !';\n        var expected = '-a-------------d---------------#';\n        expectObservable(e1.throttleTime(50, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=throttleTime-spec.js.map"
  },
  {
    "__docId__": 3062,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2082",
    "testId": 2082,
    "memberof": "spec-js/operators/throttleTime-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082",
    "access": null,
    "description": "Observable.prototype.throttleTime",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{throttleTime}"
      }
    ],
    "testTargets": [
      "throttleTime"
    ]
  },
  {
    "__docId__": 3063,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2083",
    "testId": 2083,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2083",
    "access": null,
    "description": "should throttle events by 50 time units",
    "lineNumber": 15
  },
  {
    "__docId__": 3064,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2084",
    "testId": 2084,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2084",
    "access": null,
    "description": "should throttle events multiple times",
    "lineNumber": 21
  },
  {
    "__docId__": 3065,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2085",
    "testId": 2085,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2085",
    "access": null,
    "description": "should simply mirror the source if values are not emitted often enough",
    "lineNumber": 30
  },
  {
    "__docId__": 3066,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2086",
    "testId": 2086,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2086",
    "access": null,
    "description": "should handle a busy producer emitting a regular repeating sequence",
    "lineNumber": 37
  },
  {
    "__docId__": 3067,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2087",
    "testId": 2087,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2087",
    "access": null,
    "description": "should complete when source does not emit",
    "lineNumber": 44
  },
  {
    "__docId__": 3068,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2088",
    "testId": 2088,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2088",
    "access": null,
    "description": "should raise error when source does not emit and raises error",
    "lineNumber": 51
  },
  {
    "__docId__": 3069,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2089",
    "testId": 2089,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2089",
    "access": null,
    "description": "should handle an empty source",
    "lineNumber": 58
  },
  {
    "__docId__": 3070,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2090",
    "testId": 2090,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2090",
    "access": null,
    "description": "should handle a never source",
    "lineNumber": 65
  },
  {
    "__docId__": 3071,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2091",
    "testId": 2091,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2091",
    "access": null,
    "description": "should handle a throw source",
    "lineNumber": 72
  },
  {
    "__docId__": 3072,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2092",
    "testId": 2092,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2092",
    "access": null,
    "description": "should throttle and does not complete when source does not completes",
    "lineNumber": 79
  },
  {
    "__docId__": 3073,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2093",
    "testId": 2093,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2093",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 87
  },
  {
    "__docId__": 3074,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2094",
    "testId": 2094,
    "memberof": "spec-js/operators/throttleTime-spec.js~describe2082",
    "testDepth": 1,
    "longname": "spec-js/operators/throttleTime-spec.js~describe2082.it2094",
    "access": null,
    "description": "should throttle values until source raises error",
    "lineNumber": 99
  },
  {
    "__docId__": 3075,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/timeInterval-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/timeInterval-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {timeInterval} */\ndescribe('Observable.prototype.timeInterval', function () {\n    asDiagram('timeInterval')('should record the time interval between source elements', function () {\n        var e1 = hot('--a--^b-c-----d--e--|');\n        var e1subs = '^              !';\n        var expected = '-w-x-----y--z--|';\n        var expectedValue = { w: 10, x: 20, y: 60, z: 30 };\n        var result = e1.timeInterval(rxTestScheduler)\n            .map(function (x) { return x.interval; });\n        expectObservable(result).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should record interval if source emit elements', function () {\n        var e1 = hot('--a--^b--c----d---e--|');\n        var e1subs = '^               !';\n        var expected = '-w--x----y---z--|';\n        var expectedValue = {\n            w: new Rx.TimeInterval('b', 10),\n            x: new Rx.TimeInterval('c', 30),\n            y: new Rx.TimeInterval('d', 50),\n            z: new Rx.TimeInterval('e', 40)\n        };\n        expectObservable(e1.timeInterval(rxTestScheduler)).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should completes without record interval if source does not emits', function () {\n        var e1 = hot('---------|');\n        var e1subs = '^        !';\n        var expected = '---------|';\n        expectObservable(e1.timeInterval(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete immediately if source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.timeInterval(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should record interval then does not completes if source emits but not completes', function () {\n        var e1 = hot('-a--b--');\n        var e1subs = '^      ';\n        var expected = '-y--z--';\n        var expectedValue = {\n            y: new Rx.TimeInterval('a', 10),\n            z: new Rx.TimeInterval('b', 30)\n        };\n        expectObservable(e1.timeInterval(rxTestScheduler)).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('-a--b-----c---d---|');\n        var unsub = '       !           ';\n        var e1subs = '^      !           ';\n        var expected = '-y--z---           ';\n        var expectedValue = {\n            y: new Rx.TimeInterval('a', 10),\n            z: new Rx.TimeInterval('b', 30)\n        };\n        var result = e1.timeInterval(rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('-a--b-----c---d---|');\n        var e1subs = '^      !           ';\n        var expected = '-y--z---           ';\n        var unsub = '       !           ';\n        var expectedValue = {\n            y: new Rx.TimeInterval('a', 10),\n            z: new Rx.TimeInterval('b', 30)\n        };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .timeInterval(rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes if source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.timeInterval(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('raise error if source raises error', function () {\n        var e1 = hot('---#');\n        var e1subs = '^  !';\n        var expected = '---#';\n        expectObservable(e1.timeInterval(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should record interval then raise error if source raises error after emit', function () {\n        var e1 = hot('-a--b--#');\n        var e1subs = '^      !';\n        var expected = '-y--z--#';\n        var expectedValue = {\n            y: new Rx.TimeInterval('a', 10),\n            z: new Rx.TimeInterval('b', 30)\n        };\n        expectObservable(e1.timeInterval(rxTestScheduler)).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if source immediately throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.timeInterval(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=timeInterval-spec.js.map"
  },
  {
    "__docId__": 3076,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2095",
    "testId": 2095,
    "memberof": "spec-js/operators/timeInterval-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095",
    "access": null,
    "description": "Observable.prototype.timeInterval",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{timeInterval}"
      }
    ],
    "testTargets": [
      "timeInterval"
    ]
  },
  {
    "__docId__": 3077,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2096",
    "testId": 2096,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2096",
    "access": null,
    "description": "should record interval if source emit elements",
    "lineNumber": 16
  },
  {
    "__docId__": 3078,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2097",
    "testId": 2097,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2097",
    "access": null,
    "description": "should completes without record interval if source does not emits",
    "lineNumber": 29
  },
  {
    "__docId__": 3079,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2098",
    "testId": 2098,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2098",
    "access": null,
    "description": "should complete immediately if source is empty",
    "lineNumber": 36
  },
  {
    "__docId__": 3080,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2099",
    "testId": 2099,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2099",
    "access": null,
    "description": "should record interval then does not completes if source emits but not completes",
    "lineNumber": 43
  },
  {
    "__docId__": 3081,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2100",
    "testId": 2100,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2100",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 54
  },
  {
    "__docId__": 3082,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2101",
    "testId": 2101,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2101",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 67
  },
  {
    "__docId__": 3083,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2102",
    "testId": 2102,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2102",
    "access": null,
    "description": "should not completes if source never completes",
    "lineNumber": 83
  },
  {
    "__docId__": 3084,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2103",
    "testId": 2103,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2103",
    "access": null,
    "description": "raise error if source raises error",
    "lineNumber": 90
  },
  {
    "__docId__": 3085,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2104",
    "testId": 2104,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2104",
    "access": null,
    "description": "should record interval then raise error if source raises error after emit",
    "lineNumber": 97
  },
  {
    "__docId__": 3086,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2105",
    "testId": 2105,
    "memberof": "spec-js/operators/timeInterval-spec.js~describe2095",
    "testDepth": 1,
    "longname": "spec-js/operators/timeInterval-spec.js~describe2095.it2105",
    "access": null,
    "description": "should raise error if source immediately throws",
    "lineNumber": 108
  },
  {
    "__docId__": 3087,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/timeout-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/timeout-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {timeout} */\ndescribe('Observable.prototype.timeout', function () {\n    var defaultTimeoutError = new Rx.TimeoutError();\n    asDiagram('timeout(50)')('should timeout after a specified timeout period', function () {\n        var e1 = cold('-------a--b--|');\n        var e1subs = '^    !        ';\n        var expected = '-----#        ';\n        var result = e1.timeout(50, null, rxTestScheduler);\n        expectObservable(result).toBe(expected, null, defaultTimeoutError);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should timeout after specified timeout period and send the passed error', function () {\n        var e1 = cold('-');\n        var e1subs = '^    !';\n        var expected = '-----#';\n        var value = 'hello';\n        var result = e1.timeout(50, value, rxTestScheduler);\n        expectObservable(result).toBe(expected, null, value);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not timeout if source completes within absolute timeout period', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var expected = '--a--b--c--d--e--|';\n        var timeoutValue = new Date(rxTestScheduler.now() + (expected.length + 2) * 10);\n        expectObservable(e1.timeout(timeoutValue, null, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not timeout if source emits within timeout period', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var expected = '--a--b--c--d--e--|';\n        expectObservable(e1.timeout(50, null, rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--b--c---d--e--|');\n        var unsub = '          !        ';\n        var e1subs = '^         !        ';\n        var expected = '--a--b--c--        ';\n        var result = e1.timeout(50, null, rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--b--c---d--e--|');\n        var e1subs = '^         !        ';\n        var expected = '--a--b--c--        ';\n        var unsub = '          !        ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .timeout(50, null, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should timeout after a specified timeout period between emit with default ' +\n        'error while source emits', function () {\n        var e1 = hot('---a---b---c------d---e---|');\n        var e1subs = '^               !          ';\n        var expected = '---a---b---c----#          ';\n        var values = { a: 'a', b: 'b', c: 'c' };\n        var result = e1.timeout(50, null, rxTestScheduler);\n        expectObservable(result).toBe(expected, values, defaultTimeoutError);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should timeout after a specified delay with passed error while source emits', function () {\n        var value = 'hello';\n        var e1 = hot('---a---b---c------d---e---|');\n        var e1subs = '^               !          ';\n        var expected = '---a---b---c----#          ';\n        var values = { a: 'a', b: 'b', c: 'c' };\n        var result = e1.timeout(50, value, rxTestScheduler);\n        expectObservable(result).toBe(expected, values, value);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should timeout at a specified Date', function () {\n        var e1 = cold('-');\n        var e1subs = '^         !';\n        var expected = '----------#';\n        var result = e1.timeout(new Date(rxTestScheduler.now() + 100), null, rxTestScheduler);\n        expectObservable(result).toBe(expected, null, defaultTimeoutError);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should timeout specified Date with default error while source emits', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^         !       ';\n        var expected = '--a--b--c-#       ';\n        var values = { a: 'a', b: 'b', c: 'c' };\n        var result = e1.timeout(new Date(rxTestScheduler.now() + 100), null, rxTestScheduler);\n        expectObservable(result).toBe(expected, values, defaultTimeoutError);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should timeout specified Date with passed error while source emits', function () {\n        var value = 'hello';\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^         !       ';\n        var expected = '--a--b--c-#       ';\n        var values = { a: 'a', b: 'b', c: 'c' };\n        var result = e1.timeout(new Date(rxTestScheduler.now() + 100), value, rxTestScheduler);\n        expectObservable(result).toBe(expected, values, value);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=timeout-spec.js.map"
  },
  {
    "__docId__": 3088,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2106",
    "testId": 2106,
    "memberof": "spec-js/operators/timeout-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/timeout-spec.js~describe2106",
    "access": null,
    "description": "Observable.prototype.timeout",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{timeout}"
      }
    ],
    "testTargets": [
      "timeout"
    ]
  },
  {
    "__docId__": 3089,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2107",
    "testId": 2107,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2107",
    "access": null,
    "description": "should timeout after specified timeout period and send the passed error",
    "lineNumber": 15
  },
  {
    "__docId__": 3090,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2108",
    "testId": 2108,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2108",
    "access": null,
    "description": "should not timeout if source completes within absolute timeout period",
    "lineNumber": 24
  },
  {
    "__docId__": 3091,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2109",
    "testId": 2109,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2109",
    "access": null,
    "description": "should not timeout if source emits within timeout period",
    "lineNumber": 32
  },
  {
    "__docId__": 3092,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2110",
    "testId": 2110,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2110",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 39
  },
  {
    "__docId__": 3093,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2111",
    "testId": 2111,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2111",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 48
  },
  {
    "__docId__": 3094,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2112",
    "testId": 2112,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2112",
    "access": null,
    "lineNumber": 60
  },
  {
    "__docId__": 3095,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2113",
    "testId": 2113,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2113",
    "access": null,
    "description": "should timeout after a specified delay with passed error while source emits",
    "lineNumber": 70
  },
  {
    "__docId__": 3096,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2114",
    "testId": 2114,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2114",
    "access": null,
    "description": "should timeout at a specified Date",
    "lineNumber": 80
  },
  {
    "__docId__": 3097,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2115",
    "testId": 2115,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2115",
    "access": null,
    "description": "should timeout specified Date with default error while source emits",
    "lineNumber": 88
  },
  {
    "__docId__": 3098,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2116",
    "testId": 2116,
    "memberof": "spec-js/operators/timeout-spec.js~describe2106",
    "testDepth": 1,
    "longname": "spec-js/operators/timeout-spec.js~describe2106.it2116",
    "access": null,
    "description": "should timeout specified Date with passed error while source emits",
    "lineNumber": 97
  },
  {
    "__docId__": 3099,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/timeoutWith-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/timeoutWith-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {timeoutWith} */\ndescribe('Observable.prototype.timeoutWith', function () {\n    asDiagram('timeoutWith(50)')('should timeout after a specified period then subscribe to the passed observable', function () {\n        var e1 = cold('-------a--b--|');\n        var e1subs = '^    !        ';\n        var e2 = cold('x-y-z-|  ');\n        var e2subs = '     ^     !  ';\n        var expected = '-----x-y-z-|  ';\n        var result = e1.timeoutWith(50, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should timeout at a specified date then subscribe to the passed observable', function () {\n        var e1 = cold('-');\n        var e1subs = '^         !           ';\n        var e2 = cold('--x--y--z--|');\n        var e2subs = '          ^          !';\n        var expected = '------------x--y--z--|';\n        var result = e1.timeoutWith(new Date(rxTestScheduler.now() + 100), e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should timeout after a specified period between emit then subscribe ' +\n        'to the passed observable when source emits', function () {\n        var e1 = hot('---a---b------c---|');\n        var e1subs = '^          !       ';\n        var e2 = cold('-x-y-|  ');\n        var e2subs = '           ^    !  ';\n        var expected = '---a---b----x-y-|  ';\n        var result = e1.timeoutWith(40, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('---a---b-----c----|');\n        var e1subs = '^          !       ';\n        var e2 = cold('-x---y| ');\n        var e2subs = '           ^  !    ';\n        var expected = '---a---b----x--    ';\n        var unsub = '              !    ';\n        var result = e1.timeoutWith(40, e2, rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var e1 = hot('---a---b-----c----|');\n        var e1subs = '^          !       ';\n        var e2 = cold('-x---y| ');\n        var e2subs = '           ^  !    ';\n        var expected = '---a---b----x--    ';\n        var unsub = '              !    ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .timeoutWith(40, e2, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not subscribe to withObservable after explicit unsubscription', function () {\n        var e1 = cold('---a------b------');\n        var e1subs = '^    !           ';\n        var e2 = cold('i---j---|');\n        var e2subs = [];\n        var expected = '---a--           ';\n        var unsub = '     !           ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .timeoutWith(50, e2, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should timeout after a specified period then subscribe to the ' +\n        'passed observable when source is empty', function () {\n        var e1 = hot('-------------|      ');\n        var e1subs = '^         !         ';\n        var e2 = cold('----x----|');\n        var e2subs = '          ^        !';\n        var expected = '--------------x----|';\n        var result = e1.timeoutWith(100, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should timeout after a specified period between emit then never completes ' +\n        'if other source does not complete', function () {\n        var e1 = hot('--a--b--------c--d--|');\n        var e1subs = '^        !           ';\n        var e2 = cold('-');\n        var e2subs = '         ^           ';\n        var expected = '--a--b----           ';\n        var result = e1.timeoutWith(40, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should timeout after a specified period then subscribe to the ' +\n        'passed observable when source raises error after timeout', function () {\n        var e1 = hot('-------------#      ');\n        var e1subs = '^         !         ';\n        var e2 = cold('----x----|');\n        var e2subs = '          ^        !';\n        var expected = '--------------x----|';\n        var result = e1.timeoutWith(100, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should timeout after a specified period between emit then never completes ' +\n        'if other source emits but not complete', function () {\n        var e1 = hot('-------------|     ');\n        var e1subs = '^         !        ';\n        var e2 = cold('----x----');\n        var e2subs = '          ^        ';\n        var expected = '--------------x----';\n        var result = e1.timeoutWith(100, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not timeout if source completes within timeout period', function () {\n        var e1 = hot('-----|');\n        var e1subs = '^    !';\n        var e2 = cold('----x----');\n        var e2subs = [];\n        var expected = '-----|';\n        var result = e1.timeoutWith(100, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not timeout if source raises error within timeout period', function () {\n        var e1 = hot('-----#');\n        var e1subs = '^    !';\n        var e2 = cold('----x----|');\n        var e2subs = [];\n        var expected = '-----#';\n        var result = e1.timeoutWith(100, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not timeout if source emits within timeout period', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var e2 = cold('----x----|');\n        var e2subs = [];\n        var expected = '--a--b--c--d--e--|';\n        var result = e1.timeoutWith(50, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should timeout after specified Date then subscribe to the passed observable', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^      !          ';\n        var e2 = cold('--z--|     ');\n        var e2subs = '       ^    !     ';\n        var expected = '--a--b---z--|     ';\n        var result = e1.timeoutWith(new Date(rxTestScheduler.now() + 70), e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not timeout if source completes within specified Date', function () {\n        var e1 = hot('--a--b--c--d--e--|');\n        var e1subs = '^                !';\n        var e2 = cold('--x--|');\n        var e2subs = [];\n        var expected = '--a--b--c--d--e--|';\n        var timeoutValue = new Date(Date.now() + (expected.length + 2) * 10);\n        var result = e1.timeoutWith(timeoutValue, e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should not timeout if source raises error within specified Date', function () {\n        var e1 = hot('---a---#');\n        var e1subs = '^      !';\n        var e2 = cold('--x--|');\n        var e2subs = [];\n        var expected = '---a---#';\n        var result = e1.timeoutWith(new Date(Date.now() + 100), e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should timeout specified Date after specified Date then never completes ' +\n        'if other source does not complete', function () {\n        var e1 = hot('---a---b---c---d---e---|');\n        var e1subs = '^         !             ';\n        var e2 = cold('-');\n        var e2subs = '          ^             ';\n        var expected = '---a---b---             ';\n        var result = e1.timeoutWith(new Date(rxTestScheduler.now() + 100), e2, rxTestScheduler);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n});\n//# sourceMappingURL=timeoutWith-spec.js.map"
  },
  {
    "__docId__": 3100,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2117",
    "testId": 2117,
    "memberof": "spec-js/operators/timeoutWith-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "access": null,
    "description": "Observable.prototype.timeoutWith",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{timeoutWith}"
      }
    ],
    "testTargets": [
      "timeoutWith"
    ]
  },
  {
    "__docId__": 3101,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2118",
    "testId": 2118,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2118",
    "access": null,
    "description": "should timeout at a specified date then subscribe to the passed observable",
    "lineNumber": 17
  },
  {
    "__docId__": 3102,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2119",
    "testId": 2119,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2119",
    "access": null,
    "lineNumber": 28
  },
  {
    "__docId__": 3103,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2120",
    "testId": 2120,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2120",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 40
  },
  {
    "__docId__": 3104,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2121",
    "testId": 2121,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2121",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 52
  },
  {
    "__docId__": 3105,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2122",
    "testId": 2122,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2122",
    "access": null,
    "description": "should not subscribe to withObservable after explicit unsubscription",
    "lineNumber": 67
  },
  {
    "__docId__": 3106,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2123",
    "testId": 2123,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2123",
    "access": null,
    "lineNumber": 82
  },
  {
    "__docId__": 3107,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2124",
    "testId": 2124,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2124",
    "access": null,
    "lineNumber": 94
  },
  {
    "__docId__": 3108,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2125",
    "testId": 2125,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2125",
    "access": null,
    "lineNumber": 106
  },
  {
    "__docId__": 3109,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2126",
    "testId": 2126,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2126",
    "access": null,
    "lineNumber": 118
  },
  {
    "__docId__": 3110,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2127",
    "testId": 2127,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2127",
    "access": null,
    "description": "should not timeout if source completes within timeout period",
    "lineNumber": 130
  },
  {
    "__docId__": 3111,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2128",
    "testId": 2128,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2128",
    "access": null,
    "description": "should not timeout if source raises error within timeout period",
    "lineNumber": 141
  },
  {
    "__docId__": 3112,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2129",
    "testId": 2129,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2129",
    "access": null,
    "description": "should not timeout if source emits within timeout period",
    "lineNumber": 152
  },
  {
    "__docId__": 3113,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2130",
    "testId": 2130,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2130",
    "access": null,
    "description": "should timeout after specified Date then subscribe to the passed observable",
    "lineNumber": 163
  },
  {
    "__docId__": 3114,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2131",
    "testId": 2131,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2131",
    "access": null,
    "description": "should not timeout if source completes within specified Date",
    "lineNumber": 174
  },
  {
    "__docId__": 3115,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2132",
    "testId": 2132,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2132",
    "access": null,
    "description": "should not timeout if source raises error within specified Date",
    "lineNumber": 186
  },
  {
    "__docId__": 3116,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2133",
    "testId": 2133,
    "memberof": "spec-js/operators/timeoutWith-spec.js~describe2117",
    "testDepth": 1,
    "longname": "spec-js/operators/timeoutWith-spec.js~describe2117.it2133",
    "access": null,
    "lineNumber": 197
  },
  {
    "__docId__": 3117,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/timestamp-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/timestamp-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {timestamp} */\ndescribe('Observable.prototype.timestamp', function () {\n    asDiagram('timestamp')('should record the time stamp per each source elements', function () {\n        var e1 = hot('-b-c-----d--e--|');\n        var e1subs = '^              !';\n        var expected = '-w-x-----y--z--|';\n        var expectedValue = { w: 10, x: 30, y: 90, z: 120 };\n        var result = e1.timestamp(rxTestScheduler)\n            .map(function (x) { return x.timestamp; });\n        expectObservable(result).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should record stamp if source emit elements', function () {\n        var e1 = hot('--a--^b--c----d---e--|');\n        var e1subs = '^               !';\n        var expected = '-w--x----y---z--|';\n        var expectedValue = {\n            w: new Rx.Timestamp('b', 10),\n            x: new Rx.Timestamp('c', 40),\n            y: new Rx.Timestamp('d', 90),\n            z: new Rx.Timestamp('e', 130)\n        };\n        expectObservable(e1.timestamp(rxTestScheduler)).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should completes without record stamp if source does not emits', function () {\n        var e1 = hot('---------|');\n        var e1subs = '^        !';\n        var expected = '---------|';\n        expectObservable(e1.timestamp(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should complete immediately if source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '|';\n        expectObservable(e1.timestamp(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should record stamp then does not completes if source emits but not completes', function () {\n        var e1 = hot('-a--b--');\n        var e1subs = '^      ';\n        var expected = '-y--z--';\n        var expectedValue = {\n            y: new Rx.Timestamp('a', 10),\n            z: new Rx.Timestamp('b', 40)\n        };\n        expectObservable(e1.timestamp(rxTestScheduler)).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('-a--b-----c---d---|');\n        var unsub = '       !           ';\n        var e1subs = '^      !           ';\n        var expected = '-y--z---           ';\n        var expectedValue = {\n            y: new Rx.Timestamp('a', 10),\n            z: new Rx.Timestamp('b', 40)\n        };\n        var result = e1.timestamp(rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('-a--b-----c---d---|');\n        var e1subs = '^      !           ';\n        var expected = '-y--z---           ';\n        var unsub = '       !           ';\n        var expectedValue = {\n            y: new Rx.Timestamp('a', 10),\n            z: new Rx.Timestamp('b', 40)\n        };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .timestamp(rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not completes if source never completes', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.timestamp(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('raise error if source raises error', function () {\n        var e1 = hot('---#');\n        var e1subs = '^  !';\n        var expected = '---#';\n        expectObservable(e1.timestamp(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should record stamp then raise error if source raises error after emit', function () {\n        var e1 = hot('-a--b--#');\n        var e1subs = '^      !';\n        var expected = '-y--z--#';\n        var expectedValue = {\n            y: new Rx.Timestamp('a', 10),\n            z: new Rx.Timestamp('b', 40)\n        };\n        expectObservable(e1.timestamp(rxTestScheduler)).toBe(expected, expectedValue);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if source immediately throws', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.timestamp(rxTestScheduler)).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n});\n//# sourceMappingURL=timestamp-spec.js.map"
  },
  {
    "__docId__": 3118,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2134",
    "testId": 2134,
    "memberof": "spec-js/operators/timestamp-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134",
    "access": null,
    "description": "Observable.prototype.timestamp",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{timestamp}"
      }
    ],
    "testTargets": [
      "timestamp"
    ]
  },
  {
    "__docId__": 3119,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2135",
    "testId": 2135,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2135",
    "access": null,
    "description": "should record stamp if source emit elements",
    "lineNumber": 16
  },
  {
    "__docId__": 3120,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2136",
    "testId": 2136,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2136",
    "access": null,
    "description": "should completes without record stamp if source does not emits",
    "lineNumber": 29
  },
  {
    "__docId__": 3121,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2137",
    "testId": 2137,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2137",
    "access": null,
    "description": "should complete immediately if source is empty",
    "lineNumber": 36
  },
  {
    "__docId__": 3122,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2138",
    "testId": 2138,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2138",
    "access": null,
    "description": "should record stamp then does not completes if source emits but not completes",
    "lineNumber": 43
  },
  {
    "__docId__": 3123,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2139",
    "testId": 2139,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2139",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 54
  },
  {
    "__docId__": 3124,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2140",
    "testId": 2140,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2140",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 67
  },
  {
    "__docId__": 3125,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2141",
    "testId": 2141,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2141",
    "access": null,
    "description": "should not completes if source never completes",
    "lineNumber": 83
  },
  {
    "__docId__": 3126,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2142",
    "testId": 2142,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2142",
    "access": null,
    "description": "raise error if source raises error",
    "lineNumber": 90
  },
  {
    "__docId__": 3127,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2143",
    "testId": 2143,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2143",
    "access": null,
    "description": "should record stamp then raise error if source raises error after emit",
    "lineNumber": 97
  },
  {
    "__docId__": 3128,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2144",
    "testId": 2144,
    "memberof": "spec-js/operators/timestamp-spec.js~describe2134",
    "testDepth": 1,
    "longname": "spec-js/operators/timestamp-spec.js~describe2134.it2144",
    "access": null,
    "description": "should raise error if source immediately throws",
    "lineNumber": 108
  },
  {
    "__docId__": 3129,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/toArray-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/toArray-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {toArray} */\ndescribe('Observable.prototype.toArray', function () {\n    asDiagram('toArray')('should reduce the values of an observable into an array', function () {\n        var e1 = hot('---a--b--|');\n        var e1subs = '^        !';\n        var expected = '---------(w|)';\n        expectObservable(e1.toArray()).toBe(expected, { w: ['a', 'b'] });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be never when source is never', function () {\n        var e1 = cold('-');\n        var e1subs = '^';\n        var expected = '-';\n        expectObservable(e1.toArray()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be never when source is empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var expected = '(w|)';\n        expectObservable(e1.toArray()).toBe(expected, { w: [] });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should be never when source doesn\\'t complete', function () {\n        var e1 = hot('--x--^--y--');\n        var e1subs = '^     ';\n        var expected = '------';\n        expectObservable(e1.toArray()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should reduce observable without values into an array of length zero', function () {\n        var e1 = hot('-x-^---|');\n        var e1subs = '^   !';\n        var expected = '----(w|)';\n        expectObservable(e1.toArray()).toBe(expected, { w: [] });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should reduce the a single value of an observable into an array', function () {\n        var e1 = hot('-x-^--y--|');\n        var e1subs = '^     !';\n        var expected = '------(w|)';\n        expectObservable(e1.toArray()).toBe(expected, { w: ['y'] });\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should allow unsubscribing explicitly and early', function () {\n        var e1 = hot('--a--b----c-----d----e---|');\n        var unsub = '        !                 ';\n        var e1subs = '^       !                 ';\n        var expected = '---------                 ';\n        expectObservable(e1.toArray(), unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--b----c-----d----e---|');\n        var e1subs = '^       !                 ';\n        var expected = '---------                 ';\n        var unsub = '        !                 ';\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .toArray()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with error', function () {\n        var e1 = hot('-x-^--y--z--#', { x: 1, y: 2, z: 3 }, 'too bad');\n        var e1subs = '^        !';\n        var expected = '---------#';\n        expectObservable(e1.toArray()).toBe(expected, null, 'too bad');\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var expected = '#';\n        expectObservable(e1.toArray()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    type(function () {\n        var typeValue = {\n            val: 3\n        };\n        Observable.of(typeValue).toArray().subscribe(function (x) { x[0].val.toString(); });\n    });\n});\n//# sourceMappingURL=toArray-spec.js.map"
  },
  {
    "__docId__": 3130,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2145",
    "testId": 2145,
    "memberof": "spec-js/operators/toArray-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/toArray-spec.js~describe2145",
    "access": null,
    "description": "Observable.prototype.toArray",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{toArray}"
      }
    ],
    "testTargets": [
      "toArray"
    ]
  },
  {
    "__docId__": 3131,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2146",
    "testId": 2146,
    "memberof": "spec-js/operators/toArray-spec.js~describe2145",
    "testDepth": 1,
    "longname": "spec-js/operators/toArray-spec.js~describe2145.it2146",
    "access": null,
    "description": "should be never when source is never",
    "lineNumber": 13
  },
  {
    "__docId__": 3132,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2147",
    "testId": 2147,
    "memberof": "spec-js/operators/toArray-spec.js~describe2145",
    "testDepth": 1,
    "longname": "spec-js/operators/toArray-spec.js~describe2145.it2147",
    "access": null,
    "description": "should be never when source is empty",
    "lineNumber": 20
  },
  {
    "__docId__": 3133,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2148",
    "testId": 2148,
    "memberof": "spec-js/operators/toArray-spec.js~describe2145",
    "testDepth": 1,
    "longname": "spec-js/operators/toArray-spec.js~describe2145.it2148",
    "access": null,
    "description": "should be never when source doesn't complete",
    "lineNumber": 27
  },
  {
    "__docId__": 3134,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2149",
    "testId": 2149,
    "memberof": "spec-js/operators/toArray-spec.js~describe2145",
    "testDepth": 1,
    "longname": "spec-js/operators/toArray-spec.js~describe2145.it2149",
    "access": null,
    "description": "should reduce observable without values into an array of length zero",
    "lineNumber": 34
  },
  {
    "__docId__": 3135,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2150",
    "testId": 2150,
    "memberof": "spec-js/operators/toArray-spec.js~describe2145",
    "testDepth": 1,
    "longname": "spec-js/operators/toArray-spec.js~describe2145.it2150",
    "access": null,
    "description": "should reduce the a single value of an observable into an array",
    "lineNumber": 41
  },
  {
    "__docId__": 3136,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2151",
    "testId": 2151,
    "memberof": "spec-js/operators/toArray-spec.js~describe2145",
    "testDepth": 1,
    "longname": "spec-js/operators/toArray-spec.js~describe2145.it2151",
    "access": null,
    "description": "should allow unsubscribing explicitly and early",
    "lineNumber": 48
  },
  {
    "__docId__": 3137,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2152",
    "testId": 2152,
    "memberof": "spec-js/operators/toArray-spec.js~describe2145",
    "testDepth": 1,
    "longname": "spec-js/operators/toArray-spec.js~describe2145.it2152",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 56
  },
  {
    "__docId__": 3138,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2153",
    "testId": 2153,
    "memberof": "spec-js/operators/toArray-spec.js~describe2145",
    "testDepth": 1,
    "longname": "spec-js/operators/toArray-spec.js~describe2145.it2153",
    "access": null,
    "description": "should work with error",
    "lineNumber": 68
  },
  {
    "__docId__": 3139,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2154",
    "testId": 2154,
    "memberof": "spec-js/operators/toArray-spec.js~describe2145",
    "testDepth": 1,
    "longname": "spec-js/operators/toArray-spec.js~describe2145.it2154",
    "access": null,
    "description": "should work with throw",
    "lineNumber": 75
  },
  {
    "__docId__": 3140,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/toPromise-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/toPromise-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {toPromise} */\ndescribe('Observable.prototype.toPromise', function () {\n    it('should convert an Observable to a promise of its last value', function (done) {\n        Observable.of(1, 2, 3).toPromise(Promise).then(function (x) {\n            chai_1.expect(x).to.equal(3);\n            done();\n        });\n    });\n    it('should handle errors properly', function (done) {\n        Observable.throw('bad').toPromise(Promise).then(function () {\n            done(new Error('should not be called'));\n        }, function (err) {\n            chai_1.expect(err).to.equal('bad');\n            done();\n        });\n    });\n    it('should allow for global config via Rx.config.Promise', function (done) {\n        var wasCalled = false;\n        __root__.Rx = {};\n        __root__.Rx.config = {};\n        __root__.Rx.config.Promise = function MyPromise(callback) {\n            wasCalled = true;\n            return new Promise(callback);\n        };\n        Observable.of(42).toPromise().then(function (x) {\n            chai_1.expect(wasCalled).to.be.true;\n            chai_1.expect(x).to.equal(42);\n            delete __root__.Rx;\n            done();\n        });\n    });\n});\n//# sourceMappingURL=toPromise-spec.js.map"
  },
  {
    "__docId__": 3141,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2155",
    "testId": 2155,
    "memberof": "spec-js/operators/toPromise-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/toPromise-spec.js~describe2155",
    "access": null,
    "description": "Observable.prototype.toPromise",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{toPromise}"
      }
    ],
    "testTargets": [
      "toPromise"
    ]
  },
  {
    "__docId__": 3142,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2156",
    "testId": 2156,
    "memberof": "spec-js/operators/toPromise-spec.js~describe2155",
    "testDepth": 1,
    "longname": "spec-js/operators/toPromise-spec.js~describe2155.it2156",
    "access": null,
    "description": "should convert an Observable to a promise of its last value",
    "lineNumber": 7
  },
  {
    "__docId__": 3143,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2157",
    "testId": 2157,
    "memberof": "spec-js/operators/toPromise-spec.js~describe2155",
    "testDepth": 1,
    "longname": "spec-js/operators/toPromise-spec.js~describe2155.it2157",
    "access": null,
    "description": "should handle errors properly",
    "lineNumber": 13
  },
  {
    "__docId__": 3144,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2158",
    "testId": 2158,
    "memberof": "spec-js/operators/toPromise-spec.js~describe2155",
    "testDepth": 1,
    "longname": "spec-js/operators/toPromise-spec.js~describe2155.it2158",
    "access": null,
    "description": "should allow for global config via Rx.config.Promise",
    "lineNumber": 21
  },
  {
    "__docId__": 3145,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/window-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/window-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {window} */\ndescribe('Observable.prototype.window', function () {\n    asDiagram('window')('should emit windows that close and reopen', function () {\n        var source = hot('---a---b---c---d---e---f---g---h---i---|    ');\n        var sourceSubs = '^                                      !    ';\n        var closings = hot('-------------w------------w----------------|');\n        var closingSubs = '^                                      !    ';\n        var expected = 'x------------y------------z------------|    ';\n        var x = cold('---a---b---c-|                              ');\n        var y = cold('--d---e---f--|                 ');\n        var z = cold('-g---h---i---|    ');\n        var expectedValues = { x: x, y: y, z: z };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should return a single empty window if source is empty and closings are basic', function () {\n        var source = cold('|');\n        var sourceSubs = '(^!)';\n        var closings = cold('--x--x--|');\n        var closingSubs = '(^!)';\n        var expected = '(w|)';\n        var w = cold('|');\n        var expectedValues = { w: w };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should return a single empty window if source is empty and closing is empty', function () {\n        var source = cold('|');\n        var sourceSubs = '(^!)';\n        var closings = cold('|');\n        var closingSubs = '(^!)';\n        var expected = '(w|)';\n        var w = cold('|');\n        var expectedValues = { w: w };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should return a single empty window if source is sync empty and closing is sync empty', function () {\n        var source = cold('(|)');\n        var sourceSubs = '(^!)';\n        var expected = '(w|)';\n        var w = cold('|');\n        var expectedValues = { w: w };\n        var result = source.window(Observable.empty());\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        // expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should split a Just source into a single window identical to source, using a Never closing', function () {\n        var source = cold('(a|)');\n        var sourceSubs = '(^!)';\n        var closings = cold('-');\n        var closingSubs = '(^!)';\n        var expected = '(w|)';\n        var w = cold('(a|)');\n        var expectedValues = { w: w };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should return a single Never window if source is Never', function () {\n        var source = cold('------');\n        var sourceSubs = '^     ';\n        var closings = cold('------');\n        var closingSubs = '^     ';\n        var expected = 'w-----';\n        var w = cold('------');\n        var expectedValues = { w: w };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should be able to split a never Observable into timely empty windows', function () {\n        var source = hot('^--------');\n        var sourceSubs = '^       !';\n        var closings = cold('--x--x--|');\n        var closingSubs = '^       !';\n        var expected = 'a-b--c--|';\n        var a = cold('--|      ');\n        var b = cold('---|   ');\n        var c = cold('---|');\n        var expectedValues = { a: a, b: b, c: c };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should emit an error-only window if outer is a simple throw-Observable', function () {\n        var source = cold('#');\n        var sourceSubs = '(^!)';\n        var closings = cold('--x--x--|');\n        var closingSubs = '(^!)';\n        var expected = '(w#)';\n        var w = cold('#');\n        var expectedValues = { w: w };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should handle basic case with window closings', function () {\n        var source = hot('-1-2-^3-4-5-6-7-8-9-|         ');\n        var subs = '^              !         ';\n        var closings = hot('---^---x---x---x---x---x---|');\n        var closingSubs = '^              !         ';\n        var expected = 'a---b---c---d--|         ';\n        var a = cold('-3-4|                    ');\n        var b = cold('-5-6|                ');\n        var c = cold('-7-8|            ');\n        var d = cold('-9-|         ');\n        var expectedValues = { a: a, b: b, c: c, d: d };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should handle basic case with window closings, but outer throws', function () {\n        var source = hot('-1-2-^3-4-5-6-7-8-9-#         ');\n        var subs = '^              !         ';\n        var closings = hot('---^---x---x---x---x---x---|');\n        var closingSubs = '^              !         ';\n        var expected = 'a---b---c---d--#         ';\n        var a = cold('-3-4|                    ');\n        var b = cold('-5-6|                ');\n        var c = cold('-7-8|            ');\n        var d = cold('-9-#         ');\n        var expectedValues = { a: a, b: b, c: c, d: d };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should stop emitting windows when outer is unsubscribed early', function () {\n        var source = hot('-1-2-^3-4-5-6-7-8-9-|         ');\n        var subs = '^       !                ';\n        var closings = hot('---^---x---x---x---x---x---|');\n        var closingSubs = '^       !                ';\n        var expected = 'a---b----                ';\n        var a = cold('-3-4|                    ');\n        var b = cold('-5-6                 ');\n        var unsub = '        !                ';\n        var expectedValues = { a: a, b: b };\n        var result = source.window(closings);\n        expectObservable(result, unsub).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = hot('-1-2-^3-4-5-6-7-8-9-|         ');\n        var subs = '^       !                ';\n        var closings = hot('---^---x---x---x---x---x---|');\n        var closingSubs = '^       !                ';\n        var expected = 'a---b----                ';\n        var a = cold('-3-4|                    ');\n        var b = cold('-5-6-                ');\n        var unsub = '        !                ';\n        var expectedValues = { a: a, b: b };\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .window(closings)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should make outer emit error when closing throws', function () {\n        var source = hot('-1-2-^3-4-5-6-7-8-9-#');\n        var subs = '^   !           ';\n        var closings = hot('---^---#           ');\n        var closingSubs = '^   !           ';\n        var expected = 'a---#           ';\n        var a = cold('-3-4#           ');\n        var expectedValues = { a: a };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n    it('should complete the resulting Observable when window closings completes', function () {\n        var source = hot('-1-2-^3-4-5-6-7-8-9-|');\n        var subs = '^           !   ';\n        var closings = hot('---^---x---x---|   ');\n        var closingSubs = '^           !   ';\n        var expected = 'a---b---c---|   ';\n        var a = cold('-3-4|           ');\n        var b = cold('-5-6|       ');\n        var c = cold('-7-8|   ');\n        var expectedValues = { a: a, b: b, c: c };\n        var result = source.window(closings);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(closings.subscriptions).toBe(closingSubs);\n    });\n});\n//# sourceMappingURL=window-spec.js.map"
  },
  {
    "__docId__": 3146,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2159",
    "testId": 2159,
    "memberof": "spec-js/operators/window-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/window-spec.js~describe2159",
    "access": null,
    "description": "Observable.prototype.window",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{window}"
      }
    ],
    "testTargets": [
      "window"
    ]
  },
  {
    "__docId__": 3147,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2160",
    "testId": 2160,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2160",
    "access": null,
    "description": "should return a single empty window if source is empty and closings are basic",
    "lineNumber": 21
  },
  {
    "__docId__": 3148,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2161",
    "testId": 2161,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2161",
    "access": null,
    "description": "should return a single empty window if source is empty and closing is empty",
    "lineNumber": 34
  },
  {
    "__docId__": 3149,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2162",
    "testId": 2162,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2162",
    "access": null,
    "description": "should return a single empty window if source is sync empty and closing is sync empty",
    "lineNumber": 47
  },
  {
    "__docId__": 3150,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2163",
    "testId": 2163,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2163",
    "access": null,
    "description": "should split a Just source into a single window identical to source, using a Never closing",
    "lineNumber": 58
  },
  {
    "__docId__": 3151,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2164",
    "testId": 2164,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2164",
    "access": null,
    "description": "should return a single Never window if source is Never",
    "lineNumber": 71
  },
  {
    "__docId__": 3152,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2165",
    "testId": 2165,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2165",
    "access": null,
    "description": "should be able to split a never Observable into timely empty windows",
    "lineNumber": 84
  },
  {
    "__docId__": 3153,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2166",
    "testId": 2166,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2166",
    "access": null,
    "description": "should emit an error-only window if outer is a simple throw-Observable",
    "lineNumber": 99
  },
  {
    "__docId__": 3154,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2167",
    "testId": 2167,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2167",
    "access": null,
    "description": "should handle basic case with window closings",
    "lineNumber": 112
  },
  {
    "__docId__": 3155,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2168",
    "testId": 2168,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2168",
    "access": null,
    "description": "should handle basic case with window closings, but outer throws",
    "lineNumber": 128
  },
  {
    "__docId__": 3156,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2169",
    "testId": 2169,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2169",
    "access": null,
    "description": "should stop emitting windows when outer is unsubscribed early",
    "lineNumber": 144
  },
  {
    "__docId__": 3157,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2170",
    "testId": 2170,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2170",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 159
  },
  {
    "__docId__": 3158,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2171",
    "testId": 2171,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2171",
    "access": null,
    "description": "should make outer emit error when closing throws",
    "lineNumber": 177
  },
  {
    "__docId__": 3159,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2172",
    "testId": 2172,
    "memberof": "spec-js/operators/window-spec.js~describe2159",
    "testDepth": 1,
    "longname": "spec-js/operators/window-spec.js~describe2159.it2172",
    "access": null,
    "description": "should complete the resulting Observable when window closings completes",
    "lineNumber": 190
  },
  {
    "__docId__": 3160,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/windowCount-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/windowCount-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {windowCount} */\ndescribe('Observable.prototype.windowCount', function () {\n    asDiagram('windowCount(3)')('should emit windows with count 3, no skip specified', function () {\n        var source = hot('---a---b---c---d---e---f---g---h---i---|');\n        var sourceSubs = '^                                      !';\n        var expected = 'x----------y-----------z-----------w---|';\n        var x = cold('---a---b---(c|)                         ');\n        var y = cold('----d---e---(f|)             ');\n        var z = cold('----g---h---(i|) ');\n        var w = cold('----|');\n        var expectedValues = { x: x, y: y, z: z, w: w };\n        var result = source.windowCount(3);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n    });\n    it('should emit windows with count 2 and skip 1', function () {\n        var source = hot('^-a--b--c--d--|');\n        var subs = '^             !';\n        var expected = 'u-v--x--y--z--|';\n        var u = cold('--a--(b|)      ');\n        var v = cold('---b--(c|)   ');\n        var x = cold('---c--(d|)');\n        var y = cold('---d--|');\n        var z = cold('---|');\n        var values = { u: u, v: v, x: x, y: y, z: z };\n        var result = source.windowCount(2, 1);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should emit windows with count 2, and skip unspecified', function () {\n        var source = hot('--a--b--c--d--e--f--|');\n        var subs = '^                   !';\n        var expected = 'x----y-----z-----w--|';\n        var x = cold('--a--(b|)            ');\n        var y = cold('---c--(d|)      ');\n        var z = cold('---e--(f|)');\n        var w = cold('---|');\n        var values = { x: x, y: y, z: z, w: w };\n        var result = source.windowCount(2);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return empty if source is empty', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '(w|)';\n        var w = cold('|');\n        var values = { w: w };\n        var result = source.windowCount(2, 1);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return Never if source if Never', function () {\n        var source = cold('-');\n        var subs = '^';\n        var expected = 'w';\n        var w = cold('-');\n        var expectedValues = { w: w };\n        var result = source.windowCount(2, 1);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should propagate error from a just-throw source', function () {\n        var source = cold('#');\n        var subs = '(^!)';\n        var expected = '(w#)';\n        var w = cold('#');\n        var expectedValues = { w: w };\n        var result = source.windowCount(2, 1);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should raise error if source raises error', function () {\n        var source = hot('--a--b--c--d--e--f--#');\n        var subs = '^                   !';\n        var expected = 'u-v--w--x--y--z--q--#';\n        var u = cold('--a--b--(c|)         ');\n        var v = cold('---b--c--(d|)      ');\n        var w = cold('---c--d--(e|)   ');\n        var x = cold('---d--e--(f|)');\n        var y = cold('---e--f--#');\n        var z = cold('---f--#');\n        var q = cold('---#');\n        var values = { u: u, v: v, w: w, x: x, y: y, z: z, q: q };\n        var result = source.windowCount(3, 1);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should dispose of inner windows once outer is unsubscribed early', function () {\n        var source = hot('^-a--b--c--d--|');\n        var subs = '^        !     ';\n        var expected = 'w-x--y--z-     ';\n        var w = cold('--a--(b|)      ');\n        var x = cold('---b--(c|)   ');\n        var y = cold('---c-     ');\n        var z = cold('--     ');\n        var unsub = '         !     ';\n        var values = { w: w, x: x, y: y, z: z };\n        var result = source.windowCount(2, 1);\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = hot('^-a--b--c--d--|');\n        var subs = '^        !     ';\n        var expected = 'w-x--y--z-     ';\n        var w = cold('--a--(b|)      ');\n        var x = cold('---b--(c|)   ');\n        var y = cold('---c-     ');\n        var z = cold('--     ');\n        var unsub = '         !     ';\n        var values = { w: w, x: x, y: y, z: z };\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .windowCount(2, 1)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n});\n//# sourceMappingURL=windowCount-spec.js.map"
  },
  {
    "__docId__": 3161,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2173",
    "testId": 2173,
    "memberof": "spec-js/operators/windowCount-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/windowCount-spec.js~describe2173",
    "access": null,
    "description": "Observable.prototype.windowCount",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{windowCount}"
      }
    ],
    "testTargets": [
      "windowCount"
    ]
  },
  {
    "__docId__": 3162,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2174",
    "testId": 2174,
    "memberof": "spec-js/operators/windowCount-spec.js~describe2173",
    "testDepth": 1,
    "longname": "spec-js/operators/windowCount-spec.js~describe2173.it2174",
    "access": null,
    "description": "should emit windows with count 2 and skip 1",
    "lineNumber": 19
  },
  {
    "__docId__": 3163,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2175",
    "testId": 2175,
    "memberof": "spec-js/operators/windowCount-spec.js~describe2173",
    "testDepth": 1,
    "longname": "spec-js/operators/windowCount-spec.js~describe2173.it2175",
    "access": null,
    "description": "should emit windows with count 2, and skip unspecified",
    "lineNumber": 33
  },
  {
    "__docId__": 3164,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2176",
    "testId": 2176,
    "memberof": "spec-js/operators/windowCount-spec.js~describe2173",
    "testDepth": 1,
    "longname": "spec-js/operators/windowCount-spec.js~describe2173.it2176",
    "access": null,
    "description": "should return empty if source is empty",
    "lineNumber": 46
  },
  {
    "__docId__": 3165,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2177",
    "testId": 2177,
    "memberof": "spec-js/operators/windowCount-spec.js~describe2173",
    "testDepth": 1,
    "longname": "spec-js/operators/windowCount-spec.js~describe2173.it2177",
    "access": null,
    "description": "should return Never if source if Never",
    "lineNumber": 56
  },
  {
    "__docId__": 3166,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2178",
    "testId": 2178,
    "memberof": "spec-js/operators/windowCount-spec.js~describe2173",
    "testDepth": 1,
    "longname": "spec-js/operators/windowCount-spec.js~describe2173.it2178",
    "access": null,
    "description": "should propagate error from a just-throw source",
    "lineNumber": 66
  },
  {
    "__docId__": 3167,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2179",
    "testId": 2179,
    "memberof": "spec-js/operators/windowCount-spec.js~describe2173",
    "testDepth": 1,
    "longname": "spec-js/operators/windowCount-spec.js~describe2173.it2179",
    "access": null,
    "description": "should raise error if source raises error",
    "lineNumber": 76
  },
  {
    "__docId__": 3168,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2180",
    "testId": 2180,
    "memberof": "spec-js/operators/windowCount-spec.js~describe2173",
    "testDepth": 1,
    "longname": "spec-js/operators/windowCount-spec.js~describe2173.it2180",
    "access": null,
    "description": "should dispose of inner windows once outer is unsubscribed early",
    "lineNumber": 92
  },
  {
    "__docId__": 3169,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2181",
    "testId": 2181,
    "memberof": "spec-js/operators/windowCount-spec.js~describe2173",
    "testDepth": 1,
    "longname": "spec-js/operators/windowCount-spec.js~describe2173.it2181",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 106
  },
  {
    "__docId__": 3170,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/windowTime-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/windowTime-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {windowTime} */\ndescribe('Observable.prototype.windowTime', function () {\n    asDiagram('windowTime(50, 100)')('should emit windows given windowTimeSpan ' +\n        'and windowCreationInterval', function () {\n        var source = hot('--1--2--^-a--b--c--d--e---f--g--h-|');\n        var subs = '^                         !';\n        //  100 frames            0---------1---------2-----|\n        //  50                     ----|\n        //  50                               ----|\n        //  50                                         ----|\n        var expected = 'x---------y---------z-----|';\n        var x = cold('--a--(b|)                  ');\n        var y = cold('-d--e|           ');\n        var z = cold('-g--h| ');\n        var values = { x: x, y: y, z: z };\n        var result = source.windowTime(50, 100, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should emit windows given windowTimeSpan', function () {\n        var source = hot('--1--2--^--a--b--c--d--e--f--g--h--|');\n        var subs = '^                          !';\n        var timeSpan = time('----------|');\n        //  100 frames            0---------1---------2------|\n        var expected = 'x---------y---------z------|';\n        var x = cold('---a--b--c|                 ');\n        var y = cold('--d--e--f-|       ');\n        var z = cold('-g--h--|');\n        var values = { x: x, y: y, z: z };\n        var result = source.windowTime(timeSpan, null, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should emit windows given windowTimeSpan and windowCreationInterval', function () {\n        var source = hot('--1--2--^--a--b--c--d--e--f--g--h--|');\n        var subs = '^                          !';\n        var timeSpan = time('-----|');\n        var interval = time('----------|');\n        //  100 frames            0---------1---------2------|\n        //  50                     ----|\n        //  50                               ----|\n        //  50                                         ----|\n        var expected = 'x---------y---------z------|';\n        var x = cold('---a-|                      ');\n        var y = cold('--d--(e|)         ');\n        var z = cold('-g--h|  ');\n        var values = { x: x, y: y, z: z };\n        var result = source.windowTime(timeSpan, interval, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should return a single empty window if source is empty', function () {\n        var source = cold('|');\n        var subs = '(^!)';\n        var expected = '(w|)';\n        var w = cold('|');\n        var expectedValues = { w: w };\n        var timeSpan = time('-----|');\n        var interval = time('----------|');\n        var result = source.windowTime(timeSpan, interval, rxTestScheduler);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should split a Just source into a single window identical to source', function () {\n        var source = cold('(a|)');\n        var subs = '(^!)';\n        var expected = '(w|)';\n        var w = cold('(a|)');\n        var expectedValues = { w: w };\n        var timeSpan = time('-----|');\n        var interval = time('----------|');\n        var result = source.windowTime(timeSpan, interval, rxTestScheduler);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should be able to split a never Observable into timely empty windows', function () {\n        var source = hot('^----------');\n        var subs = '^         !';\n        var expected = 'a--b--c--d-';\n        var timeSpan = time('---|');\n        var interval = time('---|');\n        var a = cold('---|       ');\n        var b = cold('---|    ');\n        var c = cold('---| ');\n        var d = cold('--');\n        var unsub = '          !';\n        var expectedValues = { a: a, b: b, c: c, d: d };\n        var result = source.windowTime(timeSpan, interval, rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should emit an error-only window if outer is a simple throw-Observable', function () {\n        var source = cold('#');\n        var subs = '(^!)';\n        var expected = '(w#)';\n        var w = cold('#');\n        var expectedValues = { w: w };\n        var timeSpan = time('-----|');\n        var interval = time('----------|');\n        var result = source.windowTime(timeSpan, interval, rxTestScheduler);\n        expectObservable(result).toBe(expected, expectedValues);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should handle source Observable which eventually emits an error', function () {\n        var source = hot('--1--2--^--a--b--c--d--e--f--g--h--#');\n        var subs = '^                          !';\n        var timeSpan = time('-----|');\n        var interval = time('----------|');\n        //  100 frames            0---------1---------2------|\n        //  50                     ----|\n        //  50                               ----|\n        //  50                                         ----|\n        var expected = 'x---------y---------z------#';\n        var x = cold('---a-|                      ');\n        var y = cold('--d--(e|)         ');\n        var z = cold('-g--h|  ');\n        var values = { x: x, y: y, z: z };\n        var result = source.windowTime(timeSpan, interval, rxTestScheduler);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should emit windows given windowTimeSpan and windowCreationInterval, ' +\n        'but outer is unsubscribed early', function () {\n        var source = hot('--1--2--^--a--b--c--d--e--f--g--h--|');\n        var subs = '^          !                ';\n        var timeSpan = time('-----|');\n        var interval = time('----------|');\n        //  100 frames            0---------1---------2------|\n        //  50                     ----|\n        //  50                               ----|\n        //  50                                         ----|\n        var expected = 'x---------y-                ';\n        var x = cold('---a-|                      ');\n        var y = cold('--                ');\n        var unsub = '           !                ';\n        var values = { x: x, y: y };\n        var result = source.windowTime(timeSpan, interval, rxTestScheduler);\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var source = hot('--1--2--^--a--b--c--d--e--f--g--h--|');\n        var sourcesubs = '^             !             ';\n        var timeSpan = time('-----|');\n        var interval = time('----------|');\n        //  100 frames            0---------1---------2------|\n        //  50                     ----|\n        //  50                               ----|\n        //  50                                         ----|\n        var expected = 'x---------y----             ';\n        var x = cold('---a-|                      ');\n        var y = cold('--d--             ');\n        var unsub = '              !             ';\n        var values = { x: x, y: y };\n        var result = source\n            .mergeMap(function (x) { return Observable.of(x); })\n            .windowTime(timeSpan, interval, rxTestScheduler)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(sourcesubs);\n    });\n});\n//# sourceMappingURL=windowTime-spec.js.map"
  },
  {
    "__docId__": 3171,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2182",
    "testId": 2182,
    "memberof": "spec-js/operators/windowTime-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182",
    "access": null,
    "description": "Observable.prototype.windowTime",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{windowTime}"
      }
    ],
    "testTargets": [
      "windowTime"
    ]
  },
  {
    "__docId__": 3172,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2183",
    "testId": 2183,
    "memberof": "spec-js/operators/windowTime-spec.js~describe2182",
    "testDepth": 1,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182.it2183",
    "access": null,
    "description": "should emit windows given windowTimeSpan",
    "lineNumber": 23
  },
  {
    "__docId__": 3173,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2184",
    "testId": 2184,
    "memberof": "spec-js/operators/windowTime-spec.js~describe2182",
    "testDepth": 1,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182.it2184",
    "access": null,
    "description": "should emit windows given windowTimeSpan and windowCreationInterval",
    "lineNumber": 37
  },
  {
    "__docId__": 3174,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2185",
    "testId": 2185,
    "memberof": "spec-js/operators/windowTime-spec.js~describe2182",
    "testDepth": 1,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182.it2185",
    "access": null,
    "description": "should return a single empty window if source is empty",
    "lineNumber": 55
  },
  {
    "__docId__": 3175,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2186",
    "testId": 2186,
    "memberof": "spec-js/operators/windowTime-spec.js~describe2182",
    "testDepth": 1,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182.it2186",
    "access": null,
    "description": "should split a Just source into a single window identical to source",
    "lineNumber": 67
  },
  {
    "__docId__": 3176,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2187",
    "testId": 2187,
    "memberof": "spec-js/operators/windowTime-spec.js~describe2182",
    "testDepth": 1,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182.it2187",
    "access": null,
    "description": "should be able to split a never Observable into timely empty windows",
    "lineNumber": 79
  },
  {
    "__docId__": 3177,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2188",
    "testId": 2188,
    "memberof": "spec-js/operators/windowTime-spec.js~describe2182",
    "testDepth": 1,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182.it2188",
    "access": null,
    "description": "should emit an error-only window if outer is a simple throw-Observable",
    "lineNumber": 95
  },
  {
    "__docId__": 3178,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2189",
    "testId": 2189,
    "memberof": "spec-js/operators/windowTime-spec.js~describe2182",
    "testDepth": 1,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182.it2189",
    "access": null,
    "description": "should handle source Observable which eventually emits an error",
    "lineNumber": 107
  },
  {
    "__docId__": 3179,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2190",
    "testId": 2190,
    "memberof": "spec-js/operators/windowTime-spec.js~describe2182",
    "testDepth": 1,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182.it2190",
    "access": null,
    "lineNumber": 125
  },
  {
    "__docId__": 3180,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2191",
    "testId": 2191,
    "memberof": "spec-js/operators/windowTime-spec.js~describe2182",
    "testDepth": 1,
    "longname": "spec-js/operators/windowTime-spec.js~describe2182.it2191",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 144
  },
  {
    "__docId__": 3181,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/windowToggle-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/windowToggle-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {windowToggle} */\ndescribe('Observable.prototype.windowToggle', function () {\n    asDiagram('windowToggle')('should emit windows governed by openings and closings', function () {\n        var source = hot('--1--2--^-a--b--c--d--e--f--g--h-|');\n        var subs = '^                        !';\n        var e2 = cold('----w--------w--------w--|');\n        var e2subs = '^                        !';\n        var e3 = cold('-----|                ');\n        //                                     -----(c|)\n        //                                              -----(c|)\n        var e3subs = ['    ^    !                ',\n            '             ^    !       ',\n            '                      ^  !'];\n        var expected = '----x--------y--------z--|';\n        var x = cold('-b--c|                ');\n        var y = cold('-e--f|       ');\n        var z = cold('-h-|');\n        var values = { x: x, y: y, z: z };\n        var result = source.windowToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should emit windows that are opened by an observable from the first argument ' +\n        'and closed by an observable returned by the function in the second argument', function () {\n        var e1 = hot('--1--2--^--a--b--c--d--e--f--g--h--|');\n        var e1subs = '^                          !';\n        var e2 = cold('--------x-------x-------x--|');\n        var e2subs = '^                          !';\n        var e3 = cold('----------(x|)      ');\n        //                                    ----------(x|)\n        //                                            ----------(x|)\n        var e3subs = ['        ^         !         ',\n            '                ^         ! ',\n            '                        ^  !'];\n        var expected = '--------x-------y-------z--|';\n        var x = cold('-c--d--e--(f|)      ');\n        var y = cold('--f--g--h-| ');\n        var z = cold('---|');\n        var values = { x: x, y: y, z: z };\n        var source = e1.windowToggle(e2, function (value) {\n            chai_1.expect(value).to.equal('x');\n            return e3;\n        });\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should emit windows using constying cold closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var e1subs = '^                                  !      ';\n        var e2 = cold('--x-----------y--------z---|              ');\n        var e2subs = '^                          !              ';\n        var close = [\n            cold('---------------s--|                     '),\n            cold('----(s|)                    '),\n            cold('---------------(s|)')];\n        var closeSubs = ['  ^              !                        ',\n            '              ^   !                       ',\n            '                       ^           !      '];\n        var expected = '--x-----------y--------z-----------|      ';\n        var x = cold('--b---c---d---e|                        ');\n        var y = cold('--e-|                       ');\n        var z = cold('-g---h------|      ');\n        var values = { x: x, y: y, z: z };\n        var i = 0;\n        var result = e1.windowToggle(e2, function () { return close[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(close[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(close[1].subscriptions).toBe(closeSubs[1]);\n        expectSubscriptions(close[2].subscriptions).toBe(closeSubs[2]);\n    });\n    it('should emit windows using constying hot closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|   ');\n        var e1subs = '^                                  !   ';\n        var e2 = cold('--x-----------y--------z---|           ');\n        var e2subs = '^                          !           ';\n        var closings = [\n            { obs: hot('-1--^----------------s-|                   '),\n                sub: '  ^              !                     ' },\n            { obs: hot('-----3----4-------(s|)                 '),\n                sub: '              ^   !                    ' },\n            { obs: hot('-------3----4-------5----------------s|'),\n                sub: '                       ^           !   ' }]; // eslint-disable-line key-spacing\n        var expected = '--x-----------y--------z-----------|   ';\n        var x = cold('--b---c---d---e|                     ');\n        var y = cold('--e-|                    ');\n        var z = cold('-g---h------|   ');\n        var values = { x: x, y: y, z: z };\n        var i = 0;\n        var result = e1.windowToggle(e2, function () { return closings[i++].obs; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(closings[0].obs.subscriptions).toBe(closings[0].sub);\n        expectSubscriptions(closings[1].obs.subscriptions).toBe(closings[1].sub);\n        expectSubscriptions(closings[2].obs.subscriptions).toBe(closings[2].sub);\n    });\n    it('should emit windows using constying empty delayed closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|   ');\n        var e1subs = '^                                  !   ';\n        var e2 = cold('--x-----------y--------z---|           ');\n        var e2subs = '^                          !           ';\n        var close = [cold('---------------|                     '),\n            cold('----|                    '),\n            cold('---------------|')];\n        var expected = '--x-----------y--------z-----------|   ';\n        var x = cold('--b---c---d---e|                     ');\n        var y = cold('--e-|                    ');\n        var z = cold('-g---h------|   ');\n        var values = { x: x, y: y, z: z };\n        var i = 0;\n        var result = e1.windowToggle(e2, function () { return close[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit windows using constying cold closings, outer unsubscribed early', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var e1subs = '^                !                        ';\n        var e2 = cold('--x-----------y--------z---|              ');\n        var e2subs = '^                !                        ';\n        var close = [cold('-------------s---|                     '),\n            cold('-----(s|)                   '),\n            cold('---------------(s|)')];\n        var closeSubs = ['  ^            !                          ',\n            '              ^  !                        '];\n        var expected = '--x-----------y---                        ';\n        var x = cold('--b---c---d--|                          ');\n        var y = cold('--e-                        ');\n        var unsub = '                 !                        ';\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1.windowToggle(e2, function () { return close[i++]; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(close[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(close[1].subscriptions).toBe(closeSubs[1]);\n        expectSubscriptions(close[2].subscriptions).toBe([]);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var e1subs = '^              !                          ';\n        var e2 = cold('--x-----------y--------z---|              ');\n        var e2subs = '^              !                          ';\n        var close = [cold('---------------s--|                     '),\n            cold('----(s|)                    '),\n            cold('---------------(s|)')];\n        var closeSubs = ['  ^            !                          ',\n            '              ^!                          '];\n        var expected = '--x-----------y-                          ';\n        var x = cold('--b---c---d---                          ');\n        var y = cold('--                          ');\n        var unsub = '               !                          ';\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .windowToggle(e2, function () { return close[i++]; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(close[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(close[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should dispose window Subjects if the outer is unsubscribed early', function () {\n        var source = hot('--a--b--c--d--e--f--g--h--|');\n        var open = cold('o-------------------------|');\n        var sourceSubs = '^        !                 ';\n        var expected = 'x---------                 ';\n        var x = cold('--a--b--c-                 ');\n        var unsub = '         !                 ';\n        var late = time('---------------|           ');\n        var values = { x: x };\n        var window;\n        var result = source\n            .windowToggle(open, function () { return Observable.never(); })\n            .do(function (w) { window = w; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(source.subscriptions).toBe(sourceSubs);\n        rxTestScheduler.schedule(function () {\n            chai_1.expect(function () {\n                window.subscribe();\n            }).to.throw(Rx.ObjectUnsubscribedError);\n        }, late);\n    });\n    it('should propagate error thrown from closingSelector', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|      ');\n        var e1subs = '^             !                           ';\n        var e2 = cold('--x-----------y--------z---|              ');\n        var e2subs = '^             !                           ';\n        var close = [cold('---------------s--|                     '),\n            cold('----(s|)                    '),\n            cold('---------------(s|)')];\n        var expected = '--x-----------#----                       ';\n        var x = cold('--b---c---d-#                           ');\n        var values = { x: x };\n        var i = 0;\n        var result = e1.windowToggle(e2, function () {\n            if (i === 1) {\n                throw 'error';\n            }\n            return close[i++];\n        });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should propagate error emitted from a closing', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '^             !                     ';\n        var e2 = cold('--x-----------y--------z---|        ');\n        var e2subs = '^             !                     ';\n        var close = [cold('---------------s--|               '),\n            cold('#                     ')];\n        var expected = '--x-----------(y#)                  ';\n        var x = cold('--b---c---d-#                     ');\n        var y = cold('#                     ');\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1.windowToggle(e2, function () { return close[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should propagate error emitted late from a closing', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '^                  !                ';\n        var e2 = cold('--x-----------y--------z---|        ');\n        var e2subs = '^                  !                ';\n        var close = [cold('---------------s--|               '),\n            cold('-----#                ')];\n        var expected = '--x-----------y----#                ';\n        var x = cold('--b---c---d---e|                  ');\n        var y = cold('--e--#                ');\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1.windowToggle(e2, function () { return close[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle errors', function () {\n        var e1 = hot('--a--^---b---c---d---e--#                ');\n        var e1subs = '^                  !                ';\n        var e2 = cold('--x-----------y--------z---|        ');\n        var e2subs = '^                  !                ';\n        var close = [cold('---------------s--|               '),\n            cold('-------s|             ')];\n        var expected = '--x-----------y----#                ';\n        var x = cold('--b---c---d---e|                  ');\n        var y = cold('--e--#                ');\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1.windowToggle(e2, function () { return close[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle empty source', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('--o-----|');\n        var e2subs = '(^!)';\n        var e3 = cold('-----c--|');\n        var expected = '|';\n        var result = e1.windowToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var e2 = cold('--o-----|');\n        var e2subs = '(^!)';\n        var e3 = cold('-----c--|');\n        var expected = '#';\n        var result = e1.windowToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle never', function () {\n        var e1 = hot('-');\n        var e1subs = '^                                           !';\n        var e2 = cold('--o-----o------o-----o---o-----|             ');\n        var e2subs = '^                              !             ';\n        var e3 = cold('--c-|                                      ');\n        var expected = '--u-----v------x-----y---z-------------------';\n        var u = cold('--|                                        ');\n        var v = cold('--|                                  ');\n        var x = cold('--|                           ');\n        var y = cold('--|                     ');\n        var z = cold('--|                 ');\n        var unsub = '                                            !';\n        var values = { u: u, v: v, x: x, y: y, z: z };\n        var result = e1.windowToggle(e2, function () { return e3; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle a never opening Observable', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '^                                  !';\n        var e2 = cold('-');\n        var e2subs = '^                                  !';\n        var e3 = cold('--c-|                               ');\n        var expected = '-----------------------------------|';\n        var result = e1.windowToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle a never closing Observable', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '^                                  !';\n        var e2 = cold('---o---------------o-----------|    ');\n        var e2subs = '^                              !    ';\n        var e3 = cold('-');\n        var expected = '---x---------------y---------------|';\n        var x = cold('-b---c---d---e---f---g---h------|');\n        var y = cold('-f---g---h------|');\n        var values = { x: x, y: y };\n        var result = e1.windowToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle opening Observable that just throws', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '(^!)';\n        var e2 = cold('#');\n        var e2subs = '(^!)';\n        var e3 = cold('--c-|');\n        var subs = '(^!)';\n        var expected = '#';\n        var result = e1.windowToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle empty closing observable', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '^                                  !';\n        var e2 = cold('---o---------------o-----------|    ');\n        var e2subs = '^                              !    ';\n        var e3 = Observable.empty();\n        var expected = '---x---------------y---------------|';\n        var x = cold('|');\n        var y = cold('|');\n        var values = { x: x, y: y };\n        var result = e1.windowToggle(e2, function () { return e3; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n});\n//# sourceMappingURL=windowToggle-spec.js.map"
  },
  {
    "__docId__": 3182,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2192",
    "testId": 2192,
    "memberof": "spec-js/operators/windowToggle-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192",
    "access": null,
    "description": "Observable.prototype.windowToggle",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{windowToggle}"
      }
    ],
    "testTargets": [
      "windowToggle"
    ]
  },
  {
    "__docId__": 3183,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2193",
    "testId": 2193,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2193",
    "access": null,
    "lineNumber": 29
  },
  {
    "__docId__": 3184,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2194",
    "testId": 2194,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2194",
    "access": null,
    "description": "should emit windows using constying cold closings",
    "lineNumber": 55
  },
  {
    "__docId__": 3185,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2195",
    "testId": 2195,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2195",
    "access": null,
    "description": "should emit windows using constying hot closings",
    "lineNumber": 81
  },
  {
    "__docId__": 3186,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2196",
    "testId": 2196,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2196",
    "access": null,
    "description": "should emit windows using constying empty delayed closings",
    "lineNumber": 107
  },
  {
    "__docId__": 3187,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2197",
    "testId": 2197,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2197",
    "access": null,
    "description": "should emit windows using constying cold closings, outer unsubscribed early",
    "lineNumber": 126
  },
  {
    "__docId__": 3188,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2198",
    "testId": 2198,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2198",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 150
  },
  {
    "__docId__": 3189,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2199",
    "testId": 2199,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2199",
    "access": null,
    "description": "should dispose window Subjects if the outer is unsubscribed early",
    "lineNumber": 176
  },
  {
    "__docId__": 3190,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2200",
    "testId": 2200,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2200",
    "access": null,
    "description": "should propagate error thrown from closingSelector",
    "lineNumber": 197
  },
  {
    "__docId__": 3191,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2201",
    "testId": 2201,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2201",
    "access": null,
    "description": "should propagate error emitted from a closing",
    "lineNumber": 219
  },
  {
    "__docId__": 3192,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2202",
    "testId": 2202,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2202",
    "access": null,
    "description": "should propagate error emitted late from a closing",
    "lineNumber": 236
  },
  {
    "__docId__": 3193,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2203",
    "testId": 2203,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2203",
    "access": null,
    "description": "should handle errors",
    "lineNumber": 253
  },
  {
    "__docId__": 3194,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2204",
    "testId": 2204,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2204",
    "access": null,
    "description": "should handle empty source",
    "lineNumber": 270
  },
  {
    "__docId__": 3195,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2205",
    "testId": 2205,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2205",
    "access": null,
    "description": "should handle throw",
    "lineNumber": 282
  },
  {
    "__docId__": 3196,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2206",
    "testId": 2206,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2206",
    "access": null,
    "description": "should handle never",
    "lineNumber": 294
  },
  {
    "__docId__": 3197,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2207",
    "testId": 2207,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2207",
    "access": null,
    "description": "should handle a never opening Observable",
    "lineNumber": 313
  },
  {
    "__docId__": 3198,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2208",
    "testId": 2208,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2208",
    "access": null,
    "description": "should handle a never closing Observable",
    "lineNumber": 325
  },
  {
    "__docId__": 3199,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2209",
    "testId": 2209,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2209",
    "access": null,
    "description": "should handle opening Observable that just throws",
    "lineNumber": 340
  },
  {
    "__docId__": 3200,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2210",
    "testId": 2210,
    "memberof": "spec-js/operators/windowToggle-spec.js~describe2192",
    "testDepth": 1,
    "longname": "spec-js/operators/windowToggle-spec.js~describe2192.it2210",
    "access": null,
    "description": "should handle empty closing observable",
    "lineNumber": 354
  },
  {
    "__docId__": 3201,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/windowWhen-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/windowWhen-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\n/** @test {windowWhen} */\ndescribe('Observable.prototype.windowWhen', function () {\n    asDiagram('windowWhen')('should emit windows that close and reopen', function () {\n        var e1 = hot('--a--^--b--c--d--e--f--g--h--i--|');\n        var e1subs = '^                          !';\n        var e2 = cold('-----------|                ');\n        var e2subs = ['^          !                ',\n            '           ^          !     ',\n            '                      ^    !'];\n        var a = cold('---b--c--d-|                ');\n        var b = cold('-e--f--g--h|     ');\n        var c = cold('--i--|');\n        var expected = 'a----------b----------c----|';\n        var values = { a: a, b: b, c: c };\n        var source = e1.windowWhen(function () { return e2; });\n        expectObservable(source).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should emit windows using constying cold closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|     ');\n        var e1subs = '^                                  !     ';\n        var closings = [\n            cold('-----------------s--|                    '),\n            cold('-----(s|)               '),\n            cold('---------------(s|)')];\n        var closeSubs = ['^                !                       ',\n            '                 ^    !                  ',\n            '                      ^            !     '];\n        var expected = 'x----------------y----z------------|     ';\n        var x = cold('----b---c---d---e|                       ');\n        var y = cold('---f-|                  ');\n        var z = cold('--g---h------|     ');\n        var values = { x: x, y: y, z: z };\n        var i = 0;\n        var result = e1.windowWhen(function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n        expectSubscriptions(closings[2].subscriptions).toBe(closeSubs[2]);\n    });\n    it('should emit windows using constying hot closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|   ');\n        var subs = '^                                  !   ';\n        var closings = [\n            { obs: hot('-1--^----------------s-|                   '),\n                sub: '^                !                     ' },\n            { obs: hot('-----3----4-----------(s|)             '),\n                sub: '                 ^    !                ' },\n            { obs: hot('-------3----4-------5----------------s|'),\n                sub: '                      ^            !   ' }]; // eslint-disable-line key-spacing\n        var expected = 'x----------------y----z------------|   ';\n        var x = cold('----b---c---d---e|                     ');\n        var y = cold('---f-|                ');\n        var z = cold('--g---h------|   ');\n        var values = { x: x, y: y, z: z };\n        var i = 0;\n        var result = e1.windowWhen(function () { return closings[i++].obs; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(subs);\n        expectSubscriptions(closings[0].obs.subscriptions).toBe(closings[0].sub);\n        expectSubscriptions(closings[1].obs.subscriptions).toBe(closings[1].sub);\n        expectSubscriptions(closings[2].obs.subscriptions).toBe(closings[2].sub);\n    });\n    it('should emit windows using constying empty delayed closings', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|  ');\n        var e1subs = '^                                  !  ';\n        var closings = [\n            cold('-----------------|                    '),\n            cold('-----|               '),\n            cold('---------------|')];\n        var closeSubs = ['^                !                    ',\n            '                 ^    !               ',\n            '                      ^            !  '];\n        var expected = 'x----------------y----z------------|  ';\n        var x = cold('----b---c---d---e|                    ');\n        var y = cold('---f-|               ');\n        var z = cold('--g---h------|  ');\n        var values = { x: x, y: y, z: z };\n        var i = 0;\n        var result = e1.windowWhen(function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n        expectSubscriptions(closings[2].subscriptions).toBe(closeSubs[2]);\n    });\n    it('should emit windows using constying cold closings, outer unsubscribed early', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|     ');\n        var e1subs = '^                    !                   ';\n        var closings = [\n            cold('-----------------s--|                    '),\n            cold('---------(s|)           ')];\n        var closeSubs = ['^                !                       ',\n            '                 ^   !                   '];\n        var expected = 'x----------------y----                   ';\n        var x = cold('----b---c---d---e|                       ');\n        var y = cold('---f-                   ');\n        var unsub = '                     !                   ';\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1.windowWhen(function () { return closings[i++]; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|     ');\n        var e1subs = '^                    !                   ';\n        var closings = [\n            cold('-----------------s--|                    '),\n            cold('---------(s|)           ')];\n        var closeSubs = ['^                !                       ',\n            '                 ^   !                   '];\n        var expected = 'x----------------y----                   ';\n        var x = cold('----b---c---d---e|                       ');\n        var y = cold('---f-                   ');\n        var unsub = '                     !                   ';\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .windowWhen(function () { return closings[i++]; })\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should propagate error thrown from closingSelector', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|     ');\n        var e1subs = '^                !                       ';\n        var closings = [\n            cold('-----------------s--|                    '),\n            cold('-----(s|)               '),\n            cold('---------------(s|)')];\n        var closeSubs = ['^                !                       '];\n        var expected = 'x----------------(y#)                    ';\n        var x = cold('----b---c---d---e|                       ');\n        var y = cold('#                       ');\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1.windowWhen(function () {\n            if (i === 1) {\n                throw 'error';\n            }\n            return closings[i++];\n        });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n    });\n    it('should propagate error emitted from a closing', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|     ');\n        var e1subs = '^                !                       ';\n        var closings = [\n            cold('-----------------s--|                    '),\n            cold('#                       ')];\n        var closeSubs = ['^                !                       ',\n            '                 (^!)                    '];\n        var expected = 'x----------------(y#)                    ';\n        var x = cold('----b---c---d---e|                       ');\n        var y = cold('#                       ');\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1.windowWhen(function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should propagate error emitted late from a closing', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|     ');\n        var e1subs = '^                     !                  ';\n        var closings = [\n            cold('-----------------s--|                    '),\n            cold('-----#                  ')];\n        var closeSubs = ['^                !                       ',\n            '                 ^    !                  '];\n        var expected = 'x----------------y----#                  ';\n        var x = cold('----b---c---d---e|                       ');\n        var y = cold('---f-#                  ');\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1.windowWhen(function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should propagate errors emitted from the source', function () {\n        var e1 = hot('--a--^---b---c---d---e---f-#                  ');\n        var e1subs = '^                     !                  ';\n        var closings = [\n            cold('-----------------s--|                    '),\n            cold('-------(s|)             ')];\n        var closeSubs = ['^                !                       ',\n            '                 ^    !                  '];\n        var expected = 'x----------------y----#                  ';\n        var x = cold('----b---c---d---e|                       ');\n        var y = cold('---f-#                  ');\n        var values = { x: x, y: y };\n        var i = 0;\n        var result = e1.windowWhen(function () { return closings[i++]; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(closings[0].subscriptions).toBe(closeSubs[0]);\n        expectSubscriptions(closings[1].subscriptions).toBe(closeSubs[1]);\n    });\n    it('should handle empty source', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = cold('-----c--|');\n        var e2subs = '(^!)';\n        var expected = '(w|)';\n        var values = { w: cold('|') };\n        var result = e1.windowWhen(function () { return e2; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle a never source', function () {\n        var e1 = cold('-');\n        var unsub = '                 !';\n        var e1subs = '^                !';\n        var e2 = cold('-----c--|');\n        //                   -----c--|\n        //                        -----c--|\n        //                             -----c--|\n        var e2subs = ['^    !            ',\n            '     ^    !       ',\n            '          ^    !  ',\n            '               ^ !'];\n        var win = cold('-----|');\n        var d = cold('---');\n        var expected = 'a----b----c----d--';\n        var values = { a: win, b: win, c: win, d: d };\n        var result = e1.windowWhen(function () { return e2; });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var e2 = cold('-----c--|');\n        var e2subs = '(^!)';\n        var win = cold('#');\n        var expected = '(w#)';\n        var values = { w: win };\n        var result = e1.windowWhen(function () { return e2; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle a never closing Observable', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '^                                  !';\n        var e2 = cold('-');\n        var e2subs = '^                                  !';\n        var expected = 'x----------------------------------|';\n        var x = cold('----b---c---d---e---f---g---h------|');\n        var values = { x: x };\n        var result = e1.windowWhen(function () { return e2; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n    it('should handle a throw closing Observable', function () {\n        var e1 = hot('--a--^---b---c---d---e---f---g---h------|');\n        var e1subs = '(^!)                                ';\n        var e2 = cold('#');\n        var e2subs = '(^!)                                ';\n        var expected = '(x#)                                ';\n        var x = cold('#                                   ');\n        var values = { x: x };\n        var result = e1.windowWhen(function () { return e2; });\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n    });\n});\n//# sourceMappingURL=windowWhen-spec.js.map"
  },
  {
    "__docId__": 3202,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2211",
    "testId": 2211,
    "memberof": "spec-js/operators/windowWhen-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211",
    "access": null,
    "description": "Observable.prototype.windowWhen",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{windowWhen}"
      }
    ],
    "testTargets": [
      "windowWhen"
    ]
  },
  {
    "__docId__": 3203,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2212",
    "testId": 2212,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2212",
    "access": null,
    "description": "should emit windows using constying cold closings",
    "lineNumber": 23
  },
  {
    "__docId__": 3204,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2213",
    "testId": 2213,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2213",
    "access": null,
    "description": "should emit windows using constying hot closings",
    "lineNumber": 46
  },
  {
    "__docId__": 3205,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2214",
    "testId": 2214,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2214",
    "access": null,
    "description": "should emit windows using constying empty delayed closings",
    "lineNumber": 69
  },
  {
    "__docId__": 3206,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2215",
    "testId": 2215,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2215",
    "access": null,
    "description": "should emit windows using constying cold closings, outer unsubscribed early",
    "lineNumber": 92
  },
  {
    "__docId__": 3207,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2216",
    "testId": 2216,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2216",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 112
  },
  {
    "__docId__": 3208,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2217",
    "testId": 2217,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2217",
    "access": null,
    "description": "should propagate error thrown from closingSelector",
    "lineNumber": 135
  },
  {
    "__docId__": 3209,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2218",
    "testId": 2218,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2218",
    "access": null,
    "description": "should propagate error emitted from a closing",
    "lineNumber": 158
  },
  {
    "__docId__": 3210,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2219",
    "testId": 2219,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2219",
    "access": null,
    "description": "should propagate error emitted late from a closing",
    "lineNumber": 177
  },
  {
    "__docId__": 3211,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2220",
    "testId": 2220,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2220",
    "access": null,
    "description": "should propagate errors emitted from the source",
    "lineNumber": 196
  },
  {
    "__docId__": 3212,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2221",
    "testId": 2221,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2221",
    "access": null,
    "description": "should handle empty source",
    "lineNumber": 215
  },
  {
    "__docId__": 3213,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2222",
    "testId": 2222,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2222",
    "access": null,
    "description": "should handle a never source",
    "lineNumber": 227
  },
  {
    "__docId__": 3214,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2223",
    "testId": 2223,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2223",
    "access": null,
    "description": "should handle throw",
    "lineNumber": 248
  },
  {
    "__docId__": 3215,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2224",
    "testId": 2224,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2224",
    "access": null,
    "description": "should handle a never closing Observable",
    "lineNumber": 261
  },
  {
    "__docId__": 3216,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2225",
    "testId": 2225,
    "memberof": "spec-js/operators/windowWhen-spec.js~describe2211",
    "testDepth": 1,
    "longname": "spec-js/operators/windowWhen-spec.js~describe2211.it2225",
    "access": null,
    "description": "should handle a throw closing Observable",
    "lineNumber": 274
  },
  {
    "__docId__": 3217,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/withLatestFrom-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/withLatestFrom-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar test_helper_1 = require('../helpers/test-helper');\nvar Observable = Rx.Observable;\n/** @test {withLatestFrom} */\ndescribe('Observable.prototype.withLatestFrom', function () {\n    asDiagram('withLatestFrom')('should combine events from cold observables', function () {\n        var e1 = hot('-a--b-----c-d-e-|');\n        var e2 = hot('--1--2-3-4---|   ');\n        var expected = '----B-----C-D-E-|';\n        var result = e1.withLatestFrom(e2, function (a, b) { return String(a) + String(b); });\n        expectObservable(result).toBe(expected, { B: 'b1', C: 'c4', D: 'd4', E: 'e4' });\n    });\n    it('should merge the value with the latest values from the other observables into arrays', function () {\n        var e1 = hot('--a--^---b---c---d-|');\n        var e1subs = '^             !';\n        var e2 = hot('--e--^-f---g---h------|');\n        var e2subs = '^             !';\n        var e3 = hot('--i--^-j---k---l------|');\n        var e3subs = '^             !';\n        var expected = '----x---y---z-|';\n        var values = {\n            x: ['b', 'f', 'j'],\n            y: ['c', 'g', 'k'],\n            z: ['d', 'h', 'l']\n        };\n        var result = e1.withLatestFrom(e2, e3);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should merge the value with the latest values from the other observables into ' +\n        'arrays and a project argument', function () {\n        var e1 = hot('--a--^---b---c---d-|');\n        var e1subs = '^             !';\n        var e2 = hot('--e--^-f---g---h------|');\n        var e2subs = '^             !';\n        var e3 = hot('--i--^-j---k---l------|');\n        var e3subs = '^             !';\n        var expected = '----x---y---z-|';\n        var values = {\n            x: 'bfj',\n            y: 'cgk',\n            z: 'dhl'\n        };\n        var project = function (a, b, c) { return a + b + c; };\n        var result = e1.withLatestFrom(e2, e3, project);\n        expectObservable(result).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should allow unsubscribing early and explicitly', function () {\n        var e1 = hot('--a--^---b---c---d-|');\n        var e1subs = '^          !   ';\n        var e2 = hot('--e--^-f---g---h------|');\n        var e2subs = '^          !   ';\n        var e3 = hot('--i--^-j---k---l------|');\n        var e3subs = '^          !   ';\n        var expected = '----x---y---   ';\n        var unsub = '           !   ';\n        var values = {\n            x: 'bfj',\n            y: 'cgk',\n            z: 'dhl'\n        };\n        var project = function (a, b, c) { return a + b + c; };\n        var result = e1.withLatestFrom(e2, e3, project);\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should not break unsubscription chains when result is unsubscribed explicitly', function () {\n        var e1 = hot('--a--^---b---c---d-|');\n        var e1subs = '^          !   ';\n        var e2 = hot('--e--^-f---g---h------|');\n        var e2subs = '^          !   ';\n        var e3 = hot('--i--^-j---k---l------|');\n        var e3subs = '^          !   ';\n        var expected = '----x---y---   ';\n        var unsub = '           !   ';\n        var values = {\n            x: 'bfj',\n            y: 'cgk',\n            z: 'dhl'\n        };\n        var project = function (a, b, c) { return a + b + c; };\n        var result = e1\n            .mergeMap(function (x) { return Observable.of(x); })\n            .withLatestFrom(e2, e3, project)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(result, unsub).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should handle empty', function () {\n        var e1 = cold('|');\n        var e1subs = '(^!)';\n        var e2 = hot('--e--^-f---g---h----|');\n        var e2subs = '(^!)';\n        var e3 = hot('--i--^-j---k---l----|');\n        var e3subs = '(^!)';\n        var expected = '|'; // empty\n        var result = e1.withLatestFrom(e2, e3);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should handle never', function () {\n        var e1 = cold('-');\n        var e1subs = '^               ';\n        var e2 = hot('--e--^-f---g---h----|');\n        var e2subs = '^              !';\n        var e3 = hot('--i--^-j---k---l----|');\n        var e3subs = '^              !';\n        var expected = '--------------------'; // never\n        var result = e1.withLatestFrom(e2, e3);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should handle throw', function () {\n        var e1 = cold('#');\n        var e1subs = '(^!)';\n        var e2 = hot('--e--^-f---g---h----|');\n        var e2subs = '(^!)';\n        var e3 = hot('--i--^-j---k---l----|');\n        var e3subs = '(^!)';\n        var expected = '#'; // throw\n        var result = e1.withLatestFrom(e2, e3);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should handle error', function () {\n        var e1 = hot('--a--^---b---#', undefined, new Error('boo-hoo'));\n        var e1subs = '^       !';\n        var e2 = hot('--e--^-f---g---h----|');\n        var e2subs = '^       !';\n        var e3 = hot('--i--^-j---k---l----|');\n        var e3subs = '^       !';\n        var expected = '----x---#'; // throw\n        var values = {\n            x: ['b', 'f', 'j']\n        };\n        var result = e1.withLatestFrom(e2, e3);\n        expectObservable(result).toBe(expected, values, new Error('boo-hoo'));\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should handle error with project argument', function () {\n        var e1 = hot('--a--^---b---#', undefined, new Error('boo-hoo'));\n        var e1subs = '^       !';\n        var e2 = hot('--e--^-f---g---h----|');\n        var e2subs = '^       !';\n        var e3 = hot('--i--^-j---k---l----|');\n        var e3subs = '^       !';\n        var expected = '----x---#'; // throw\n        var values = {\n            x: 'bfj'\n        };\n        var project = function (a, b, c) { return a + b + c; };\n        var result = e1.withLatestFrom(e2, e3, project);\n        expectObservable(result).toBe(expected, values, new Error('boo-hoo'));\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should handle merging with empty', function () {\n        var e1 = hot('--a--^---b---c---d-|   ');\n        var e1subs = '^             !   ';\n        var e2 = cold('|');\n        var e2subs = '(^!)';\n        var e3 = hot('--i--^-j---k---l------|');\n        var e3subs = '^             !   ';\n        var expected = '--------------|   ';\n        var result = e1.withLatestFrom(e2, e3);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should handle merging with never', function () {\n        var e1 = hot('--a--^---b---c---d-|   ');\n        var e1subs = '^             !   ';\n        var e2 = cold('-');\n        var e2subs = '^             !   ';\n        var e3 = hot('--i--^-j---k---l------|');\n        var e3subs = '^             !   ';\n        var expected = '--------------|   ';\n        var result = e1.withLatestFrom(e2, e3);\n        expectObservable(result).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should handle promises', function (done) {\n        Observable.of(1).delay(1).withLatestFrom(Promise.resolve(2), Promise.resolve(3))\n            .subscribe(function (x) {\n            chai_1.expect(x).to.deep.equal([1, 2, 3]);\n        }, null, done);\n    });\n    it('should handle arrays', function () {\n        Observable.of(1).delay(1).withLatestFrom([2, 3, 4], [4, 5, 6])\n            .subscribe(function (x) {\n            chai_1.expect(x).to.deep.equal([1, 4, 6]);\n        });\n    });\n    it('should handle lowercase-o observables', function () {\n        Observable.of(1).delay(1).withLatestFrom(test_helper_1.lowerCaseO(2, 3, 4), test_helper_1.lowerCaseO(4, 5, 6))\n            .subscribe(function (x) {\n            chai_1.expect(x).to.deep.equal([1, 4, 6]);\n        });\n    });\n});\n//# sourceMappingURL=withLatestFrom-spec.js.map"
  },
  {
    "__docId__": 3218,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2226",
    "testId": 2226,
    "memberof": "spec-js/operators/withLatestFrom-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "access": null,
    "description": "Observable.prototype.withLatestFrom",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{withLatestFrom}"
      }
    ],
    "testTargets": [
      "withLatestFrom"
    ]
  },
  {
    "__docId__": 3219,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2227",
    "testId": 2227,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2227",
    "access": null,
    "description": "should merge the value with the latest values from the other observables into arrays",
    "lineNumber": 15
  },
  {
    "__docId__": 3220,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2228",
    "testId": 2228,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2228",
    "access": null,
    "lineNumber": 34
  },
  {
    "__docId__": 3221,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2229",
    "testId": 2229,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2229",
    "access": null,
    "description": "should allow unsubscribing early and explicitly",
    "lineNumber": 55
  },
  {
    "__docId__": 3222,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2230",
    "testId": 2230,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2230",
    "access": null,
    "description": "should not break unsubscription chains when result is unsubscribed explicitly",
    "lineNumber": 76
  },
  {
    "__docId__": 3223,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2231",
    "testId": 2231,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2231",
    "access": null,
    "description": "should handle empty",
    "lineNumber": 100
  },
  {
    "__docId__": 3224,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2232",
    "testId": 2232,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2232",
    "access": null,
    "description": "should handle never",
    "lineNumber": 114
  },
  {
    "__docId__": 3225,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2233",
    "testId": 2233,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2233",
    "access": null,
    "description": "should handle throw",
    "lineNumber": 128
  },
  {
    "__docId__": 3226,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2234",
    "testId": 2234,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2234",
    "access": null,
    "description": "should handle error",
    "lineNumber": 142
  },
  {
    "__docId__": 3227,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2235",
    "testId": 2235,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2235",
    "access": null,
    "description": "should handle error with project argument",
    "lineNumber": 159
  },
  {
    "__docId__": 3228,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2236",
    "testId": 2236,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2236",
    "access": null,
    "description": "should handle merging with empty",
    "lineNumber": 177
  },
  {
    "__docId__": 3229,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2237",
    "testId": 2237,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2237",
    "access": null,
    "description": "should handle merging with never",
    "lineNumber": 191
  },
  {
    "__docId__": 3230,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2238",
    "testId": 2238,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2238",
    "access": null,
    "description": "should handle promises",
    "lineNumber": 205
  },
  {
    "__docId__": 3231,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2239",
    "testId": 2239,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2239",
    "access": null,
    "description": "should handle arrays",
    "lineNumber": 211
  },
  {
    "__docId__": 3232,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2240",
    "testId": 2240,
    "memberof": "spec-js/operators/withLatestFrom-spec.js~describe2226",
    "testDepth": 1,
    "longname": "spec-js/operators/withLatestFrom-spec.js~describe2226.it2240",
    "access": null,
    "description": "should handle lowercase-o observables",
    "lineNumber": 217
  },
  {
    "__docId__": 3233,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/zip-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/zip-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar queueScheduler = Rx.Scheduler.queue;\n/** @test {zip} */\ndescribe('Observable.prototype.zip', function () {\n    it('should combine a source with a second', function () {\n        var a = hot('---1---2---3---');\n        var asubs = '^';\n        var b = hot('--4--5--6--7--8--');\n        var bsubs = '^';\n        var expected = '---x---y---z';\n        expectObservable(a.zip(b))\n            .toBe(expected, { x: ['1', '4'], y: ['2', '5'], z: ['3', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should zip the provided observables', function (done) {\n        var expected = ['a1', 'b2', 'c3'];\n        var i = 0;\n        Observable.from(['a', 'b', 'c']).zip(Observable.from([1, 2, 3]), function (a, b) { return a + b; })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        }, null, done);\n    });\n    it('should end once one observable completes and its buffer is empty', function () {\n        var e1 = hot('---a--b--c--|               ');\n        var e1subs = '^           !               ';\n        var e2 = hot('------d----e----f--------|  ');\n        var e2subs = '^                 !         ';\n        var e3 = hot('--------h----i----j---------'); // doesn't complete\n        var e3subs = '^                 !         ';\n        var expected = '--------x----y----(z|)      '; // e1 complete and buffer empty\n        var values = {\n            x: ['a', 'd', 'h'],\n            y: ['b', 'e', 'i'],\n            z: ['c', 'f', 'j']\n        };\n        expectObservable(e1.zip(e2, e3)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should end once one observable nexts and zips value from completed other ' +\n        'observable whose buffer is empty', function () {\n        var e1 = hot('---a--b--c--|             ');\n        var e1subs = '^           !             ';\n        var e2 = hot('------d----e----f|        ');\n        var e2subs = '^                !        ';\n        var e3 = hot('--------h----i----j-------'); // doesn't complete\n        var e3subs = '^                 !       ';\n        var expected = '--------x----y----(z|)    '; // e2 buffer empty and signaled complete\n        var values = {\n            x: ['a', 'd', 'h'],\n            y: ['b', 'e', 'i'],\n            z: ['c', 'f', 'j']\n        };\n        expectObservable(e1.zip(e2, e3)).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    describe('with iterables', function () {\n        it('should zip them with values', function () {\n            var myIterator = {\n                count: 0,\n                next: function () {\n                    return { value: this.count++, done: false };\n                }\n            };\n            myIterator[Symbol.iterator] = function () { return this; };\n            var e1 = hot('---a---b---c---d---|');\n            var e1subs = '^                  !';\n            var expected = '---w---x---y---z---|';\n            var values = {\n                w: ['a', 0],\n                x: ['b', 1],\n                y: ['c', 2],\n                z: ['d', 3]\n            };\n            expectObservable(e1.zip(myIterator)).toBe(expected, values);\n            expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        });\n        it('should only call `next` as needed', function () {\n            var nextCalled = 0;\n            var myIterator = {\n                count: 0,\n                next: function () {\n                    nextCalled++;\n                    return { value: this.count++, done: false };\n                }\n            };\n            myIterator[Symbol.iterator] = function () { return this; };\n            Observable.of(1, 2, 3).zip(myIterator)\n                .subscribe();\n            // since zip will call `next()` in advance, total calls when\n            // zipped with 3 other values should be 4.\n            chai_1.expect(nextCalled).to.equal(4);\n        });\n        it('should work with never observable and empty iterable', function () {\n            var a = cold('-');\n            var asubs = '^';\n            var b = [];\n            var expected = '-';\n            expectObservable(a.zip(b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with empty observable and empty iterable', function () {\n            var a = cold('|');\n            var asubs = '(^!)';\n            var b = [];\n            var expected = '|';\n            expectObservable(a.zip(b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with empty observable and non-empty iterable', function () {\n            var a = cold('|');\n            var asubs = '(^!)';\n            var b = [1];\n            var expected = '|';\n            expectObservable(a.zip(b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and empty iterable', function () {\n            var a = hot('---^----a--|');\n            var asubs = '^       !';\n            var b = [];\n            var expected = '--------|';\n            expectObservable(a.zip(b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with never observable and non-empty iterable', function () {\n            var a = cold('-');\n            var asubs = '^';\n            var b = [1];\n            var expected = '-';\n            expectObservable(a.zip(b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and non-empty iterable', function () {\n            var a = hot('---^----1--|');\n            var asubs = '^    !   ';\n            var b = [2];\n            var expected = '-----(x|)';\n            expectObservable(a.zip(b)).toBe(expected, { x: ['1', 2] });\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and empty iterable', function () {\n            var a = hot('---^----#');\n            var asubs = '^    !';\n            var b = [];\n            var expected = '-----#';\n            expectObservable(a.zip(b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with observable which raises error and non-empty iterable', function () {\n            var a = hot('---^----#');\n            var asubs = '^    !';\n            var b = [1];\n            var expected = '-----#';\n            expectObservable(a.zip(b)).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty many observable and non-empty many iterable', function () {\n            var a = hot('---^--1--2--3--|');\n            var asubs = '^        !   ';\n            var b = [4, 5, 6];\n            var expected = '---x--y--(z|)';\n            expectObservable(a.zip(b)).toBe(expected, { x: ['1', 4], y: ['2', 5], z: ['3', 6] });\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and non-empty iterable selector that throws', function () {\n            var a = hot('---^--1--2--3--|');\n            var asubs = '^     !';\n            var b = [4, 5, 6];\n            var expected = '---x--#';\n            var selector = function (x, y) {\n                if (y === 5) {\n                    throw new Error('too bad');\n                }\n                else {\n                    return x + y;\n                }\n            };\n            expectObservable(a.zip(b, selector)).toBe(expected, { x: '14' }, new Error('too bad'));\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n    });\n    it('should combine two observables and selector', function () {\n        var a = hot('---1---2---3---');\n        var asubs = '^';\n        var b = hot('--4--5--6--7--8--');\n        var bsubs = '^';\n        var expected = '---x---y---z';\n        expectObservable(a.zip(b, function (e1, e2) { return e1 + e2; }))\n            .toBe(expected, { x: '14', y: '25', z: '36' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with n-ary symmetric', function () {\n        var a = hot('---1-^-1----4----|');\n        var asubs = '^         !  ';\n        var b = hot('---1-^--2--5----| ');\n        var bsubs = '^         !  ';\n        var c = hot('---1-^---3---6-|  ');\n        var expected = '----x---y-|  ';\n        expectObservable(a.zip(b, c)).toBe(expected, { x: ['1', '2', '3'], y: ['4', '5', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with n-ary symmetric selector', function () {\n        var a = hot('---1-^-1----4----|');\n        var asubs = '^         !  ';\n        var b = hot('---1-^--2--5----| ');\n        var bsubs = '^         !  ';\n        var c = hot('---1-^---3---6-|  ');\n        var expected = '----x---y-|  ';\n        var observable = a.zip(b, c, function (r0, r1, r2) { return [r0, r1, r2]; });\n        expectObservable(observable).toBe(expected, { x: ['1', '2', '3'], y: ['4', '5', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with n-ary symmetric array selector', function () {\n        var a = hot('---1-^-1----4----|');\n        var asubs = '^         !  ';\n        var b = hot('---1-^--2--5----| ');\n        var bsubs = '^         !  ';\n        var c = hot('---1-^---3---6-|  ');\n        var expected = '----x---y-|  ';\n        var observable = a.zip(b, c, function (r0, r1, r2) { return [r0, r1, r2]; });\n        expectObservable(observable).toBe(expected, { x: ['1', '2', '3'], y: ['4', '5', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with some data asymmetric 1', function () {\n        var a = hot('---1-^-1-3-5-7-9-x-y-z-w-u-|');\n        var asubs = '^                 !    ';\n        var b = hot('---1-^--2--4--6--8--0--|    ');\n        var bsubs = '^                 !    ';\n        var expected = '---a--b--c--d--e--|    ';\n        expectObservable(a.zip(b, function (r1, r2) { return r1 + r2; }))\n            .toBe(expected, { a: '12', b: '34', c: '56', d: '78', e: '90' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with some data asymmetric 2', function () {\n        var a = hot('---1-^--2--4--6--8--0--|    ');\n        var asubs = '^                 !    ';\n        var b = hot('---1-^-1-3-5-7-9-x-y-z-w-u-|');\n        var bsubs = '^                 !    ';\n        var expected = '---a--b--c--d--e--|    ';\n        expectObservable(a.zip(b, function (r1, r2) { return r1 + r2; }))\n            .toBe(expected, { a: '21', b: '43', c: '65', d: '87', e: '09' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with some data symmetric', function () {\n        var a = hot('---1-^-1-3-5-7-9------| ');\n        var asubs = '^                ! ';\n        var b = hot('---1-^--2--4--6--8--0--|');\n        var bsubs = '^                ! ';\n        var expected = '---a--b--c--d--e-| ';\n        expectObservable(a.zip(b, function (r1, r2) { return r1 + r2; }))\n            .toBe(expected, { a: '12', b: '34', c: '56', d: '78', e: '90' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with selector throws', function () {\n        var a = hot('---1-^-2---4----|  ');\n        var asubs = '^       !     ';\n        var b = hot('---1-^--3----5----|');\n        var bsubs = '^       !     ';\n        var expected = '---x----#     ';\n        var selector = function (x, y) {\n            if (y === '5') {\n                throw new Error('too bad');\n            }\n            else {\n                return x + y;\n            }\n        };\n        var observable = a.zip(b, selector);\n        expectObservable(observable).toBe(expected, { x: '23' }, new Error('too bad'));\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with right completes first', function () {\n        var a = hot('---1-^-2-----|');\n        var asubs = '^     !';\n        var b = hot('---1-^--3--|');\n        var bsubs = '^     !';\n        var expected = '---x--|';\n        expectObservable(a.zip(b)).toBe(expected, { x: ['2', '3'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with two nevers', function () {\n        var a = cold('-');\n        var asubs = '^';\n        var b = cold('-');\n        var bsubs = '^';\n        var expected = '-';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with never and empty', function () {\n        var a = cold('-');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and never', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = cold('-');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and empty', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and non-empty', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = hot('---1--|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with non-empty and empty', function () {\n        var a = hot('---1--|');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with never and non-empty', function () {\n        var a = cold('-');\n        var asubs = '^';\n        var b = hot('---1--|');\n        var bsubs = '^     !';\n        var expected = '-';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with non-empty and never', function () {\n        var a = hot('---1--|');\n        var asubs = '^     !';\n        var b = cold('-');\n        var bsubs = '^';\n        var expected = '-';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and error', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = hot('------#', null, 'too bad');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and empty', function () {\n        var a = hot('------#', null, 'too bad');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error', function () {\n        var a = hot('----------|');\n        var asubs = '^     !    ';\n        var b = hot('------#    ');\n        var bsubs = '^     !    ';\n        var expected = '------#    ';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with never and error', function () {\n        var a = cold('-');\n        var asubs = '^     !';\n        var b = hot('------#');\n        var bsubs = '^     !';\n        var expected = '------#';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and never', function () {\n        var a = hot('------#');\n        var asubs = '^     !';\n        var b = cold('-');\n        var bsubs = '^     !';\n        var expected = '------#';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and error', function () {\n        var a = hot('------#', null, 'too bad');\n        var asubs = '^     !';\n        var b = hot('----------#', null, 'too bad 2');\n        var bsubs = '^     !';\n        var expected = '------#';\n        expectObservable(a.zip(b)).toBe(expected, null, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with two sources that eventually raise errors', function () {\n        var a = hot('--w-----#----', { w: 1 }, 'too bad');\n        var asubs = '^       !';\n        var b = hot('-----z-----#-', { z: 2 }, 'too bad 2');\n        var bsubs = '^       !';\n        var expected = '-----x--#';\n        expectObservable(a.zip(b)).toBe(expected, { x: [1, 2] }, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with two sources that eventually raise errors (swapped)', function () {\n        var a = hot('-----z-----#-', { z: 2 }, 'too bad 2');\n        var asubs = '^       !';\n        var b = hot('--w-----#----', { w: 1 }, 'too bad');\n        var bsubs = '^       !';\n        var expected = '-----x--#';\n        expectObservable(a.zip(b)).toBe(expected, { x: [2, 1] }, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and some', function () {\n        var a = cold('#');\n        var asubs = '(^!)';\n        var b = hot('--1--2--3--');\n        var bsubs = '(^!)';\n        var expected = '#';\n        expectObservable(a.zip(b)).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should combine an immediately-scheduled source with an immediately-scheduled second', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, 7, 8, queueScheduler);\n        var r = [[1, 4], [2, 5], [3, 6]];\n        var i = 0;\n        a.zip(b).subscribe(function (vals) {\n            chai_1.expect(vals).to.deep.equal(r[i++]);\n        }, null, done);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var a = hot('---1---2---3---|');\n        var unsub = '         !';\n        var asubs = '^        !';\n        var b = hot('--4--5--6--7--8--|');\n        var bsubs = '^        !';\n        var expected = '---x---y--';\n        var r = a\n            .mergeMap(function (x) { return Observable.of(x); })\n            .zip(b)\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(r, unsub).toBe(expected, { x: ['1', '4'], y: ['2', '5'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n});\n//# sourceMappingURL=zip-spec.js.map"
  },
  {
    "__docId__": 3234,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2241",
    "testId": 2241,
    "memberof": "spec-js/operators/zip-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/zip-spec.js~describe2241",
    "access": null,
    "description": "Observable.prototype.zip",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{zip}"
      }
    ],
    "testTargets": [
      "zip"
    ]
  },
  {
    "__docId__": 3235,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2242",
    "testId": 2242,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2242",
    "access": null,
    "description": "should combine a source with a second",
    "lineNumber": 8
  },
  {
    "__docId__": 3236,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2243",
    "testId": 2243,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2243",
    "access": null,
    "description": "should zip the provided observables",
    "lineNumber": 19
  },
  {
    "__docId__": 3237,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2244",
    "testId": 2244,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2244",
    "access": null,
    "description": "should end once one observable completes and its buffer is empty",
    "lineNumber": 27
  },
  {
    "__docId__": 3238,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2245",
    "testId": 2245,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2245",
    "access": null,
    "lineNumber": 45
  },
  {
    "__docId__": 3239,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2246",
    "testId": 2246,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "access": null,
    "description": "with iterables",
    "lineNumber": 64
  },
  {
    "__docId__": 3240,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2247",
    "testId": 2247,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2247",
    "access": null,
    "description": "should zip them with values",
    "lineNumber": 65
  },
  {
    "__docId__": 3241,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2248",
    "testId": 2248,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2248",
    "access": null,
    "description": "should only call `next` as needed",
    "lineNumber": 85
  },
  {
    "__docId__": 3242,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2249",
    "testId": 2249,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2249",
    "access": null,
    "description": "should work with never observable and empty iterable",
    "lineNumber": 101
  },
  {
    "__docId__": 3243,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2250",
    "testId": 2250,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2250",
    "access": null,
    "description": "should work with empty observable and empty iterable",
    "lineNumber": 109
  },
  {
    "__docId__": 3244,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2251",
    "testId": 2251,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2251",
    "access": null,
    "description": "should work with empty observable and non-empty iterable",
    "lineNumber": 117
  },
  {
    "__docId__": 3245,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2252",
    "testId": 2252,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2252",
    "access": null,
    "description": "should work with non-empty observable and empty iterable",
    "lineNumber": 125
  },
  {
    "__docId__": 3246,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2253",
    "testId": 2253,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2253",
    "access": null,
    "description": "should work with never observable and non-empty iterable",
    "lineNumber": 133
  },
  {
    "__docId__": 3247,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2254",
    "testId": 2254,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2254",
    "access": null,
    "description": "should work with non-empty observable and non-empty iterable",
    "lineNumber": 141
  },
  {
    "__docId__": 3248,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2255",
    "testId": 2255,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2255",
    "access": null,
    "description": "should work with non-empty observable and empty iterable",
    "lineNumber": 149
  },
  {
    "__docId__": 3249,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2256",
    "testId": 2256,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2256",
    "access": null,
    "description": "should work with observable which raises error and non-empty iterable",
    "lineNumber": 157
  },
  {
    "__docId__": 3250,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2257",
    "testId": 2257,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2257",
    "access": null,
    "description": "should work with non-empty many observable and non-empty many iterable",
    "lineNumber": 165
  },
  {
    "__docId__": 3251,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2258",
    "testId": 2258,
    "memberof": "spec-js/operators/zip-spec.js~describe2241.describe2246",
    "testDepth": 2,
    "longname": "spec-js/operators/zip-spec.js~describe2241.describe2246.it2258",
    "access": null,
    "description": "should work with non-empty observable and non-empty iterable selector that throws",
    "lineNumber": 173
  },
  {
    "__docId__": 3252,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2259",
    "testId": 2259,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2259",
    "access": null,
    "description": "should combine two observables and selector",
    "lineNumber": 190
  },
  {
    "__docId__": 3253,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2260",
    "testId": 2260,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2260",
    "access": null,
    "description": "should work with n-ary symmetric",
    "lineNumber": 201
  },
  {
    "__docId__": 3254,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2261",
    "testId": 2261,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2261",
    "access": null,
    "description": "should work with n-ary symmetric selector",
    "lineNumber": 212
  },
  {
    "__docId__": 3255,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2262",
    "testId": 2262,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2262",
    "access": null,
    "description": "should work with n-ary symmetric array selector",
    "lineNumber": 224
  },
  {
    "__docId__": 3256,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2263",
    "testId": 2263,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2263",
    "access": null,
    "description": "should work with some data asymmetric 1",
    "lineNumber": 236
  },
  {
    "__docId__": 3257,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2264",
    "testId": 2264,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2264",
    "access": null,
    "description": "should work with some data asymmetric 2",
    "lineNumber": 247
  },
  {
    "__docId__": 3258,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2265",
    "testId": 2265,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2265",
    "access": null,
    "description": "should work with some data symmetric",
    "lineNumber": 258
  },
  {
    "__docId__": 3259,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2266",
    "testId": 2266,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2266",
    "access": null,
    "description": "should work with selector throws",
    "lineNumber": 269
  },
  {
    "__docId__": 3260,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2267",
    "testId": 2267,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2267",
    "access": null,
    "description": "should work with right completes first",
    "lineNumber": 288
  },
  {
    "__docId__": 3261,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2268",
    "testId": 2268,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2268",
    "access": null,
    "description": "should work with two nevers",
    "lineNumber": 298
  },
  {
    "__docId__": 3262,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2269",
    "testId": 2269,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2269",
    "access": null,
    "description": "should work with never and empty",
    "lineNumber": 308
  },
  {
    "__docId__": 3263,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2270",
    "testId": 2270,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2270",
    "access": null,
    "description": "should work with empty and never",
    "lineNumber": 318
  },
  {
    "__docId__": 3264,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2271",
    "testId": 2271,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2271",
    "access": null,
    "description": "should work with empty and empty",
    "lineNumber": 328
  },
  {
    "__docId__": 3265,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2272",
    "testId": 2272,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2272",
    "access": null,
    "description": "should work with empty and non-empty",
    "lineNumber": 338
  },
  {
    "__docId__": 3266,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2273",
    "testId": 2273,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2273",
    "access": null,
    "description": "should work with non-empty and empty",
    "lineNumber": 348
  },
  {
    "__docId__": 3267,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2274",
    "testId": 2274,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2274",
    "access": null,
    "description": "should work with never and non-empty",
    "lineNumber": 358
  },
  {
    "__docId__": 3268,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2275",
    "testId": 2275,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2275",
    "access": null,
    "description": "should work with non-empty and never",
    "lineNumber": 368
  },
  {
    "__docId__": 3269,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2276",
    "testId": 2276,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2276",
    "access": null,
    "description": "should work with empty and error",
    "lineNumber": 378
  },
  {
    "__docId__": 3270,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2277",
    "testId": 2277,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2277",
    "access": null,
    "description": "should work with error and empty",
    "lineNumber": 388
  },
  {
    "__docId__": 3271,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2278",
    "testId": 2278,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2278",
    "access": null,
    "description": "should work with error",
    "lineNumber": 398
  },
  {
    "__docId__": 3272,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2279",
    "testId": 2279,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2279",
    "access": null,
    "description": "should work with never and error",
    "lineNumber": 408
  },
  {
    "__docId__": 3273,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2280",
    "testId": 2280,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2280",
    "access": null,
    "description": "should work with error and never",
    "lineNumber": 418
  },
  {
    "__docId__": 3274,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2281",
    "testId": 2281,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2281",
    "access": null,
    "description": "should work with error and error",
    "lineNumber": 428
  },
  {
    "__docId__": 3275,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2282",
    "testId": 2282,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2282",
    "access": null,
    "description": "should work with two sources that eventually raise errors",
    "lineNumber": 438
  },
  {
    "__docId__": 3276,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2283",
    "testId": 2283,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2283",
    "access": null,
    "description": "should work with two sources that eventually raise errors (swapped)",
    "lineNumber": 448
  },
  {
    "__docId__": 3277,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2284",
    "testId": 2284,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2284",
    "access": null,
    "description": "should work with error and some",
    "lineNumber": 458
  },
  {
    "__docId__": 3278,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2285",
    "testId": 2285,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2285",
    "access": null,
    "description": "should combine an immediately-scheduled source with an immediately-scheduled second",
    "lineNumber": 468
  },
  {
    "__docId__": 3279,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2286",
    "testId": 2286,
    "memberof": "spec-js/operators/zip-spec.js~describe2241",
    "testDepth": 1,
    "longname": "spec-js/operators/zip-spec.js~describe2241.it2286",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 477
  },
  {
    "__docId__": 3280,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/operators/zipAll-spec.js",
    "memberof": null,
    "longname": "spec-js/operators/zipAll-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable;\nvar queueScheduler = Rx.Scheduler.queue;\n/** @test {zipAll} */\ndescribe('Observable.prototype.zipAll', function () {\n    asDiagram('zipAll')('should combine paired events from two observables', function () {\n        var x = cold('-a-----b-|');\n        var y = cold('--1-2-----');\n        var outer = hot('-x----y--------|         ', { x: x, y: y });\n        var expected = '-----------------A----B-|';\n        var result = outer.zipAll(function (a, b) { return String(a) + String(b); });\n        expectObservable(result).toBe(expected, { A: 'a1', B: 'b2' });\n    });\n    it('should combine two observables', function () {\n        var a = hot('---1---2---3---');\n        var asubs = '^';\n        var b = hot('--4--5--6--7--8--');\n        var bsubs = '^';\n        var expected = '---x---y---z';\n        var values = { x: ['1', '4'], y: ['2', '5'], z: ['3', '6'] };\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected, values);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should take all observables from the source and zip them', function (done) {\n        var expected = ['a1', 'b2', 'c3'];\n        var i = 0;\n        Observable.of(Observable.of('a', 'b', 'c'), Observable.of(1, 2, 3))\n            .zipAll(function (a, b) { return a + b; })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        }, null, done);\n    });\n    it('should end once one observable completes and its buffer is empty', function () {\n        var e1 = hot('---a--b--c--|               ');\n        var e1subs = '^           !               ';\n        var e2 = hot('------d----e----f--------|  ');\n        var e2subs = '^                 !         ';\n        var e3 = hot('--------h----i----j---------'); // doesn't complete\n        var e3subs = '^                 !         ';\n        var expected = '--------x----y----(z|)      '; // e1 complete and buffer empty\n        var values = {\n            x: ['a', 'd', 'h'],\n            y: ['b', 'e', 'i'],\n            z: ['c', 'f', 'j']\n        };\n        expectObservable(Observable.of(e1, e2, e3).zipAll()).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    it('should end once one observable nexts and zips value from completed other ' +\n        'observable whose buffer is empty', function () {\n        var e1 = hot('---a--b--c--|             ');\n        var e1subs = '^           !             ';\n        var e2 = hot('------d----e----f|        ');\n        var e2subs = '^                !        ';\n        var e3 = hot('--------h----i----j-------'); // doesn't complete\n        var e3subs = '^                 !       ';\n        var expected = '--------x----y----(z|)    '; // e2 buffer empty and signaled complete\n        var values = {\n            x: ['a', 'd', 'h'],\n            y: ['b', 'e', 'i'],\n            z: ['c', 'f', 'j']\n        };\n        expectObservable(Observable.of(e1, e2, e3).zipAll()).toBe(expected, values);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        expectSubscriptions(e2.subscriptions).toBe(e2subs);\n        expectSubscriptions(e3.subscriptions).toBe(e3subs);\n    });\n    describe('with iterables', function () {\n        it('should zip them with values', function () {\n            var myIterator = {\n                count: 0,\n                next: function () {\n                    return { value: this.count++, done: false };\n                }\n            };\n            myIterator[Symbol.iterator] = function () { return this; };\n            var e1 = hot('---a---b---c---d---|');\n            var e1subs = '^                  !';\n            var expected = '---w---x---y---z---|';\n            var values = {\n                w: ['a', 0],\n                x: ['b', 1],\n                y: ['c', 2],\n                z: ['d', 3]\n            };\n            expectObservable(Observable.of(e1, myIterator).zipAll()).toBe(expected, values);\n            expectSubscriptions(e1.subscriptions).toBe(e1subs);\n        });\n        it('should only call `next` as needed', function () {\n            var nextCalled = 0;\n            var myIterator = {\n                count: 0,\n                next: function () {\n                    nextCalled++;\n                    return { value: this.count++, done: false };\n                }\n            };\n            myIterator[Symbol.iterator] = function () { return this; };\n            Observable.of(Observable.of(1, 2, 3), myIterator).zipAll()\n                .subscribe();\n            // since zip will call `next()` in advance, total calls when\n            // zipped with 3 other values should be 4.\n            chai_1.expect(nextCalled).to.equal(4);\n        });\n        it('should work with never observable and empty iterable', function () {\n            var a = cold('-');\n            var asubs = '^';\n            var b = [];\n            var expected = '-';\n            expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with empty observable and empty iterable', function () {\n            var a = cold('|');\n            var asubs = '(^!)';\n            var b = [];\n            var expected = '|';\n            expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with empty observable and non-empty iterable', function () {\n            var a = cold('|');\n            var asubs = '(^!)';\n            var b = [1];\n            var expected = '|';\n            expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and empty iterable', function () {\n            var a = hot('---^----a--|');\n            var asubs = '^       !';\n            var b = [];\n            var expected = '--------|';\n            expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with never observable and non-empty iterable', function () {\n            var a = cold('-');\n            var asubs = '^';\n            var b = [1];\n            var expected = '-';\n            expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and non-empty iterable', function () {\n            var a = hot('---^----1--|');\n            var asubs = '^    !   ';\n            var b = [2];\n            var expected = '-----(x|)';\n            expectObservable(Observable.of(a, b).zipAll()).toBe(expected, { x: ['1', 2] });\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and empty iterable', function () {\n            var a = hot('---^----#');\n            var asubs = '^    !';\n            var b = [];\n            var expected = '-----#';\n            expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with observable which raises error and non-empty iterable', function () {\n            var a = hot('---^----#');\n            var asubs = '^    !';\n            var b = [1];\n            var expected = '-----#';\n            expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty many observable and non-empty many iterable', function () {\n            var a = hot('---^--1--2--3--|');\n            var asubs = '^        !   ';\n            var b = [4, 5, 6];\n            var expected = '---x--y--(z|)';\n            expectObservable(Observable.of(a, b).zipAll()).toBe(expected, { x: ['1', 4], y: ['2', 5], z: ['3', 6] });\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n        it('should work with non-empty observable and non-empty iterable selector that throws', function () {\n            var a = hot('---^--1--2--3--|');\n            var asubs = '^     !';\n            var b = [4, 5, 6];\n            var expected = '---x--#';\n            var selector = function (x, y) {\n                if (y === 5) {\n                    throw new Error('too bad');\n                }\n                else {\n                    return x + y;\n                }\n            };\n            expectObservable(Observable.of(a, b).zipAll(selector)).toBe(expected, { x: '14' }, new Error('too bad'));\n            expectSubscriptions(a.subscriptions).toBe(asubs);\n        });\n    });\n    it('should combine two observables and selector', function () {\n        var a = hot('---1---2---3---');\n        var asubs = '^';\n        var b = hot('--4--5--6--7--8--');\n        var bsubs = '^';\n        var expected = '---x---y---z';\n        expectObservable(Observable.of(a, b).zipAll(function (e1, e2) { return e1 + e2; }))\n            .toBe(expected, { x: '14', y: '25', z: '36' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with n-ary symmetric', function () {\n        var a = hot('---1-^-1----4----|');\n        var asubs = '^         !  ';\n        var b = hot('---1-^--2--5----| ');\n        var bsubs = '^         !  ';\n        var c = hot('---1-^---3---6-|  ');\n        var expected = '----x---y-|  ';\n        expectObservable(Observable.of(a, b, c).zipAll()).toBe(expected, { x: ['1', '2', '3'], y: ['4', '5', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with n-ary symmetric selector', function () {\n        var a = hot('---1-^-1----4----|');\n        var asubs = '^         !  ';\n        var b = hot('---1-^--2--5----| ');\n        var bsubs = '^         !  ';\n        var c = hot('---1-^---3---6-|  ');\n        var expected = '----x---y-|  ';\n        var observable = Observable.of(a, b, c).zipAll(function (r0, r1, r2) { return [r0, r1, r2]; });\n        expectObservable(observable).toBe(expected, { x: ['1', '2', '3'], y: ['4', '5', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with n-ary symmetric array selector', function () {\n        var a = hot('---1-^-1----4----|');\n        var asubs = '^         !  ';\n        var b = hot('---1-^--2--5----| ');\n        var bsubs = '^         !  ';\n        var c = hot('---1-^---3---6-|  ');\n        var expected = '----x---y-|  ';\n        var observable = Observable.of(a, b, c).zipAll(function (r0, r1, r2) { return [r0, r1, r2]; });\n        expectObservable(observable).toBe(expected, { x: ['1', '2', '3'], y: ['4', '5', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with some data asymmetric 1', function () {\n        var a = hot('---1-^-1-3-5-7-9-x-y-z-w-u-|');\n        var asubs = '^                 !    ';\n        var b = hot('---1-^--2--4--6--8--0--|    ');\n        var bsubs = '^                 !    ';\n        var expected = '---a--b--c--d--e--|    ';\n        expectObservable(Observable.of(a, b).zipAll(function (r1, r2) { return r1 + r2; }))\n            .toBe(expected, { a: '12', b: '34', c: '56', d: '78', e: '90' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with some data asymmetric 2', function () {\n        var a = hot('---1-^--2--4--6--8--0--|    ');\n        var asubs = '^                 !    ';\n        var b = hot('---1-^-1-3-5-7-9-x-y-z-w-u-|');\n        var bsubs = '^                 !    ';\n        var expected = '---a--b--c--d--e--|    ';\n        expectObservable(Observable.of(a, b).zipAll(function (r1, r2) { return r1 + r2; }))\n            .toBe(expected, { a: '21', b: '43', c: '65', d: '87', e: '09' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with some data symmetric', function () {\n        var a = hot('---1-^-1-3-5-7-9------| ');\n        var asubs = '^                ! ';\n        var b = hot('---1-^--2--4--6--8--0--|');\n        var bsubs = '^                ! ';\n        var expected = '---a--b--c--d--e-| ';\n        expectObservable(Observable.of(a, b).zipAll(function (r1, r2) { return r1 + r2; }))\n            .toBe(expected, { a: '12', b: '34', c: '56', d: '78', e: '90' });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with selector throws', function () {\n        var a = hot('---1-^-2---4----|  ');\n        var asubs = '^       !     ';\n        var b = hot('---1-^--3----5----|');\n        var bsubs = '^       !     ';\n        var expected = '---x----#     ';\n        var selector = function (x, y) {\n            if (y === '5') {\n                throw new Error('too bad');\n            }\n            else {\n                return x + y;\n            }\n        };\n        var observable = Observable.of(a, b).zipAll(selector);\n        expectObservable(observable).toBe(expected, { x: '23' }, new Error('too bad'));\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with right completes first', function () {\n        var a = hot('---1-^-2-----|');\n        var asubs = '^     !';\n        var b = hot('---1-^--3--|');\n        var bsubs = '^     !';\n        var expected = '---x--|';\n        expectObservable(Observable.zip(a, b)).toBe(expected, { x: ['2', '3'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should zip until one child terminates', function (done) {\n        var expected = ['a1', 'b2'];\n        var i = 0;\n        Observable.of(Observable.of('a', 'b', 'c'), Observable.of(1, 2))\n            .zipAll(function (a, b) { return a + b; })\n            .subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        }, null, done);\n    });\n    it('should handle a hot observable of observables', function () {\n        var x = cold('a---b---c---|      ');\n        var xsubs = '        ^           !';\n        var y = cold('d---e---f---|   ');\n        var ysubs = '        ^           !';\n        var e1 = hot('--x--y--|            ', { x: x, y: y });\n        var e1subs = '^                   !';\n        var expected = '--------u---v---w---|';\n        var values = {\n            u: ['a', 'd'],\n            v: ['b', 'e'],\n            w: ['c', 'f']\n        };\n        expectObservable(e1.zipAll()).toBe(expected, values);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should handle merging a hot observable of non-overlapped observables', function () {\n        var x = cold('a-b---------|                         ');\n        var xsubs = '                           ^           !';\n        var y = cold('c-d-e-f-|                      ');\n        var ysubs = '                           ^       !    ';\n        var z = cold('g-h-i-j-k-|           ');\n        var zsubs = '                           ^         !  ';\n        var e1 = hot('--x------y--------z--------|            ', { x: x, y: y, z: z });\n        var e1subs = '^                                      !';\n        var expected = '---------------------------u-v---------|';\n        var values = {\n            u: ['a', 'c', 'g'],\n            v: ['b', 'd', 'h']\n        };\n        expectObservable(e1.zipAll()).toBe(expected, values);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if inner observable raises error', function () {\n        var x = cold('a-b---------|                     ');\n        var xsubs = '                              ^       !';\n        var y = cold('c-d-e-f-#               ');\n        var ysubs = '                              ^       !';\n        var z = cold('g-h-i-j-k-|    ');\n        var zsubs = '                              ^       !';\n        var e1 = hot('--x---------y--------z--------|', { x: x, y: y, z: z });\n        var e1subs = '^                                     !';\n        var expected = '------------------------------u-v-----#';\n        var expectedValues = {\n            u: ['a', 'c', 'g'],\n            v: ['b', 'd', 'h']\n        };\n        expectObservable(e1.zipAll()).toBe(expected, expectedValues);\n        expectSubscriptions(x.subscriptions).toBe(xsubs);\n        expectSubscriptions(y.subscriptions).toBe(ysubs);\n        expectSubscriptions(z.subscriptions).toBe(zsubs);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should raise error if outer observable raises error', function () {\n        var y = cold('a-b---------|');\n        var z = cold('c-d-e-f-|');\n        var e1 = hot('--y---------z---#', { y: y, z: z });\n        var e1subs = '^               !';\n        var expected = '----------------#';\n        expectObservable(e1.zipAll()).toBe(expected);\n        expectSubscriptions(e1.subscriptions).toBe(e1subs);\n    });\n    it('should work with two nevers', function () {\n        var a = cold('-');\n        var asubs = '^';\n        var b = cold('-');\n        var bsubs = '^';\n        var expected = '-';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with never and empty', function () {\n        var a = cold('-');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and never', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = cold('-');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and empty', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and non-empty', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = hot('---1--|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with non-empty and empty', function () {\n        var a = hot('---1--|');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with never and non-empty', function () {\n        var a = cold('-');\n        var asubs = '^';\n        var b = hot('---1--|');\n        var bsubs = '^     !';\n        var expected = '-';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with non-empty and never', function () {\n        var a = hot('---1--|');\n        var asubs = '^     !';\n        var b = cold('-');\n        var bsubs = '^';\n        var expected = '-';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should combine a source with a second', function () {\n        var a = hot('---1---2---3---');\n        var asubs = '^';\n        var b = hot('--4--5--6--7--8--');\n        var bsubs = '^';\n        var expected = '---x---y---z';\n        expectObservable(Observable.of(a, b).zipAll())\n            .toBe(expected, { x: ['1', '4'], y: ['2', '5'], z: ['3', '6'] });\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with empty and error', function () {\n        var a = cold('|');\n        var asubs = '(^!)';\n        var b = hot('------#', null, 'too bad');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and empty', function () {\n        var a = hot('------#', null, 'too bad');\n        var asubs = '(^!)';\n        var b = cold('|');\n        var bsubs = '(^!)';\n        var expected = '|';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error', function () {\n        var a = hot('----------|');\n        var asubs = '^     !    ';\n        var b = hot('------#    ');\n        var bsubs = '^     !    ';\n        var expected = '------#    ';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with never and error', function () {\n        var a = cold('-');\n        var asubs = '^     !';\n        var b = hot('------#');\n        var bsubs = '^     !';\n        var expected = '------#';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and never', function () {\n        var a = hot('------#');\n        var asubs = '^     !';\n        var b = cold('-');\n        var bsubs = '^     !';\n        var expected = '------#';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and error', function () {\n        var a = hot('------#', null, 'too bad');\n        var asubs = '^     !';\n        var b = hot('----------#', null, 'too bad 2');\n        var bsubs = '^     !';\n        var expected = '------#';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected, null, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with two sources that eventually raise errors', function () {\n        var a = hot('--w-----#----', { w: 1 }, 'too bad');\n        var asubs = '^       !';\n        var b = hot('-----z-----#-', { z: 2 }, 'too bad 2');\n        var bsubs = '^       !';\n        var expected = '-----x--#';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected, { x: [1, 2] }, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with two sources that eventually raise errors (swapped)', function () {\n        var a = hot('-----z-----#-', { z: 2 }, 'too bad 2');\n        var asubs = '^       !';\n        var b = hot('--w-----#----', { w: 1 }, 'too bad');\n        var bsubs = '^       !';\n        var expected = '-----x--#';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected, { x: [2, 1] }, 'too bad');\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should work with error and some', function () {\n        var a = cold('#');\n        var asubs = '(^!)';\n        var b = hot('--1--2--3--');\n        var bsubs = '(^!)';\n        var expected = '#';\n        expectObservable(Observable.of(a, b).zipAll()).toBe(expected);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n    it('should combine two immediately-scheduled observables', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, 7, 8, queueScheduler);\n        var r = [[1, 4], [2, 5], [3, 6]];\n        var i = 0;\n        var result = Observable.of(a, b, queueScheduler).zipAll();\n        result.subscribe(function (vals) {\n            chai_1.expect(vals).to.deep.equal(r[i++]);\n        }, null, done);\n    });\n    it('should combine a source with an immediately-scheduled source', function (done) {\n        var a = Observable.of(1, 2, 3, queueScheduler);\n        var b = Observable.of(4, 5, 6, 7, 8);\n        var r = [[1, 4], [2, 5], [3, 6]];\n        var i = 0;\n        var result = Observable.of(a, b, queueScheduler).zipAll();\n        result.subscribe(function (vals) {\n            chai_1.expect(vals).to.deep.equal(r[i++]);\n        }, null, done);\n    });\n    it('should not break unsubscription chain when unsubscribed explicitly', function () {\n        var a = hot('---1---2---3---|');\n        var unsub = '         !';\n        var asubs = '^        !';\n        var b = hot('--4--5--6--7--8--|');\n        var bsubs = '^        !';\n        var expected = '---x---y--';\n        var values = { x: ['1', '4'], y: ['2', '5'] };\n        var r = Observable.of(a, b)\n            .mergeMap(function (x) { return Observable.of(x); })\n            .zipAll()\n            .mergeMap(function (x) { return Observable.of(x); });\n        expectObservable(r, unsub).toBe(expected, values);\n        expectSubscriptions(a.subscriptions).toBe(asubs);\n        expectSubscriptions(b.subscriptions).toBe(bsubs);\n    });\n});\n//# sourceMappingURL=zipAll-spec.js.map"
  },
  {
    "__docId__": 3281,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2287",
    "testId": 2287,
    "memberof": "spec-js/operators/zipAll-spec.js",
    "testDepth": 0,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287",
    "access": null,
    "description": "Observable.prototype.zipAll",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{zipAll}"
      }
    ],
    "testTargets": [
      "zipAll"
    ]
  },
  {
    "__docId__": 3282,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2288",
    "testId": 2288,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2288",
    "access": null,
    "description": "should combine two observables",
    "lineNumber": 16
  },
  {
    "__docId__": 3283,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2289",
    "testId": 2289,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2289",
    "access": null,
    "description": "should take all observables from the source and zip them",
    "lineNumber": 27
  },
  {
    "__docId__": 3284,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2290",
    "testId": 2290,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2290",
    "access": null,
    "description": "should end once one observable completes and its buffer is empty",
    "lineNumber": 36
  },
  {
    "__docId__": 3285,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2291",
    "testId": 2291,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2291",
    "access": null,
    "lineNumber": 54
  },
  {
    "__docId__": 3286,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2292",
    "testId": 2292,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "access": null,
    "description": "with iterables",
    "lineNumber": 73
  },
  {
    "__docId__": 3287,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2293",
    "testId": 2293,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2293",
    "access": null,
    "description": "should zip them with values",
    "lineNumber": 74
  },
  {
    "__docId__": 3288,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2294",
    "testId": 2294,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2294",
    "access": null,
    "description": "should only call `next` as needed",
    "lineNumber": 94
  },
  {
    "__docId__": 3289,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2295",
    "testId": 2295,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2295",
    "access": null,
    "description": "should work with never observable and empty iterable",
    "lineNumber": 110
  },
  {
    "__docId__": 3290,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2296",
    "testId": 2296,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2296",
    "access": null,
    "description": "should work with empty observable and empty iterable",
    "lineNumber": 118
  },
  {
    "__docId__": 3291,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2297",
    "testId": 2297,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2297",
    "access": null,
    "description": "should work with empty observable and non-empty iterable",
    "lineNumber": 126
  },
  {
    "__docId__": 3292,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2298",
    "testId": 2298,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2298",
    "access": null,
    "description": "should work with non-empty observable and empty iterable",
    "lineNumber": 134
  },
  {
    "__docId__": 3293,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2299",
    "testId": 2299,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2299",
    "access": null,
    "description": "should work with never observable and non-empty iterable",
    "lineNumber": 142
  },
  {
    "__docId__": 3294,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2300",
    "testId": 2300,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2300",
    "access": null,
    "description": "should work with non-empty observable and non-empty iterable",
    "lineNumber": 150
  },
  {
    "__docId__": 3295,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2301",
    "testId": 2301,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2301",
    "access": null,
    "description": "should work with non-empty observable and empty iterable",
    "lineNumber": 158
  },
  {
    "__docId__": 3296,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2302",
    "testId": 2302,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2302",
    "access": null,
    "description": "should work with observable which raises error and non-empty iterable",
    "lineNumber": 166
  },
  {
    "__docId__": 3297,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2303",
    "testId": 2303,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2303",
    "access": null,
    "description": "should work with non-empty many observable and non-empty many iterable",
    "lineNumber": 174
  },
  {
    "__docId__": 3298,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2304",
    "testId": 2304,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287.describe2292",
    "testDepth": 2,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.describe2292.it2304",
    "access": null,
    "description": "should work with non-empty observable and non-empty iterable selector that throws",
    "lineNumber": 182
  },
  {
    "__docId__": 3299,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2305",
    "testId": 2305,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2305",
    "access": null,
    "description": "should combine two observables and selector",
    "lineNumber": 199
  },
  {
    "__docId__": 3300,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2306",
    "testId": 2306,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2306",
    "access": null,
    "description": "should work with n-ary symmetric",
    "lineNumber": 210
  },
  {
    "__docId__": 3301,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2307",
    "testId": 2307,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2307",
    "access": null,
    "description": "should work with n-ary symmetric selector",
    "lineNumber": 221
  },
  {
    "__docId__": 3302,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2308",
    "testId": 2308,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2308",
    "access": null,
    "description": "should work with n-ary symmetric array selector",
    "lineNumber": 233
  },
  {
    "__docId__": 3303,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2309",
    "testId": 2309,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2309",
    "access": null,
    "description": "should work with some data asymmetric 1",
    "lineNumber": 245
  },
  {
    "__docId__": 3304,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2310",
    "testId": 2310,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2310",
    "access": null,
    "description": "should work with some data asymmetric 2",
    "lineNumber": 256
  },
  {
    "__docId__": 3305,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2311",
    "testId": 2311,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2311",
    "access": null,
    "description": "should work with some data symmetric",
    "lineNumber": 267
  },
  {
    "__docId__": 3306,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2312",
    "testId": 2312,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2312",
    "access": null,
    "description": "should work with selector throws",
    "lineNumber": 278
  },
  {
    "__docId__": 3307,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2313",
    "testId": 2313,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2313",
    "access": null,
    "description": "should work with right completes first",
    "lineNumber": 297
  },
  {
    "__docId__": 3308,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2314",
    "testId": 2314,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2314",
    "access": null,
    "description": "should zip until one child terminates",
    "lineNumber": 307
  },
  {
    "__docId__": 3309,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2315",
    "testId": 2315,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2315",
    "access": null,
    "description": "should handle a hot observable of observables",
    "lineNumber": 316
  },
  {
    "__docId__": 3310,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2316",
    "testId": 2316,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2316",
    "access": null,
    "description": "should handle merging a hot observable of non-overlapped observables",
    "lineNumber": 334
  },
  {
    "__docId__": 3311,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2317",
    "testId": 2317,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2317",
    "access": null,
    "description": "should raise error if inner observable raises error",
    "lineNumber": 354
  },
  {
    "__docId__": 3312,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2318",
    "testId": 2318,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2318",
    "access": null,
    "description": "should raise error if outer observable raises error",
    "lineNumber": 374
  },
  {
    "__docId__": 3313,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2319",
    "testId": 2319,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2319",
    "access": null,
    "description": "should work with two nevers",
    "lineNumber": 383
  },
  {
    "__docId__": 3314,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2320",
    "testId": 2320,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2320",
    "access": null,
    "description": "should work with never and empty",
    "lineNumber": 393
  },
  {
    "__docId__": 3315,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2321",
    "testId": 2321,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2321",
    "access": null,
    "description": "should work with empty and never",
    "lineNumber": 403
  },
  {
    "__docId__": 3316,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2322",
    "testId": 2322,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2322",
    "access": null,
    "description": "should work with empty and empty",
    "lineNumber": 413
  },
  {
    "__docId__": 3317,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2323",
    "testId": 2323,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2323",
    "access": null,
    "description": "should work with empty and non-empty",
    "lineNumber": 423
  },
  {
    "__docId__": 3318,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2324",
    "testId": 2324,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2324",
    "access": null,
    "description": "should work with non-empty and empty",
    "lineNumber": 433
  },
  {
    "__docId__": 3319,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2325",
    "testId": 2325,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2325",
    "access": null,
    "description": "should work with never and non-empty",
    "lineNumber": 443
  },
  {
    "__docId__": 3320,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2326",
    "testId": 2326,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2326",
    "access": null,
    "description": "should work with non-empty and never",
    "lineNumber": 453
  },
  {
    "__docId__": 3321,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2327",
    "testId": 2327,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2327",
    "access": null,
    "description": "should combine a source with a second",
    "lineNumber": 463
  },
  {
    "__docId__": 3322,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2328",
    "testId": 2328,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2328",
    "access": null,
    "description": "should work with empty and error",
    "lineNumber": 474
  },
  {
    "__docId__": 3323,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2329",
    "testId": 2329,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2329",
    "access": null,
    "description": "should work with error and empty",
    "lineNumber": 484
  },
  {
    "__docId__": 3324,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2330",
    "testId": 2330,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2330",
    "access": null,
    "description": "should work with error",
    "lineNumber": 494
  },
  {
    "__docId__": 3325,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2331",
    "testId": 2331,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2331",
    "access": null,
    "description": "should work with never and error",
    "lineNumber": 504
  },
  {
    "__docId__": 3326,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2332",
    "testId": 2332,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2332",
    "access": null,
    "description": "should work with error and never",
    "lineNumber": 514
  },
  {
    "__docId__": 3327,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2333",
    "testId": 2333,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2333",
    "access": null,
    "description": "should work with error and error",
    "lineNumber": 524
  },
  {
    "__docId__": 3328,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2334",
    "testId": 2334,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2334",
    "access": null,
    "description": "should work with two sources that eventually raise errors",
    "lineNumber": 534
  },
  {
    "__docId__": 3329,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2335",
    "testId": 2335,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2335",
    "access": null,
    "description": "should work with two sources that eventually raise errors (swapped)",
    "lineNumber": 544
  },
  {
    "__docId__": 3330,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2336",
    "testId": 2336,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2336",
    "access": null,
    "description": "should work with error and some",
    "lineNumber": 554
  },
  {
    "__docId__": 3331,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2337",
    "testId": 2337,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2337",
    "access": null,
    "description": "should combine two immediately-scheduled observables",
    "lineNumber": 564
  },
  {
    "__docId__": 3332,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2338",
    "testId": 2338,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2338",
    "access": null,
    "description": "should combine a source with an immediately-scheduled source",
    "lineNumber": 574
  },
  {
    "__docId__": 3333,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2339",
    "testId": 2339,
    "memberof": "spec-js/operators/zipAll-spec.js~describe2287",
    "testDepth": 1,
    "longname": "spec-js/operators/zipAll-spec.js~describe2287.it2339",
    "access": null,
    "description": "should not break unsubscription chain when unsubscribed explicitly",
    "lineNumber": 584
  },
  {
    "__docId__": 3334,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/root-module-spec.js",
    "memberof": null,
    "longname": "spec-js/root-module-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../dist/cjs/Rx');\ndescribe('Root Module', function () {\n    it('should contain exports from commonjs modules', function () {\n        chai_1.expect(Rx.Observable).to.be.a('function');\n    });\n});\n//# sourceMappingURL=root-module-spec.js.map"
  },
  {
    "__docId__": 3335,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2340",
    "testId": 2340,
    "memberof": "spec-js/root-module-spec.js",
    "testDepth": 0,
    "longname": "spec-js/root-module-spec.js~describe2340",
    "access": null,
    "description": "Root Module",
    "lineNumber": 4
  },
  {
    "__docId__": 3336,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2341",
    "testId": 2341,
    "memberof": "spec-js/root-module-spec.js~describe2340",
    "testDepth": 1,
    "longname": "spec-js/root-module-spec.js~describe2340.it2341",
    "access": null,
    "description": "should contain exports from commonjs modules",
    "lineNumber": 5
  },
  {
    "__docId__": 3337,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/schedulers/AnimationFrameScheduler-spec.js",
    "memberof": null,
    "longname": "spec-js/schedulers/AnimationFrameScheduler-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../dist/cjs/Rx');\nvar animationFrame = Rx.Scheduler.animationFrame;\n/** @test {Scheduler} */\ndescribe('Scheduler.animationFrame', function () {\n    it('should exist', function () {\n        chai_1.expect(animationFrame).exist;\n    });\n    it('should act like the async scheduler if delay > 0', function () {\n        var actionHappened = false;\n        var sandbox = sinon.sandbox.create();\n        var fakeTimer = sandbox.useFakeTimers();\n        animationFrame.schedule(function () {\n            actionHappened = true;\n        }, 50);\n        chai_1.expect(actionHappened).to.be.false;\n        fakeTimer.tick(25);\n        chai_1.expect(actionHappened).to.be.false;\n        fakeTimer.tick(25);\n        chai_1.expect(actionHappened).to.be.true;\n        sandbox.restore();\n    });\n    it('should schedule an action to happen later', function (done) {\n        var actionHappened = false;\n        animationFrame.schedule(function () {\n            actionHappened = true;\n            done();\n        });\n        if (actionHappened) {\n            done(new Error('Scheduled action happened synchronously'));\n        }\n    });\n    it('should execute recursively scheduled actions in separate asynchronous contexts', function (done) {\n        var syncExec1 = true;\n        var syncExec2 = true;\n        animationFrame.schedule(function (index) {\n            if (index === 0) {\n                this.schedule(1);\n                animationFrame.schedule(function () { syncExec1 = false; });\n            }\n            else if (index === 1) {\n                this.schedule(2);\n                animationFrame.schedule(function () { syncExec2 = false; });\n            }\n            else if (index === 2) {\n                this.schedule(3);\n            }\n            else if (index === 3) {\n                if (!syncExec1 && !syncExec2) {\n                    done();\n                }\n                else {\n                    done(new Error('Execution happened synchronously.'));\n                }\n            }\n        }, 0, 0);\n    });\n    it('should cancel the animation frame if all scheduled actions unsubscribe before it executes', function (done) {\n        var animationFrameExec1 = false;\n        var animationFrameExec2 = false;\n        var action1 = animationFrame.schedule(function () { animationFrameExec1 = true; });\n        var action2 = animationFrame.schedule(function () { animationFrameExec2 = true; });\n        chai_1.expect(animationFrame.scheduled).to.exist;\n        chai_1.expect(animationFrame.actions.length).to.equal(2);\n        action1.unsubscribe();\n        action2.unsubscribe();\n        chai_1.expect(animationFrame.actions.length).to.equal(0);\n        chai_1.expect(animationFrame.scheduled).to.equal(undefined);\n        animationFrame.schedule(function () {\n            chai_1.expect(animationFrameExec1).to.equal(false);\n            chai_1.expect(animationFrameExec2).to.equal(false);\n            done();\n        });\n    });\n    it('should execute the rest of the scheduled actions if the first action is canceled', function (done) {\n        var actionHappened = false;\n        var firstSubscription = null;\n        var secondSubscription = null;\n        firstSubscription = animationFrame.schedule(function () {\n            actionHappened = true;\n            if (secondSubscription) {\n                secondSubscription.unsubscribe();\n            }\n            done(new Error('The first action should not have executed.'));\n        });\n        secondSubscription = animationFrame.schedule(function () {\n            if (!actionHappened) {\n                done();\n            }\n        });\n        if (actionHappened) {\n            done(new Error('Scheduled action happened synchronously'));\n        }\n        else {\n            firstSubscription.unsubscribe();\n        }\n    });\n});\n//# sourceMappingURL=AnimationFrameScheduler-spec.js.map"
  },
  {
    "__docId__": 3338,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2342",
    "testId": 2342,
    "memberof": "spec-js/schedulers/AnimationFrameScheduler-spec.js",
    "testDepth": 0,
    "longname": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342",
    "access": null,
    "description": "Scheduler.animationFrame",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Scheduler}"
      }
    ],
    "testTargets": [
      "Scheduler"
    ]
  },
  {
    "__docId__": 3339,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2343",
    "testId": 2343,
    "memberof": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342.it2343",
    "access": null,
    "description": "should exist",
    "lineNumber": 8
  },
  {
    "__docId__": 3340,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2344",
    "testId": 2344,
    "memberof": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342.it2344",
    "access": null,
    "description": "should act like the async scheduler if delay > 0",
    "lineNumber": 11
  },
  {
    "__docId__": 3341,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2345",
    "testId": 2345,
    "memberof": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342.it2345",
    "access": null,
    "description": "should schedule an action to happen later",
    "lineNumber": 25
  },
  {
    "__docId__": 3342,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2346",
    "testId": 2346,
    "memberof": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342.it2346",
    "access": null,
    "description": "should execute recursively scheduled actions in separate asynchronous contexts",
    "lineNumber": 35
  },
  {
    "__docId__": 3343,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2347",
    "testId": 2347,
    "memberof": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342.it2347",
    "access": null,
    "description": "should cancel the animation frame if all scheduled actions unsubscribe before it executes",
    "lineNumber": 60
  },
  {
    "__docId__": 3344,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2348",
    "testId": 2348,
    "memberof": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AnimationFrameScheduler-spec.js~describe2342.it2348",
    "access": null,
    "description": "should execute the rest of the scheduled actions if the first action is canceled",
    "lineNumber": 77
  },
  {
    "__docId__": 3345,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/schedulers/AsapScheduler-spec.js",
    "memberof": null,
    "longname": "spec-js/schedulers/AsapScheduler-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../dist/cjs/Rx');\nvar asap = Rx.Scheduler.asap;\n/** @test {Scheduler} */\ndescribe('Scheduler.asap', function () {\n    it('should exist', function () {\n        chai_1.expect(asap).exist;\n    });\n    it('should act like the async scheduler if delay > 0', function () {\n        var actionHappened = false;\n        var sandbox = sinon.sandbox.create();\n        var fakeTimer = sandbox.useFakeTimers();\n        asap.schedule(function () {\n            actionHappened = true;\n        }, 50);\n        chai_1.expect(actionHappened).to.be.false;\n        fakeTimer.tick(25);\n        chai_1.expect(actionHappened).to.be.false;\n        fakeTimer.tick(25);\n        chai_1.expect(actionHappened).to.be.true;\n        sandbox.restore();\n    });\n    it('should schedule an action to happen later', function (done) {\n        var actionHappened = false;\n        asap.schedule(function () {\n            actionHappened = true;\n            done();\n        });\n        if (actionHappened) {\n            done(new Error('Scheduled action happened synchronously'));\n        }\n    });\n    it('should execute recursively scheduled actions in separate asynchronous contexts', function (done) {\n        var syncExec1 = true;\n        var syncExec2 = true;\n        asap.schedule(function (index) {\n            if (index === 0) {\n                this.schedule(1);\n                asap.schedule(function () { syncExec1 = false; });\n            }\n            else if (index === 1) {\n                this.schedule(2);\n                asap.schedule(function () { syncExec2 = false; });\n            }\n            else if (index === 2) {\n                this.schedule(3);\n            }\n            else if (index === 3) {\n                if (!syncExec1 && !syncExec2) {\n                    done();\n                }\n                else {\n                    done(new Error('Execution happened synchronously.'));\n                }\n            }\n        }, 0, 0);\n    });\n    it('should cancel the setImmediate if all scheduled actions unsubscribe before it executes', function (done) {\n        var asapExec1 = false;\n        var asapExec2 = false;\n        var action1 = asap.schedule(function () { asapExec1 = true; });\n        var action2 = asap.schedule(function () { asapExec2 = true; });\n        chai_1.expect(asap.scheduled).to.exist;\n        chai_1.expect(asap.actions.length).to.equal(2);\n        action1.unsubscribe();\n        action2.unsubscribe();\n        chai_1.expect(asap.actions.length).to.equal(0);\n        chai_1.expect(asap.scheduled).to.equal(undefined);\n        asap.schedule(function () {\n            chai_1.expect(asapExec1).to.equal(false);\n            chai_1.expect(asapExec2).to.equal(false);\n            done();\n        });\n    });\n    it('should execute the rest of the scheduled actions if the first action is canceled', function (done) {\n        var actionHappened = false;\n        var firstSubscription = null;\n        var secondSubscription = null;\n        firstSubscription = asap.schedule(function () {\n            actionHappened = true;\n            if (secondSubscription) {\n                secondSubscription.unsubscribe();\n            }\n            done(new Error('The first action should not have executed.'));\n        });\n        secondSubscription = asap.schedule(function () {\n            if (!actionHappened) {\n                done();\n            }\n        });\n        if (actionHappened) {\n            done(new Error('Scheduled action happened synchronously'));\n        }\n        else {\n            firstSubscription.unsubscribe();\n        }\n    });\n});\n//# sourceMappingURL=AsapScheduler-spec.js.map"
  },
  {
    "__docId__": 3346,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2349",
    "testId": 2349,
    "memberof": "spec-js/schedulers/AsapScheduler-spec.js",
    "testDepth": 0,
    "longname": "spec-js/schedulers/AsapScheduler-spec.js~describe2349",
    "access": null,
    "description": "Scheduler.asap",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Scheduler}"
      }
    ],
    "testTargets": [
      "Scheduler"
    ]
  },
  {
    "__docId__": 3347,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2350",
    "testId": 2350,
    "memberof": "spec-js/schedulers/AsapScheduler-spec.js~describe2349",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AsapScheduler-spec.js~describe2349.it2350",
    "access": null,
    "description": "should exist",
    "lineNumber": 8
  },
  {
    "__docId__": 3348,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2351",
    "testId": 2351,
    "memberof": "spec-js/schedulers/AsapScheduler-spec.js~describe2349",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AsapScheduler-spec.js~describe2349.it2351",
    "access": null,
    "description": "should act like the async scheduler if delay > 0",
    "lineNumber": 11
  },
  {
    "__docId__": 3349,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2352",
    "testId": 2352,
    "memberof": "spec-js/schedulers/AsapScheduler-spec.js~describe2349",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AsapScheduler-spec.js~describe2349.it2352",
    "access": null,
    "description": "should schedule an action to happen later",
    "lineNumber": 25
  },
  {
    "__docId__": 3350,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2353",
    "testId": 2353,
    "memberof": "spec-js/schedulers/AsapScheduler-spec.js~describe2349",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AsapScheduler-spec.js~describe2349.it2353",
    "access": null,
    "description": "should execute recursively scheduled actions in separate asynchronous contexts",
    "lineNumber": 35
  },
  {
    "__docId__": 3351,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2354",
    "testId": 2354,
    "memberof": "spec-js/schedulers/AsapScheduler-spec.js~describe2349",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AsapScheduler-spec.js~describe2349.it2354",
    "access": null,
    "description": "should cancel the setImmediate if all scheduled actions unsubscribe before it executes",
    "lineNumber": 60
  },
  {
    "__docId__": 3352,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2355",
    "testId": 2355,
    "memberof": "spec-js/schedulers/AsapScheduler-spec.js~describe2349",
    "testDepth": 1,
    "longname": "spec-js/schedulers/AsapScheduler-spec.js~describe2349.it2355",
    "access": null,
    "description": "should execute the rest of the scheduled actions if the first action is canceled",
    "lineNumber": 77
  },
  {
    "__docId__": 3353,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/schedulers/QueueScheduler-spec.js",
    "memberof": null,
    "longname": "spec-js/schedulers/QueueScheduler-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Rx = require('../../dist/cjs/Rx');\nvar Scheduler = Rx.Scheduler;\nvar queue = Scheduler.queue;\n/** @test {Scheduler} */\ndescribe('Scheduler.queue', function () {\n    it('should act like the async scheduler if delay > 0', function () {\n        var actionHappened = false;\n        var sandbox = sinon.sandbox.create();\n        var fakeTimer = sandbox.useFakeTimers();\n        queue.schedule(function () {\n            actionHappened = true;\n        }, 50);\n        chai_1.expect(actionHappened).to.be.false;\n        fakeTimer.tick(25);\n        chai_1.expect(actionHappened).to.be.false;\n        fakeTimer.tick(25);\n        chai_1.expect(actionHappened).to.be.true;\n        sandbox.restore();\n    });\n    it('should switch from synchronous to asynchronous at will', function () {\n        var sandbox = sinon.sandbox.create();\n        var fakeTimer = sandbox.useFakeTimers();\n        var asyncExec = false;\n        var state = [];\n        queue.schedule(function (index) {\n            state.push(index);\n            if (index === 0) {\n                this.schedule(1, 100);\n            }\n            else if (index === 1) {\n                asyncExec = true;\n                this.schedule(2, 0);\n            }\n        }, 0, 0);\n        chai_1.expect(asyncExec).to.be.false;\n        chai_1.expect(state).to.be.deep.equal([0]);\n        fakeTimer.tick(100);\n        chai_1.expect(asyncExec).to.be.true;\n        chai_1.expect(state).to.be.deep.equal([0, 1, 2]);\n        sandbox.restore();\n    });\n    it('should unsubscribe the rest of the scheduled actions if an action throws an error', function () {\n        var actions = [];\n        var action2Exec = false;\n        var action3Exec = false;\n        var errorValue = undefined;\n        try {\n            queue.schedule(function () {\n                actions.push(queue.schedule(function () { throw new Error('oops'); }), queue.schedule(function () { action2Exec = true; }), queue.schedule(function () { action3Exec = true; }));\n            });\n        }\n        catch (e) {\n            errorValue = e;\n        }\n        chai_1.expect(actions.every(function (action) { return action.closed; })).to.be.true;\n        chai_1.expect(action2Exec).to.be.false;\n        chai_1.expect(action3Exec).to.be.false;\n        chai_1.expect(errorValue).exist;\n        chai_1.expect(errorValue.message).to.equal('oops');\n    });\n});\n//# sourceMappingURL=QueueScheduler-spec.js.map"
  },
  {
    "__docId__": 3354,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2356",
    "testId": 2356,
    "memberof": "spec-js/schedulers/QueueScheduler-spec.js",
    "testDepth": 0,
    "longname": "spec-js/schedulers/QueueScheduler-spec.js~describe2356",
    "access": null,
    "description": "Scheduler.queue",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{Scheduler}"
      }
    ],
    "testTargets": [
      "Scheduler"
    ]
  },
  {
    "__docId__": 3355,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2357",
    "testId": 2357,
    "memberof": "spec-js/schedulers/QueueScheduler-spec.js~describe2356",
    "testDepth": 1,
    "longname": "spec-js/schedulers/QueueScheduler-spec.js~describe2356.it2357",
    "access": null,
    "description": "should act like the async scheduler if delay > 0",
    "lineNumber": 9
  },
  {
    "__docId__": 3356,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2358",
    "testId": 2358,
    "memberof": "spec-js/schedulers/QueueScheduler-spec.js~describe2356",
    "testDepth": 1,
    "longname": "spec-js/schedulers/QueueScheduler-spec.js~describe2356.it2358",
    "access": null,
    "description": "should switch from synchronous to asynchronous at will",
    "lineNumber": 23
  },
  {
    "__docId__": 3357,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2359",
    "testId": 2359,
    "memberof": "spec-js/schedulers/QueueScheduler-spec.js~describe2356",
    "testDepth": 1,
    "longname": "spec-js/schedulers/QueueScheduler-spec.js~describe2356.it2359",
    "access": null,
    "description": "should unsubscribe the rest of the scheduled actions if an action throws an error",
    "lineNumber": 45
  },
  {
    "__docId__": 3358,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/schedulers/TestScheduler-spec.js",
    "memberof": null,
    "longname": "spec-js/schedulers/TestScheduler-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Notification = Rx.Notification;\nvar TestScheduler = Rx.TestScheduler;\n/** @test {TestScheduler} */\ndescribe('TestScheduler', function () {\n    it('should exist', function () {\n        chai_1.expect(TestScheduler).exist;\n        chai_1.expect(TestScheduler).to.be.a('function');\n    });\n    describe('parseMarbles()', function () {\n        it('should parse a marble string into a series of notifications and types', function () {\n            var result = TestScheduler.parseMarbles('-------a---b---|', { a: 'A', b: 'B' });\n            chai_1.expect(result).deep.equal([\n                { frame: 70, notification: Notification.createNext('A') },\n                { frame: 110, notification: Notification.createNext('B') },\n                { frame: 150, notification: Notification.createComplete() }\n            ]);\n        });\n        it('should parse a marble string, allowing spaces too', function () {\n            var result = TestScheduler.parseMarbles('--a--b--|   ', { a: 'A', b: 'B' });\n            chai_1.expect(result).deep.equal([\n                { frame: 20, notification: Notification.createNext('A') },\n                { frame: 50, notification: Notification.createNext('B') },\n                { frame: 80, notification: Notification.createComplete() }\n            ]);\n        });\n        it('should parse a marble string with a subscription point', function () {\n            var result = TestScheduler.parseMarbles('---^---a---b---|', { a: 'A', b: 'B' });\n            chai_1.expect(result).deep.equal([\n                { frame: 40, notification: Notification.createNext('A') },\n                { frame: 80, notification: Notification.createNext('B') },\n                { frame: 120, notification: Notification.createComplete() }\n            ]);\n        });\n        it('should parse a marble string with an error', function () {\n            var result = TestScheduler.parseMarbles('-------a---b---#', { a: 'A', b: 'B' }, 'omg error!');\n            chai_1.expect(result).deep.equal([\n                { frame: 70, notification: Notification.createNext('A') },\n                { frame: 110, notification: Notification.createNext('B') },\n                { frame: 150, notification: Notification.createError('omg error!') }\n            ]);\n        });\n        it('should default in the letter for the value if no value hash was passed', function () {\n            var result = TestScheduler.parseMarbles('--a--b--c--');\n            chai_1.expect(result).deep.equal([\n                { frame: 20, notification: Notification.createNext('a') },\n                { frame: 50, notification: Notification.createNext('b') },\n                { frame: 80, notification: Notification.createNext('c') },\n            ]);\n        });\n        it('should handle grouped values', function () {\n            var result = TestScheduler.parseMarbles('---(abc)---');\n            chai_1.expect(result).deep.equal([\n                { frame: 30, notification: Notification.createNext('a') },\n                { frame: 30, notification: Notification.createNext('b') },\n                { frame: 30, notification: Notification.createNext('c') }\n            ]);\n        });\n    });\n    describe('parseMarblesAsSubscriptions()', function () {\n        it('should parse a subscription marble string into a subscriptionLog', function () {\n            var result = TestScheduler.parseMarblesAsSubscriptions('---^---!-');\n            chai_1.expect(result.subscribedFrame).to.equal(30);\n            chai_1.expect(result.unsubscribedFrame).to.equal(70);\n        });\n        it('should parse a subscription marble string with an unsubscription', function () {\n            var result = TestScheduler.parseMarblesAsSubscriptions('---^-');\n            chai_1.expect(result.subscribedFrame).to.equal(30);\n            chai_1.expect(result.unsubscribedFrame).to.equal(Number.POSITIVE_INFINITY);\n        });\n        it('should parse a subscription marble string with a synchronous unsubscription', function () {\n            var result = TestScheduler.parseMarblesAsSubscriptions('---(^!)-');\n            chai_1.expect(result.subscribedFrame).to.equal(30);\n            chai_1.expect(result.unsubscribedFrame).to.equal(30);\n        });\n    });\n    describe('createTime()', function () {\n        it('should parse a simple time marble string to a number', function () {\n            var scheduler = new TestScheduler(null);\n            var time = scheduler.createTime('-----|');\n            chai_1.expect(time).to.equal(50);\n        });\n        it('should throw if not given good marble input', function () {\n            var scheduler = new TestScheduler(null);\n            chai_1.expect(function () {\n                scheduler.createTime('-a-b-#');\n            }).to.throw();\n        });\n    });\n    describe('createColdObservable()', function () {\n        it('should create a cold observable', function () {\n            var expected = ['A', 'B'];\n            var scheduler = new TestScheduler(null);\n            var source = scheduler.createColdObservable('--a---b--|', { a: 'A', b: 'B' });\n            chai_1.expect(source instanceof Rx.Observable).to.be.true;\n            source.subscribe(function (x) {\n                chai_1.expect(x).to.equal(expected.shift());\n            });\n            scheduler.flush();\n            chai_1.expect(expected.length).to.equal(0);\n        });\n    });\n    describe('createHotObservable()', function () {\n        it('should create a cold observable', function () {\n            var expected = ['A', 'B'];\n            var scheduler = new TestScheduler(null);\n            var source = scheduler.createHotObservable('--a---b--|', { a: 'A', b: 'B' });\n            chai_1.expect(source).to.be.an.instanceof(Rx.Subject);\n            source.subscribe(function (x) {\n                chai_1.expect(x).to.equal(expected.shift());\n            });\n            scheduler.flush();\n            chai_1.expect(expected.length).to.equal(0);\n        });\n    });\n    describe('jasmine helpers', function () {\n        describe('rxTestScheduler', function () {\n            it('should exist', function () {\n                chai_1.expect(rxTestScheduler).to.be.an.instanceof(TestScheduler);\n            });\n        });\n        describe('cold()', function () {\n            it('should exist', function () {\n                chai_1.expect(cold).to.exist;\n                chai_1.expect(cold).to.be.a('function');\n            });\n            it('should create a cold observable', function () {\n                var expected = [1, 2];\n                var source = cold('-a-b-|', { a: 1, b: 2 });\n                source.subscribe(function (x) {\n                    chai_1.expect(x).to.equal(expected.shift());\n                }, null, function () {\n                    chai_1.expect(expected.length).to.equal(0);\n                });\n                expectObservable(source).toBe('-a-b-|', { a: 1, b: 2 });\n            });\n        });\n        describe('hot()', function () {\n            it('should exist', function () {\n                chai_1.expect(hot).to.exist;\n                chai_1.expect(hot).to.be.a('function');\n            });\n            it('should create a hot observable', function () {\n                var source = hot('---^-a-b-|', { a: 1, b: 2 });\n                chai_1.expect(source instanceof Rx.Subject).to.be.true;\n                expectObservable(source).toBe('--a-b-|', { a: 1, b: 2 });\n            });\n        });\n        describe('time()', function () {\n            it('should exist', function () {\n                chai_1.expect(time).to.exist;\n                chai_1.expect(time).to.be.a('function');\n            });\n            it('should parse a simple time marble string to a number', function () {\n                chai_1.expect(time('-----|')).to.equal(50);\n            });\n        });\n        describe('expectObservable()', function () {\n            it('should exist', function () {\n                chai_1.expect(expectObservable).to.exist;\n                chai_1.expect(expectObservable).to.be.a('function');\n            });\n            it('should return an object with a toBe function', function () {\n                chai_1.expect(expectObservable(Rx.Observable.of(1)).toBe).to.be.a('function');\n            });\n            it('should append to flushTests array', function () {\n                expectObservable(Rx.Observable.empty());\n                chai_1.expect(rxTestScheduler.flushTests.length).to.equal(1);\n            });\n            it('should handle empty', function () {\n                expectObservable(Rx.Observable.empty()).toBe('|', {});\n            });\n            it('should handle never', function () {\n                expectObservable(Rx.Observable.never()).toBe('-', {});\n                expectObservable(Rx.Observable.never()).toBe('---', {});\n            });\n            it('should accept an unsubscription marble diagram', function () {\n                var source = hot('---^-a-b-|');\n                var unsubscribe = '---!';\n                var expected = '--a';\n                expectObservable(source, unsubscribe).toBe(expected);\n            });\n        });\n        describe('expectSubscriptions()', function () {\n            it('should exist', function () {\n                chai_1.expect(expectSubscriptions).to.exist;\n                chai_1.expect(expectSubscriptions).to.be.a('function');\n            });\n            it('should return an object with a toBe function', function () {\n                chai_1.expect(expectSubscriptions([]).toBe).to.be.a('function');\n            });\n            it('should append to flushTests array', function () {\n                expectSubscriptions([]);\n                chai_1.expect(rxTestScheduler.flushTests.length).to.equal(1);\n            });\n            it('should assert subscriptions of a cold observable', function () {\n                var source = cold('---a---b-|');\n                var subs = '^--------!';\n                expectSubscriptions(source.subscriptions).toBe(subs);\n                source.subscribe();\n            });\n        });\n        describe('end-to-end helper tests', function () {\n            it('should be awesome', function () {\n                var values = { a: 1, b: 2 };\n                var myObservable = cold('---a---b--|', values);\n                var subs = '^---------!';\n                expectObservable(myObservable).toBe('---a---b--|', values);\n                expectSubscriptions(myObservable.subscriptions).toBe(subs);\n            });\n            it('should support testing metastreams', function () {\n                var x = cold('-a-b|');\n                var y = cold('-c-d|');\n                var myObservable = hot('---x---y----|', { x: x, y: y });\n                var expected = '---x---y----|';\n                var expectedx = cold('-a-b|');\n                var expectedy = cold('-c-d|');\n                expectObservable(myObservable).toBe(expected, { x: expectedx, y: expectedy });\n            });\n        });\n    });\n});\n//# sourceMappingURL=TestScheduler-spec.js.map"
  },
  {
    "__docId__": 3359,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2360",
    "testId": 2360,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js",
    "testDepth": 0,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360",
    "access": null,
    "description": "TestScheduler",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{TestScheduler}"
      }
    ],
    "testTargets": [
      "TestScheduler"
    ]
  },
  {
    "__docId__": 3360,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2361",
    "testId": 2361,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360",
    "testDepth": 1,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.it2361",
    "access": null,
    "description": "should exist",
    "lineNumber": 8
  },
  {
    "__docId__": 3361,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2362",
    "testId": 2362,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360",
    "testDepth": 1,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362",
    "access": null,
    "description": "parseMarbles()",
    "lineNumber": 12
  },
  {
    "__docId__": 3362,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2363",
    "testId": 2363,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362.it2363",
    "access": null,
    "description": "should parse a marble string into a series of notifications and types",
    "lineNumber": 13
  },
  {
    "__docId__": 3363,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2364",
    "testId": 2364,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362.it2364",
    "access": null,
    "description": "should parse a marble string, allowing spaces too",
    "lineNumber": 21
  },
  {
    "__docId__": 3364,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2365",
    "testId": 2365,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362.it2365",
    "access": null,
    "description": "should parse a marble string with a subscription point",
    "lineNumber": 29
  },
  {
    "__docId__": 3365,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2366",
    "testId": 2366,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362.it2366",
    "access": null,
    "description": "should parse a marble string with an error",
    "lineNumber": 37
  },
  {
    "__docId__": 3366,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2367",
    "testId": 2367,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362.it2367",
    "access": null,
    "description": "should default in the letter for the value if no value hash was passed",
    "lineNumber": 45
  },
  {
    "__docId__": 3367,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2368",
    "testId": 2368,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2362.it2368",
    "access": null,
    "description": "should handle grouped values",
    "lineNumber": 53
  },
  {
    "__docId__": 3368,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2369",
    "testId": 2369,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360",
    "testDepth": 1,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2369",
    "access": null,
    "description": "parseMarblesAsSubscriptions()",
    "lineNumber": 62
  },
  {
    "__docId__": 3369,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2370",
    "testId": 2370,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2369",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2369.it2370",
    "access": null,
    "description": "should parse a subscription marble string into a subscriptionLog",
    "lineNumber": 63
  },
  {
    "__docId__": 3370,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2371",
    "testId": 2371,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2369",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2369.it2371",
    "access": null,
    "description": "should parse a subscription marble string with an unsubscription",
    "lineNumber": 68
  },
  {
    "__docId__": 3371,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2372",
    "testId": 2372,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2369",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2369.it2372",
    "access": null,
    "description": "should parse a subscription marble string with a synchronous unsubscription",
    "lineNumber": 73
  },
  {
    "__docId__": 3372,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2373",
    "testId": 2373,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360",
    "testDepth": 1,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2373",
    "access": null,
    "description": "createTime()",
    "lineNumber": 79
  },
  {
    "__docId__": 3373,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2374",
    "testId": 2374,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2373",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2373.it2374",
    "access": null,
    "description": "should parse a simple time marble string to a number",
    "lineNumber": 80
  },
  {
    "__docId__": 3374,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2375",
    "testId": 2375,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2373",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2373.it2375",
    "access": null,
    "description": "should throw if not given good marble input",
    "lineNumber": 85
  },
  {
    "__docId__": 3375,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2376",
    "testId": 2376,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360",
    "testDepth": 1,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2376",
    "access": null,
    "description": "createColdObservable()",
    "lineNumber": 92
  },
  {
    "__docId__": 3376,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2377",
    "testId": 2377,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2376",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2376.it2377",
    "access": null,
    "description": "should create a cold observable",
    "lineNumber": 93
  },
  {
    "__docId__": 3377,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2378",
    "testId": 2378,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360",
    "testDepth": 1,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2378",
    "access": null,
    "description": "createHotObservable()",
    "lineNumber": 105
  },
  {
    "__docId__": 3378,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2379",
    "testId": 2379,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2378",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2378.it2379",
    "access": null,
    "description": "should create a cold observable",
    "lineNumber": 106
  },
  {
    "__docId__": 3379,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2380",
    "testId": 2380,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360",
    "testDepth": 1,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380",
    "access": null,
    "description": "jasmine helpers",
    "lineNumber": 118
  },
  {
    "__docId__": 3380,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2381",
    "testId": 2381,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2381",
    "access": null,
    "description": "rxTestScheduler",
    "lineNumber": 119
  },
  {
    "__docId__": 3381,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2382",
    "testId": 2382,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2381",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2381.it2382",
    "access": null,
    "description": "should exist",
    "lineNumber": 120
  },
  {
    "__docId__": 3382,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2383",
    "testId": 2383,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2383",
    "access": null,
    "description": "cold()",
    "lineNumber": 124
  },
  {
    "__docId__": 3383,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2384",
    "testId": 2384,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2383",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2383.it2384",
    "access": null,
    "description": "should exist",
    "lineNumber": 125
  },
  {
    "__docId__": 3384,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2385",
    "testId": 2385,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2383",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2383.it2385",
    "access": null,
    "description": "should create a cold observable",
    "lineNumber": 129
  },
  {
    "__docId__": 3385,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2386",
    "testId": 2386,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2386",
    "access": null,
    "description": "hot()",
    "lineNumber": 140
  },
  {
    "__docId__": 3386,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2387",
    "testId": 2387,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2386",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2386.it2387",
    "access": null,
    "description": "should exist",
    "lineNumber": 141
  },
  {
    "__docId__": 3387,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2388",
    "testId": 2388,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2386",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2386.it2388",
    "access": null,
    "description": "should create a hot observable",
    "lineNumber": 145
  },
  {
    "__docId__": 3388,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2389",
    "testId": 2389,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2389",
    "access": null,
    "description": "time()",
    "lineNumber": 151
  },
  {
    "__docId__": 3389,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2390",
    "testId": 2390,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2389",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2389.it2390",
    "access": null,
    "description": "should exist",
    "lineNumber": 152
  },
  {
    "__docId__": 3390,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2391",
    "testId": 2391,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2389",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2389.it2391",
    "access": null,
    "description": "should parse a simple time marble string to a number",
    "lineNumber": 156
  },
  {
    "__docId__": 3391,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2392",
    "testId": 2392,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392",
    "access": null,
    "description": "expectObservable()",
    "lineNumber": 160
  },
  {
    "__docId__": 3392,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2393",
    "testId": 2393,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392.it2393",
    "access": null,
    "description": "should exist",
    "lineNumber": 161
  },
  {
    "__docId__": 3393,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2394",
    "testId": 2394,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392.it2394",
    "access": null,
    "description": "should return an object with a toBe function",
    "lineNumber": 165
  },
  {
    "__docId__": 3394,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2395",
    "testId": 2395,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392.it2395",
    "access": null,
    "description": "should append to flushTests array",
    "lineNumber": 168
  },
  {
    "__docId__": 3395,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2396",
    "testId": 2396,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392.it2396",
    "access": null,
    "description": "should handle empty",
    "lineNumber": 172
  },
  {
    "__docId__": 3396,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2397",
    "testId": 2397,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392.it2397",
    "access": null,
    "description": "should handle never",
    "lineNumber": 175
  },
  {
    "__docId__": 3397,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2398",
    "testId": 2398,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2392.it2398",
    "access": null,
    "description": "should accept an unsubscription marble diagram",
    "lineNumber": 179
  },
  {
    "__docId__": 3398,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2399",
    "testId": 2399,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2399",
    "access": null,
    "description": "expectSubscriptions()",
    "lineNumber": 186
  },
  {
    "__docId__": 3399,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2400",
    "testId": 2400,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2399",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2399.it2400",
    "access": null,
    "description": "should exist",
    "lineNumber": 187
  },
  {
    "__docId__": 3400,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2401",
    "testId": 2401,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2399",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2399.it2401",
    "access": null,
    "description": "should return an object with a toBe function",
    "lineNumber": 191
  },
  {
    "__docId__": 3401,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2402",
    "testId": 2402,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2399",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2399.it2402",
    "access": null,
    "description": "should append to flushTests array",
    "lineNumber": 194
  },
  {
    "__docId__": 3402,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2403",
    "testId": 2403,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2399",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2399.it2403",
    "access": null,
    "description": "should assert subscriptions of a cold observable",
    "lineNumber": 198
  },
  {
    "__docId__": 3403,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2404",
    "testId": 2404,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380",
    "testDepth": 2,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2404",
    "access": null,
    "description": "end-to-end helper tests",
    "lineNumber": 205
  },
  {
    "__docId__": 3404,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2405",
    "testId": 2405,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2404",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2404.it2405",
    "access": null,
    "description": "should be awesome",
    "lineNumber": 206
  },
  {
    "__docId__": 3405,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2406",
    "testId": 2406,
    "memberof": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2404",
    "testDepth": 3,
    "longname": "spec-js/schedulers/TestScheduler-spec.js~describe2360.describe2380.describe2404.it2406",
    "access": null,
    "description": "should support testing metastreams",
    "lineNumber": 213
  },
  {
    "__docId__": 3406,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/schedulers/VirtualTimeScheduler-spec.js",
    "memberof": null,
    "longname": "spec-js/schedulers/VirtualTimeScheduler-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar VirtualTimeScheduler = Rx.VirtualTimeScheduler;\n/** @test {VirtualTimeScheduler} */\ndescribe('VirtualTimeScheduler', function () {\n    it('should exist', function () {\n        chai_1.expect(VirtualTimeScheduler).exist;\n        chai_1.expect(VirtualTimeScheduler).to.be.a('function');\n    });\n    it('should schedule things in order when flushed if each this is scheduled synchrously', function () {\n        var v = new VirtualTimeScheduler();\n        var invoked = [];\n        var invoke = function (state) {\n            invoked.push(state);\n        };\n        v.schedule(invoke, 0, 1);\n        v.schedule(invoke, 0, 2);\n        v.schedule(invoke, 0, 3);\n        v.schedule(invoke, 0, 4);\n        v.schedule(invoke, 0, 5);\n        v.flush();\n        chai_1.expect(invoked).to.deep.equal([1, 2, 3, 4, 5]);\n    });\n    it('should schedule things in order when flushed if each this is scheduled at random', function () {\n        var v = new VirtualTimeScheduler();\n        var invoked = [];\n        var invoke = function (state) {\n            invoked.push(state);\n        };\n        v.schedule(invoke, 0, 1);\n        v.schedule(invoke, 100, 2);\n        v.schedule(invoke, 0, 3);\n        v.schedule(invoke, 500, 4);\n        v.schedule(invoke, 0, 5);\n        v.schedule(invoke, 100, 6);\n        v.flush();\n        chai_1.expect(invoked).to.deep.equal([1, 3, 5, 2, 6, 4]);\n    });\n    it('should schedule things in order when there are negative delays', function () {\n        var v = new VirtualTimeScheduler();\n        var invoked = [];\n        var invoke = function (state) {\n            invoked.push(state);\n        };\n        v.schedule(invoke, 0, 1);\n        v.schedule(invoke, 100, 2);\n        v.schedule(invoke, 0, 3);\n        v.schedule(invoke, -2, 4);\n        v.schedule(invoke, 0, 5);\n        v.schedule(invoke, -10, 6);\n        v.flush();\n        chai_1.expect(invoked).to.deep.equal([6, 4, 1, 3, 5, 2]);\n    });\n    it('should support recursive scheduling', function () {\n        var v = new VirtualTimeScheduler();\n        var count = 0;\n        var expected = [100, 200, 300];\n        v.schedule(function (state) {\n            if (++count === 3) {\n                return;\n            }\n            chai_1.expect(this.delay).to.equal(expected.shift());\n            this.schedule(state, this.delay);\n        }, 100, 'test');\n        v.flush();\n        chai_1.expect(count).to.equal(3);\n    });\n});\n//# sourceMappingURL=VirtualTimeScheduler-spec.js.map"
  },
  {
    "__docId__": 3407,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2407",
    "testId": 2407,
    "memberof": "spec-js/schedulers/VirtualTimeScheduler-spec.js",
    "testDepth": 0,
    "longname": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407",
    "access": null,
    "description": "VirtualTimeScheduler",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{VirtualTimeScheduler}"
      }
    ],
    "testTargets": [
      "VirtualTimeScheduler"
    ]
  },
  {
    "__docId__": 3408,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2408",
    "testId": 2408,
    "memberof": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407",
    "testDepth": 1,
    "longname": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407.it2408",
    "access": null,
    "description": "should exist",
    "lineNumber": 7
  },
  {
    "__docId__": 3409,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2409",
    "testId": 2409,
    "memberof": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407",
    "testDepth": 1,
    "longname": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407.it2409",
    "access": null,
    "description": "should schedule things in order when flushed if each this is scheduled synchrously",
    "lineNumber": 11
  },
  {
    "__docId__": 3410,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2410",
    "testId": 2410,
    "memberof": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407",
    "testDepth": 1,
    "longname": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407.it2410",
    "access": null,
    "description": "should schedule things in order when flushed if each this is scheduled at random",
    "lineNumber": 25
  },
  {
    "__docId__": 3411,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2411",
    "testId": 2411,
    "memberof": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407",
    "testDepth": 1,
    "longname": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407.it2411",
    "access": null,
    "description": "should schedule things in order when there are negative delays",
    "lineNumber": 40
  },
  {
    "__docId__": 3412,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2412",
    "testId": 2412,
    "memberof": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407",
    "testDepth": 1,
    "longname": "spec-js/schedulers/VirtualTimeScheduler-spec.js~describe2407.it2412",
    "access": null,
    "description": "should support recursive scheduling",
    "lineNumber": 55
  },
  {
    "__docId__": 3413,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/subjects/AsyncSubject-spec.js",
    "memberof": null,
    "longname": "spec-js/subjects/AsyncSubject-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar AsyncSubject = Rx.AsyncSubject;\nvar TestObserver = (function () {\n    function TestObserver() {\n        this.results = [];\n    }\n    TestObserver.prototype.next = function (value) {\n        this.results.push(value);\n    };\n    TestObserver.prototype.error = function (err) {\n        this.results.push(err);\n    };\n    TestObserver.prototype.complete = function () {\n        this.results.push('done');\n    };\n    return TestObserver;\n}());\n/** @test {AsyncSubject} */\ndescribe('AsyncSubject', function () {\n    it('should emit the last value when complete', function () {\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        subject.subscribe(observer);\n        subject.next(1);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.next(2);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.complete();\n        chai_1.expect(observer.results).to.deep.equal([2, 'done']);\n    });\n    it('should emit the last value when subscribing after complete', function () {\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        subject.next(1);\n        subject.next(2);\n        subject.complete();\n        subject.subscribe(observer);\n        chai_1.expect(observer.results).to.deep.equal([2, 'done']);\n    });\n    it('should keep emitting the last value to subsequent subscriptions', function () {\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        var subscription = subject.subscribe(observer);\n        subject.next(1);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.next(2);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.complete();\n        chai_1.expect(observer.results).to.deep.equal([2, 'done']);\n        subscription.unsubscribe();\n        observer.results = [];\n        subject.subscribe(observer);\n        chai_1.expect(observer.results).to.deep.equal([2, 'done']);\n    });\n    it('should not emit values after complete', function () {\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        subject.subscribe(observer);\n        subject.next(1);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.next(2);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.complete();\n        chai_1.expect(observer.results).to.deep.equal([2, 'done']);\n    });\n    it('should not allow change value after complete', function () {\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        var otherObserver = new TestObserver();\n        subject.subscribe(observer);\n        subject.next(1);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.complete();\n        chai_1.expect(observer.results).to.deep.equal([1, 'done']);\n        subject.next(2);\n        subject.subscribe(otherObserver);\n        chai_1.expect(otherObserver.results).to.deep.equal([1, 'done']);\n    });\n    it('should not emit values if unsubscribed before complete', function () {\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        var subscription = subject.subscribe(observer);\n        subject.next(1);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.next(2);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subscription.unsubscribe();\n        subject.next(3);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.complete();\n        chai_1.expect(observer.results).to.deep.equal([]);\n    });\n    it('should just complete if no value has been nexted into it', function () {\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        subject.subscribe(observer);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.complete();\n        chai_1.expect(observer.results).to.deep.equal(['done']);\n    });\n    it('should keep emitting complete to subsequent subscriptions', function () {\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        var subscription = subject.subscribe(observer);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.complete();\n        chai_1.expect(observer.results).to.deep.equal(['done']);\n        subscription.unsubscribe();\n        observer.results = [];\n        subject.subscribe(observer);\n        chai_1.expect(observer.results).to.deep.equal(['done']);\n    });\n    it('should only error if an error is passed into it', function () {\n        var expected = new Error('bad');\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        subject.subscribe(observer);\n        subject.next(1);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.error(expected);\n        chai_1.expect(observer.results).to.deep.equal([expected]);\n    });\n    it('should keep emitting error to subsequent subscriptions', function () {\n        var expected = new Error('bad');\n        var subject = new AsyncSubject();\n        var observer = new TestObserver();\n        subject.subscribe(observer);\n        subject.next(1);\n        chai_1.expect(observer.results).to.deep.equal([]);\n        subject.error(expected);\n        chai_1.expect(observer.results).to.deep.equal([expected]);\n        subject.unsubscribe();\n        observer.results = [];\n        subject.subscribe(observer);\n        chai_1.expect(observer.results).to.deep.equal([expected]);\n    });\n});\n//# sourceMappingURL=AsyncSubject-spec.js.map"
  },
  {
    "__docId__": 3414,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2413",
    "testId": 2413,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js",
    "testDepth": 0,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "access": null,
    "description": "AsyncSubject",
    "lineNumber": 21,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{AsyncSubject}"
      }
    ],
    "testTargets": [
      "AsyncSubject"
    ]
  },
  {
    "__docId__": 3415,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2414",
    "testId": 2414,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2414",
    "access": null,
    "description": "should emit the last value when complete",
    "lineNumber": 22
  },
  {
    "__docId__": 3416,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2415",
    "testId": 2415,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2415",
    "access": null,
    "description": "should emit the last value when subscribing after complete",
    "lineNumber": 33
  },
  {
    "__docId__": 3417,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2416",
    "testId": 2416,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2416",
    "access": null,
    "description": "should keep emitting the last value to subsequent subscriptions",
    "lineNumber": 42
  },
  {
    "__docId__": 3418,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2417",
    "testId": 2417,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2417",
    "access": null,
    "description": "should not emit values after complete",
    "lineNumber": 57
  },
  {
    "__docId__": 3419,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2418",
    "testId": 2418,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2418",
    "access": null,
    "description": "should not allow change value after complete",
    "lineNumber": 68
  },
  {
    "__docId__": 3420,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2419",
    "testId": 2419,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2419",
    "access": null,
    "description": "should not emit values if unsubscribed before complete",
    "lineNumber": 81
  },
  {
    "__docId__": 3421,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2420",
    "testId": 2420,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2420",
    "access": null,
    "description": "should just complete if no value has been nexted into it",
    "lineNumber": 95
  },
  {
    "__docId__": 3422,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2421",
    "testId": 2421,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2421",
    "access": null,
    "description": "should keep emitting complete to subsequent subscriptions",
    "lineNumber": 103
  },
  {
    "__docId__": 3423,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2422",
    "testId": 2422,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2422",
    "access": null,
    "description": "should only error if an error is passed into it",
    "lineNumber": 115
  },
  {
    "__docId__": 3424,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2423",
    "testId": 2423,
    "memberof": "spec-js/subjects/AsyncSubject-spec.js~describe2413",
    "testDepth": 1,
    "longname": "spec-js/subjects/AsyncSubject-spec.js~describe2413.it2423",
    "access": null,
    "description": "should keep emitting error to subsequent subscriptions",
    "lineNumber": 125
  },
  {
    "__docId__": 3425,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/subjects/BehaviorSubject-spec.js",
    "memberof": null,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar BehaviorSubject = Rx.BehaviorSubject;\nvar Observable = Rx.Observable;\nvar ObjectUnsubscribedError = Rx.ObjectUnsubscribedError;\n/** @test {BehaviorSubject} */\ndescribe('BehaviorSubject', function () {\n    it('should extend Subject', function (done) {\n        var subject = new BehaviorSubject(null);\n        chai_1.expect(subject instanceof Rx.Subject).to.be.true;\n        done();\n    });\n    it('should throw if it has received an error and getValue() is called', function () {\n        var subject = new BehaviorSubject(null);\n        subject.error(new Error('derp'));\n        chai_1.expect(function () {\n            subject.getValue();\n        }).to.throw(Error, 'derp');\n    });\n    it('should throw an ObjectUnsubscribedError if getValue() is called ' +\n        'and the BehaviorSubject has been unsubscribed', function () {\n        var subject = new BehaviorSubject('hi there');\n        subject.unsubscribe();\n        chai_1.expect(function () {\n            subject.getValue();\n        }).to.throw(ObjectUnsubscribedError);\n    });\n    it('should have a getValue() method to retrieve the current value', function () {\n        var subject = new BehaviorSubject('staltz');\n        chai_1.expect(subject.getValue()).to.equal('staltz');\n        subject.next('oj');\n        chai_1.expect(subject.getValue()).to.equal('oj');\n    });\n    it('should not allow you to set `value` directly', function () {\n        var subject = new BehaviorSubject('flibberty');\n        try {\n            // XXX: escape from readonly restriction for testing.\n            subject.value = 'jibbets';\n        }\n        catch (e) {\n        }\n        chai_1.expect(subject.getValue()).to.equal('flibberty');\n        chai_1.expect(subject.value).to.equal('flibberty');\n    });\n    it('should still allow you to retrieve the value from the value property', function () {\n        var subject = new BehaviorSubject('fuzzy');\n        chai_1.expect(subject.value).to.equal('fuzzy');\n        subject.next('bunny');\n        chai_1.expect(subject.value).to.equal('bunny');\n    });\n    it('should start with an initialization value', function (done) {\n        var subject = new BehaviorSubject('foo');\n        var expected = ['foo', 'bar'];\n        var i = 0;\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        }, null, done);\n        subject.next('bar');\n        subject.complete();\n    });\n    it('should pump values to multiple subscribers', function (done) {\n        var subject = new BehaviorSubject('init');\n        var expected = ['init', 'foo', 'bar'];\n        var i = 0;\n        var j = 0;\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[i++]);\n        });\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected[j++]);\n        }, null, done);\n        chai_1.expect(subject.observers.length).to.equal(2);\n        subject.next('foo');\n        subject.next('bar');\n        subject.complete();\n    });\n    it('should not pass values nexted after a complete', function () {\n        var subject = new BehaviorSubject('init');\n        var results = [];\n        subject.subscribe(function (x) {\n            results.push(x);\n        });\n        chai_1.expect(results).to.deep.equal(['init']);\n        subject.next('foo');\n        chai_1.expect(results).to.deep.equal(['init', 'foo']);\n        subject.complete();\n        chai_1.expect(results).to.deep.equal(['init', 'foo']);\n        subject.next('bar');\n        chai_1.expect(results).to.deep.equal(['init', 'foo']);\n    });\n    it('should clean out unsubscribed subscribers', function (done) {\n        var subject = new BehaviorSubject('init');\n        var sub1 = subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal('init');\n        });\n        var sub2 = subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal('init');\n        });\n        chai_1.expect(subject.observers.length).to.equal(2);\n        sub1.unsubscribe();\n        chai_1.expect(subject.observers.length).to.equal(1);\n        sub2.unsubscribe();\n        chai_1.expect(subject.observers.length).to.equal(0);\n        done();\n    });\n    it('should replay the previous value when subscribed', function () {\n        var behaviorSubject = new BehaviorSubject('0');\n        function feedNextIntoSubject(x) { behaviorSubject.next(x); }\n        function feedErrorIntoSubject(err) { behaviorSubject.error(err); }\n        function feedCompleteIntoSubject() { behaviorSubject.complete(); }\n        var sourceTemplate = '-1-2-3----4------5-6---7--8----9--|';\n        var subscriber1 = hot('      (a|)                         ').mergeMapTo(behaviorSubject);\n        var unsub1 = '                     !             ';\n        var expected1 = '      3---4------5-6--             ';\n        var subscriber2 = hot('            (b|)                   ').mergeMapTo(behaviorSubject);\n        var unsub2 = '                         !         ';\n        var expected2 = '            4----5-6---7--         ';\n        var subscriber3 = hot('                           (c|)    ').mergeMapTo(behaviorSubject);\n        var expected3 = '                           8---9--|';\n        expectObservable(hot(sourceTemplate).do(feedNextIntoSubject, feedErrorIntoSubject, feedCompleteIntoSubject)).toBe(sourceTemplate);\n        expectObservable(subscriber1, unsub1).toBe(expected1);\n        expectObservable(subscriber2, unsub2).toBe(expected2);\n        expectObservable(subscriber3).toBe(expected3);\n    });\n    it('should emit complete when subscribed after completed', function () {\n        var behaviorSubject = new BehaviorSubject('0');\n        function feedNextIntoSubject(x) { behaviorSubject.next(x); }\n        function feedErrorIntoSubject(err) { behaviorSubject.error(err); }\n        function feedCompleteIntoSubject() { behaviorSubject.complete(); }\n        var sourceTemplate = '-1-2-3--4--|';\n        var subscriber1 = hot('               (a|)').mergeMapTo(behaviorSubject);\n        var expected1 = '               |   ';\n        expectObservable(hot(sourceTemplate).do(feedNextIntoSubject, feedErrorIntoSubject, feedCompleteIntoSubject)).toBe(sourceTemplate);\n        expectObservable(subscriber1).toBe(expected1);\n    });\n    it('should be an Observer which can be given to Observable.subscribe', function (done) {\n        var source = Observable.of(1, 2, 3, 4, 5);\n        var subject = new BehaviorSubject(0);\n        var expected = [0, 1, 2, 3, 4, 5];\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expected.shift());\n        }, function (x) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n        source.subscribe(subject);\n    });\n});\n//# sourceMappingURL=BehaviorSubject-spec.js.map"
  },
  {
    "__docId__": 3426,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2424",
    "testId": 2424,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js",
    "testDepth": 0,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "access": null,
    "description": "BehaviorSubject",
    "lineNumber": 8,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{BehaviorSubject}"
      }
    ],
    "testTargets": [
      "BehaviorSubject"
    ]
  },
  {
    "__docId__": 3427,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2425",
    "testId": 2425,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2425",
    "access": null,
    "description": "should extend Subject",
    "lineNumber": 9
  },
  {
    "__docId__": 3428,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2426",
    "testId": 2426,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2426",
    "access": null,
    "description": "should throw if it has received an error and getValue() is called",
    "lineNumber": 14
  },
  {
    "__docId__": 3429,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2427",
    "testId": 2427,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2427",
    "access": null,
    "lineNumber": 21
  },
  {
    "__docId__": 3430,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2428",
    "testId": 2428,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2428",
    "access": null,
    "description": "should have a getValue() method to retrieve the current value",
    "lineNumber": 29
  },
  {
    "__docId__": 3431,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2429",
    "testId": 2429,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2429",
    "access": null,
    "description": "should not allow you to set `value` directly",
    "lineNumber": 35
  },
  {
    "__docId__": 3432,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2430",
    "testId": 2430,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2430",
    "access": null,
    "description": "should still allow you to retrieve the value from the value property",
    "lineNumber": 46
  },
  {
    "__docId__": 3433,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2431",
    "testId": 2431,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2431",
    "access": null,
    "description": "should start with an initialization value",
    "lineNumber": 52
  },
  {
    "__docId__": 3434,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2432",
    "testId": 2432,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2432",
    "access": null,
    "description": "should pump values to multiple subscribers",
    "lineNumber": 62
  },
  {
    "__docId__": 3435,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2433",
    "testId": 2433,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2433",
    "access": null,
    "description": "should not pass values nexted after a complete",
    "lineNumber": 78
  },
  {
    "__docId__": 3436,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2434",
    "testId": 2434,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2434",
    "access": null,
    "description": "should clean out unsubscribed subscribers",
    "lineNumber": 92
  },
  {
    "__docId__": 3437,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2435",
    "testId": 2435,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2435",
    "access": null,
    "description": "should replay the previous value when subscribed",
    "lineNumber": 107
  },
  {
    "__docId__": 3438,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2436",
    "testId": 2436,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2436",
    "access": null,
    "description": "should emit complete when subscribed after completed",
    "lineNumber": 126
  },
  {
    "__docId__": 3439,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2437",
    "testId": 2437,
    "memberof": "spec-js/subjects/BehaviorSubject-spec.js~describe2424",
    "testDepth": 1,
    "longname": "spec-js/subjects/BehaviorSubject-spec.js~describe2424.it2437",
    "access": null,
    "description": "should be an Observer which can be given to Observable.subscribe",
    "lineNumber": 137
  },
  {
    "__docId__": 3440,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/subjects/ReplaySubject-spec.js",
    "memberof": null,
    "longname": "spec-js/subjects/ReplaySubject-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar ReplaySubject = Rx.ReplaySubject;\nvar Observable = Rx.Observable;\n/** @test {ReplaySubject} */\ndescribe('ReplaySubject', function () {\n    it('should extend Subject', function (done) {\n        var subject = new ReplaySubject();\n        chai_1.expect(subject instanceof Rx.Subject).to.be.true;\n        done();\n    });\n    it('should add the observer before running subscription code', function () {\n        var subject = new ReplaySubject();\n        subject.next(1);\n        var results = [];\n        subject.subscribe(function (value) {\n            results.push(value);\n            if (value < 3) {\n                subject.next(value + 1);\n            }\n        });\n        chai_1.expect(results).to.deep.equal([1, 2, 3]);\n    });\n    it('should replay values upon subscription', function (done) {\n        var subject = new ReplaySubject();\n        var expects = [1, 2, 3];\n        var i = 0;\n        subject.next(1);\n        subject.next(2);\n        subject.next(3);\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expects[i++]);\n            if (i === 3) {\n                subject.complete();\n            }\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    it('should replay values and complete', function (done) {\n        var subject = new ReplaySubject();\n        var expects = [1, 2, 3];\n        var i = 0;\n        subject.next(1);\n        subject.next(2);\n        subject.next(3);\n        subject.complete();\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expects[i++]);\n        }, null, done);\n    });\n    it('should replay values and error', function (done) {\n        var subject = new ReplaySubject();\n        var expects = [1, 2, 3];\n        var i = 0;\n        subject.next(1);\n        subject.next(2);\n        subject.next(3);\n        subject.error('fooey');\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expects[i++]);\n        }, function (err) {\n            chai_1.expect(err).to.equal('fooey');\n            done();\n        });\n    });\n    it('should only replay values within its buffer size', function (done) {\n        var subject = new ReplaySubject(2);\n        var expects = [2, 3];\n        var i = 0;\n        subject.next(1);\n        subject.next(2);\n        subject.next(3);\n        subject.subscribe(function (x) {\n            chai_1.expect(x).to.equal(expects[i++]);\n            if (i === 2) {\n                subject.complete();\n            }\n        }, function (err) {\n            done(new Error('should not be called'));\n        }, function () {\n            done();\n        });\n    });\n    describe('with bufferSize=2', function () {\n        it('should replay 2 previous values when subscribed', function () {\n            var replaySubject = new ReplaySubject(2);\n            function feedNextIntoSubject(x) { replaySubject.next(x); }\n            function feedErrorIntoSubject(err) { replaySubject.error(err); }\n            function feedCompleteIntoSubject() { replaySubject.complete(); }\n            var sourceTemplate = '-1-2-3----4------5-6---7--8----9--|';\n            var subscriber1 = hot('      (a|)                         ').mergeMapTo(replaySubject);\n            var unsub1 = '                     !             ';\n            var expected1 = '      (23)4------5-6--             ';\n            var subscriber2 = hot('            (b|)                   ').mergeMapTo(replaySubject);\n            var unsub2 = '                         !         ';\n            var expected2 = '            (34)-5-6---7--         ';\n            var subscriber3 = hot('                           (c|)    ').mergeMapTo(replaySubject);\n            var expected3 = '                           (78)9--|';\n            expectObservable(hot(sourceTemplate).do(feedNextIntoSubject, feedErrorIntoSubject, feedCompleteIntoSubject)).toBe(sourceTemplate);\n            expectObservable(subscriber1, unsub1).toBe(expected1);\n            expectObservable(subscriber2, unsub2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n        });\n        it('should replay 2 last values for when subscribed after completed', function () {\n            var replaySubject = new ReplaySubject(2);\n            function feedNextIntoSubject(x) { replaySubject.next(x); }\n            function feedErrorIntoSubject(err) { replaySubject.error(err); }\n            function feedCompleteIntoSubject() { replaySubject.complete(); }\n            var sourceTemplate = '-1-2-3--4--|';\n            var subscriber1 = hot('               (a|) ').mergeMapTo(replaySubject);\n            var expected1 = '               (34|)';\n            expectObservable(hot(sourceTemplate).do(feedNextIntoSubject, feedErrorIntoSubject, feedCompleteIntoSubject)).toBe(sourceTemplate);\n            expectObservable(subscriber1).toBe(expected1);\n        });\n        it('should handle subscribers that arrive and leave at different times, ' +\n            'subject does not complete', function () {\n            var subject = new ReplaySubject(2);\n            var results1 = [];\n            var results2 = [];\n            var results3 = [];\n            subject.next(1);\n            subject.next(2);\n            subject.next(3);\n            subject.next(4);\n            var subscription1 = subject.subscribe(function (x) { results1.push(x); }, function (err) { results1.push('E'); }, function () { results1.push('C'); });\n            subject.next(5);\n            var subscription2 = subject.subscribe(function (x) { results2.push(x); }, function (err) { results2.push('E'); }, function () { results2.push('C'); });\n            subject.next(6);\n            subject.next(7);\n            subscription1.unsubscribe();\n            subject.next(8);\n            subscription2.unsubscribe();\n            subject.next(9);\n            subject.next(10);\n            var subscription3 = subject.subscribe(function (x) { results3.push(x); }, function (err) { results3.push('E'); }, function () { results3.push('C'); });\n            subject.next(11);\n            subscription3.unsubscribe();\n            chai_1.expect(results1).to.deep.equal([3, 4, 5, 6, 7]);\n            chai_1.expect(results2).to.deep.equal([4, 5, 6, 7, 8]);\n            chai_1.expect(results3).to.deep.equal([9, 10, 11]);\n            subject.complete();\n        });\n    });\n    describe('with windowTime=40', function () {\n        it('should replay previous values since 40 time units ago when subscribed', function () {\n            var replaySubject = new ReplaySubject(Number.POSITIVE_INFINITY, 40, rxTestScheduler);\n            function feedNextIntoSubject(x) { replaySubject.next(x); }\n            function feedErrorIntoSubject(err) { replaySubject.error(err); }\n            function feedCompleteIntoSubject() { replaySubject.complete(); }\n            var sourceTemplate = '-1-2-3----4------5-6----7-8----9--|';\n            var subscriber1 = hot('      (a|)                         ').mergeMapTo(replaySubject);\n            var unsub1 = '                     !             ';\n            var expected1 = '      (23)4------5-6--             ';\n            var subscriber2 = hot('            (b|)                   ').mergeMapTo(replaySubject);\n            var unsub2 = '                         !         ';\n            var expected2 = '            4----5-6----7-         ';\n            var subscriber3 = hot('                           (c|)    ').mergeMapTo(replaySubject);\n            var expected3 = '                           (78)9--|';\n            expectObservable(hot(sourceTemplate).do(feedNextIntoSubject, feedErrorIntoSubject, feedCompleteIntoSubject)).toBe(sourceTemplate);\n            expectObservable(subscriber1, unsub1).toBe(expected1);\n            expectObservable(subscriber2, unsub2).toBe(expected2);\n            expectObservable(subscriber3).toBe(expected3);\n        });\n        it('should replay last values since 40 time units ago when subscribed', function () {\n            var replaySubject = new ReplaySubject(Number.POSITIVE_INFINITY, 40, rxTestScheduler);\n            function feedNextIntoSubject(x) { replaySubject.next(x); }\n            function feedErrorIntoSubject(err) { replaySubject.error(err); }\n            function feedCompleteIntoSubject() { replaySubject.complete(); }\n            var sourceTemplate = '-1-2-3----4|';\n            var subscriber1 = hot('             (a|)').mergeMapTo(replaySubject);\n            var expected1 = '             (4|)';\n            expectObservable(hot(sourceTemplate).do(feedNextIntoSubject, feedErrorIntoSubject, feedCompleteIntoSubject)).toBe(sourceTemplate);\n            expectObservable(subscriber1).toBe(expected1);\n        });\n    });\n    it('should be an Observer which can be given to Observable.subscribe', function () {\n        var source = Observable.of(1, 2, 3, 4, 5);\n        var subject = new ReplaySubject(3);\n        var results = [];\n        subject.subscribe(function (x) { return results.push(x); }, null, function () { return results.push('done'); });\n        source.subscribe(subject);\n        chai_1.expect(results).to.deep.equal([1, 2, 3, 4, 5, 'done']);\n        results = [];\n        subject.subscribe(function (x) { return results.push(x); }, null, function () { return results.push('done'); });\n        chai_1.expect(results).to.deep.equal([3, 4, 5, 'done']);\n    });\n});\n//# sourceMappingURL=ReplaySubject-spec.js.map"
  },
  {
    "__docId__": 3441,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2438",
    "testId": 2438,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js",
    "testDepth": 0,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "access": null,
    "description": "ReplaySubject",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{ReplaySubject}"
      }
    ],
    "testTargets": [
      "ReplaySubject"
    ]
  },
  {
    "__docId__": 3442,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2439",
    "testId": 2439,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "testDepth": 1,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.it2439",
    "access": null,
    "description": "should extend Subject",
    "lineNumber": 8
  },
  {
    "__docId__": 3443,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2440",
    "testId": 2440,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "testDepth": 1,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.it2440",
    "access": null,
    "description": "should add the observer before running subscription code",
    "lineNumber": 13
  },
  {
    "__docId__": 3444,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2441",
    "testId": 2441,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "testDepth": 1,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.it2441",
    "access": null,
    "description": "should replay values upon subscription",
    "lineNumber": 25
  },
  {
    "__docId__": 3445,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2442",
    "testId": 2442,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "testDepth": 1,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.it2442",
    "access": null,
    "description": "should replay values and complete",
    "lineNumber": 43
  },
  {
    "__docId__": 3446,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2443",
    "testId": 2443,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "testDepth": 1,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.it2443",
    "access": null,
    "description": "should replay values and error",
    "lineNumber": 55
  },
  {
    "__docId__": 3447,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2444",
    "testId": 2444,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "testDepth": 1,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.it2444",
    "access": null,
    "description": "should only replay values within its buffer size",
    "lineNumber": 70
  },
  {
    "__docId__": 3448,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2445",
    "testId": 2445,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "testDepth": 1,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2445",
    "access": null,
    "description": "with bufferSize=2",
    "lineNumber": 88
  },
  {
    "__docId__": 3449,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2446",
    "testId": 2446,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2445",
    "testDepth": 2,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2445.it2446",
    "access": null,
    "description": "should replay 2 previous values when subscribed",
    "lineNumber": 89
  },
  {
    "__docId__": 3450,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2447",
    "testId": 2447,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2445",
    "testDepth": 2,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2445.it2447",
    "access": null,
    "description": "should replay 2 last values for when subscribed after completed",
    "lineNumber": 108
  },
  {
    "__docId__": 3451,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2448",
    "testId": 2448,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2445",
    "testDepth": 2,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2445.it2448",
    "access": null,
    "lineNumber": 119
  },
  {
    "__docId__": 3452,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2449",
    "testId": 2449,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "testDepth": 1,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2449",
    "access": null,
    "description": "with windowTime=40",
    "lineNumber": 148
  },
  {
    "__docId__": 3453,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2450",
    "testId": 2450,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2449",
    "testDepth": 2,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2449.it2450",
    "access": null,
    "description": "should replay previous values since 40 time units ago when subscribed",
    "lineNumber": 149
  },
  {
    "__docId__": 3454,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2451",
    "testId": 2451,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2449",
    "testDepth": 2,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.describe2449.it2451",
    "access": null,
    "description": "should replay last values since 40 time units ago when subscribed",
    "lineNumber": 168
  },
  {
    "__docId__": 3455,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2452",
    "testId": 2452,
    "memberof": "spec-js/subjects/ReplaySubject-spec.js~describe2438",
    "testDepth": 1,
    "longname": "spec-js/subjects/ReplaySubject-spec.js~describe2438.it2452",
    "access": null,
    "description": "should be an Observer which can be given to Observable.subscribe",
    "lineNumber": 180
  },
  {
    "__docId__": 3456,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/symbol/iterator-spec.js",
    "memberof": null,
    "longname": "spec-js/symbol/iterator-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar iterator_1 = require('../../dist/cjs/symbol/iterator');\ndescribe('iterator symbol', function () {\n    it('should exist', function () {\n        chai_1.expect(iterator_1.$$iterator).to.exist;\n    });\n});\ndescribe('symbolIteratorPonyfill', function () {\n    describe('when root.Symbol is a function', function () {\n        describe('and Symbol.iterator exists', function () {\n            it('should return Symbol.iterator', function () {\n                var FakeSymbol = function () { };\n                FakeSymbol.iterator = {};\n                var result = iterator_1.symbolIteratorPonyfill({ Symbol: FakeSymbol });\n                chai_1.expect(result).to.equal(FakeSymbol.iterator);\n            });\n        });\n        describe('and Symbol.iterator does not exist', function () {\n            it('should use Symbol to create an return a symbol and polyfill Symbol.iterator', function () {\n                var SYMBOL_RETURN = {};\n                var passedDescription;\n                var root = {\n                    Symbol: function (description) {\n                        passedDescription = description;\n                        return SYMBOL_RETURN;\n                    }\n                };\n                var result = iterator_1.symbolIteratorPonyfill(root);\n                chai_1.expect(result).to.equal(SYMBOL_RETURN);\n                chai_1.expect(root.Symbol.iterator).to.equal(SYMBOL_RETURN);\n            });\n        });\n    });\n    describe('when root.Symbol is NOT a function', function () {\n        describe('and root.Set exists with an @@iterator property that is a function (Mozilla bug)', function () {\n            it('should return \"$$iterator\"', function () {\n                var result = iterator_1.symbolIteratorPonyfill({\n                    Set: function FakeSet() {\n                        this['@@iterator'] = function () { };\n                    }\n                });\n                chai_1.expect(result).to.equal('@@iterator');\n            });\n        });\n        describe('root.Set does not exit or does not have an @@iterator property', function () {\n            describe('but Map exists and a random key on Map.prototype that matches Map.prototype.entries (for es6-shim)', function () {\n                it('should return the key that matches the \"entries\" key on Map.prototype, but not return \"size\"', function () {\n                    function FakeMap() { }\n                    function fakeMethod() { }\n                    FakeMap.prototype['-omg-lol-i-can-use-whatever-I-want-YOLO-'] = fakeMethod;\n                    FakeMap.prototype.entries = fakeMethod;\n                    FakeMap.prototype.size = fakeMethod;\n                    var root = {\n                        Map: FakeMap\n                    };\n                    var result = iterator_1.symbolIteratorPonyfill(root);\n                    chai_1.expect(result).to.equal('-omg-lol-i-can-use-whatever-I-want-YOLO-');\n                });\n            });\n            describe('but Map exists and no other key except \"size\" on Map.prototype that matches Map.prototype.entries (for es6-shim)', function () {\n                it('should return \"@@iterator\"', function () {\n                    function FakeMap() { }\n                    function fakeMethod() { }\n                    FakeMap.prototype.entries = fakeMethod;\n                    FakeMap.prototype.size = fakeMethod;\n                    var root = {\n                        Map: FakeMap\n                    };\n                    var result = iterator_1.symbolIteratorPonyfill(root);\n                    chai_1.expect(result).to.equal('@@iterator');\n                });\n            });\n            describe('if Set exists but has no iterator, and Map does not exist (bad polyfill maybe?)', function () {\n                it('should return \"@@iterator\"', function () {\n                    var result = iterator_1.symbolIteratorPonyfill({\n                        Set: function () { }\n                    });\n                    chai_1.expect(result).to.equal('@@iterator');\n                });\n            });\n            describe('and root.Set and root.Map do NOT exist', function () {\n                it('should return \"@@iterator\"', function () {\n                    var result = iterator_1.symbolIteratorPonyfill({});\n                    chai_1.expect(result).to.equal('@@iterator');\n                });\n            });\n        });\n    });\n});\n//# sourceMappingURL=iterator-spec.js.map"
  },
  {
    "__docId__": 3457,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2453",
    "testId": 2453,
    "memberof": "spec-js/symbol/iterator-spec.js",
    "testDepth": 0,
    "longname": "spec-js/symbol/iterator-spec.js~describe2453",
    "access": null,
    "description": "iterator symbol",
    "lineNumber": 4
  },
  {
    "__docId__": 3458,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2454",
    "testId": 2454,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2453",
    "testDepth": 1,
    "longname": "spec-js/symbol/iterator-spec.js~describe2453.it2454",
    "access": null,
    "description": "should exist",
    "lineNumber": 5
  },
  {
    "__docId__": 3459,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2455",
    "testId": 2455,
    "memberof": "spec-js/symbol/iterator-spec.js",
    "testDepth": 0,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455",
    "access": null,
    "description": "symbolIteratorPonyfill",
    "lineNumber": 9
  },
  {
    "__docId__": 3460,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2456",
    "testId": 2456,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455",
    "testDepth": 1,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2456",
    "access": null,
    "description": "when root.Symbol is a function",
    "lineNumber": 10
  },
  {
    "__docId__": 3461,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2457",
    "testId": 2457,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2456",
    "testDepth": 2,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2456.describe2457",
    "access": null,
    "description": "and Symbol.iterator exists",
    "lineNumber": 11
  },
  {
    "__docId__": 3462,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2458",
    "testId": 2458,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2456.describe2457",
    "testDepth": 3,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2456.describe2457.it2458",
    "access": null,
    "description": "should return Symbol.iterator",
    "lineNumber": 12
  },
  {
    "__docId__": 3463,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2459",
    "testId": 2459,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2456",
    "testDepth": 2,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2456.describe2459",
    "access": null,
    "description": "and Symbol.iterator does not exist",
    "lineNumber": 19
  },
  {
    "__docId__": 3464,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2460",
    "testId": 2460,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2456.describe2459",
    "testDepth": 3,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2456.describe2459.it2460",
    "access": null,
    "description": "should use Symbol to create an return a symbol and polyfill Symbol.iterator",
    "lineNumber": 20
  },
  {
    "__docId__": 3465,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2461",
    "testId": 2461,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455",
    "testDepth": 1,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461",
    "access": null,
    "description": "when root.Symbol is NOT a function",
    "lineNumber": 35
  },
  {
    "__docId__": 3466,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2462",
    "testId": 2462,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461",
    "testDepth": 2,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2462",
    "access": null,
    "description": "and root.Set exists with an @@iterator property that is a function (Mozilla bug)",
    "lineNumber": 36
  },
  {
    "__docId__": 3467,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2463",
    "testId": 2463,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2462",
    "testDepth": 3,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2462.it2463",
    "access": null,
    "description": "should return \"$$iterator\"",
    "lineNumber": 37
  },
  {
    "__docId__": 3468,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2464",
    "testId": 2464,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461",
    "testDepth": 2,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464",
    "access": null,
    "description": "root.Set does not exit or does not have an @@iterator property",
    "lineNumber": 46
  },
  {
    "__docId__": 3469,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2465",
    "testId": 2465,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464",
    "testDepth": 3,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2465",
    "access": null,
    "description": "but Map exists and a random key on Map.prototype that matches Map.prototype.entries (for es6-shim)",
    "lineNumber": 47
  },
  {
    "__docId__": 3470,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2466",
    "testId": 2466,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2465",
    "testDepth": 4,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2465.it2466",
    "access": null,
    "description": "should return the key that matches the \"entries\" key on Map.prototype, but not return \"size\"",
    "lineNumber": 48
  },
  {
    "__docId__": 3471,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2467",
    "testId": 2467,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464",
    "testDepth": 3,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2467",
    "access": null,
    "description": "but Map exists and no other key except \"size\" on Map.prototype that matches Map.prototype.entries (for es6-shim)",
    "lineNumber": 61
  },
  {
    "__docId__": 3472,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2468",
    "testId": 2468,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2467",
    "testDepth": 4,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2467.it2468",
    "access": null,
    "description": "should return \"@@iterator\"",
    "lineNumber": 62
  },
  {
    "__docId__": 3473,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2469",
    "testId": 2469,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464",
    "testDepth": 3,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2469",
    "access": null,
    "description": "if Set exists but has no iterator, and Map does not exist (bad polyfill maybe?)",
    "lineNumber": 74
  },
  {
    "__docId__": 3474,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2470",
    "testId": 2470,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2469",
    "testDepth": 4,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2469.it2470",
    "access": null,
    "description": "should return \"@@iterator\"",
    "lineNumber": 75
  },
  {
    "__docId__": 3475,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2471",
    "testId": 2471,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464",
    "testDepth": 3,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2471",
    "access": null,
    "description": "and root.Set and root.Map do NOT exist",
    "lineNumber": 82
  },
  {
    "__docId__": 3476,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2472",
    "testId": 2472,
    "memberof": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2471",
    "testDepth": 4,
    "longname": "spec-js/symbol/iterator-spec.js~describe2455.describe2461.describe2464.describe2471.it2472",
    "access": null,
    "description": "should return \"@@iterator\"",
    "lineNumber": 83
  },
  {
    "__docId__": 3477,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/symbol/observable-polyfilled-spec.js",
    "memberof": null,
    "longname": "spec-js/symbol/observable-polyfilled-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar observable_1 = require('../../dist/cjs/symbol/observable');\ndescribe('observable symbol', function () {\n    it('should exist in the proper form when Symbol does not exist', function () {\n        var $$observable = observable_1.getSymbolObservable({ Symbol: undefined });\n        chai_1.expect($$observable).to.equal('@@observable');\n    });\n});\n//# sourceMappingURL=observable-polyfilled-spec.js.map"
  },
  {
    "__docId__": 3478,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2473",
    "testId": 2473,
    "memberof": "spec-js/symbol/observable-polyfilled-spec.js",
    "testDepth": 0,
    "longname": "spec-js/symbol/observable-polyfilled-spec.js~describe2473",
    "access": null,
    "description": "observable symbol",
    "lineNumber": 4
  },
  {
    "__docId__": 3479,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2474",
    "testId": 2474,
    "memberof": "spec-js/symbol/observable-polyfilled-spec.js~describe2473",
    "testDepth": 1,
    "longname": "spec-js/symbol/observable-polyfilled-spec.js~describe2473.it2474",
    "access": null,
    "description": "should exist in the proper form when Symbol does not exist",
    "lineNumber": 5
  },
  {
    "__docId__": 3480,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/symbol/observable-spec.js",
    "memberof": null,
    "longname": "spec-js/symbol/observable-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar symbol_observable_1 = require('symbol-observable');\nvar root_1 = require('../../dist/cjs/util/root');\nvar observable_1 = require('../../dist/cjs/symbol/observable');\ndescribe('observable symbol', function () {\n    it('should exist in the proper form', function () {\n        var $$observable = observable_1.getSymbolObservable(root_1.root);\n        if (root_1.root.Symbol && root_1.root.Symbol.for) {\n            chai_1.expect($$observable).to.equal(symbol_observable_1.default);\n        }\n        else {\n            chai_1.expect($$observable).to.equal('@@observable');\n        }\n    });\n});\n//# sourceMappingURL=observable-spec.js.map"
  },
  {
    "__docId__": 3481,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2475",
    "testId": 2475,
    "memberof": "spec-js/symbol/observable-spec.js",
    "testDepth": 0,
    "longname": "spec-js/symbol/observable-spec.js~describe2475",
    "access": null,
    "description": "observable symbol",
    "lineNumber": 6
  },
  {
    "__docId__": 3482,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2476",
    "testId": 2476,
    "memberof": "spec-js/symbol/observable-spec.js~describe2475",
    "testDepth": 1,
    "longname": "spec-js/symbol/observable-spec.js~describe2475.it2476",
    "access": null,
    "description": "should exist in the proper form",
    "lineNumber": 7
  },
  {
    "__docId__": 3483,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/symbol/rxSubscriber-spec.js",
    "memberof": null,
    "longname": "spec-js/symbol/rxSubscriber-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar root_1 = require('../../dist/cjs/util/root');\nvar rxSubscriber_1 = require('../../dist/cjs/symbol/rxSubscriber');\ndescribe('rxSubscriber symbol', function () {\n    it('should exist in the proper form', function () {\n        if (root_1.root.Symbol && root_1.root.Symbol.for) {\n            chai_1.expect(rxSubscriber_1.$$rxSubscriber).to.equal(root_1.root.Symbol.for('rxSubscriber'));\n        }\n        else {\n            chai_1.expect(rxSubscriber_1.$$rxSubscriber).to.equal('@@rxSubscriber');\n        }\n    });\n});\n//# sourceMappingURL=rxSubscriber-spec.js.map"
  },
  {
    "__docId__": 3484,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2477",
    "testId": 2477,
    "memberof": "spec-js/symbol/rxSubscriber-spec.js",
    "testDepth": 0,
    "longname": "spec-js/symbol/rxSubscriber-spec.js~describe2477",
    "access": null,
    "description": "rxSubscriber symbol",
    "lineNumber": 5
  },
  {
    "__docId__": 3485,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2478",
    "testId": 2478,
    "memberof": "spec-js/symbol/rxSubscriber-spec.js~describe2477",
    "testDepth": 1,
    "longname": "spec-js/symbol/rxSubscriber-spec.js~describe2477.it2478",
    "access": null,
    "description": "should exist in the proper form",
    "lineNumber": 6
  },
  {
    "__docId__": 3486,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/util/FastMap-spec.js",
    "memberof": null,
    "longname": "spec-js/util/FastMap-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar FastMap_1 = require('../../dist/cjs/util/FastMap');\n/** @test {FastMap} */\ndescribe('FastMap', function () {\n    it('should exist', function () {\n        chai_1.expect(FastMap_1.FastMap).to.be.a('function');\n    });\n    it('should accept string as keys', function () {\n        var map = new FastMap_1.FastMap();\n        var key1 = 'keyOne';\n        var key2 = 'keyTwo';\n        map.set(key1, 'yo');\n        map.set(key2, 'what up');\n        chai_1.expect(map.get(key1)).to.equal('yo');\n        chai_1.expect(map.get(key2)).to.equal('what up');\n    });\n    it('should allow setting keys twice', function () {\n        var map = new FastMap_1.FastMap();\n        var key1 = 'keyOne';\n        map.set(key1, 'sing');\n        map.set(key1, 'yodel');\n        chai_1.expect(map.get(key1)).to.equal('yodel');\n    });\n    it('should have a delete method that removes keys', function () {\n        var map = new FastMap_1.FastMap();\n        var key1 = 'keyOne';\n        map.set(key1, 'sing');\n        chai_1.expect(map.delete(key1)).to.be.true;\n        chai_1.expect(map.get(key1)).to.be.a('null');\n    });\n    it('should clear all', function () {\n        var map = new FastMap_1.FastMap();\n        var key1 = 'keyOne';\n        var key2 = 'keyTwo';\n        map.set(key1, 'yo');\n        map.set(key2, 'what up');\n        map.clear();\n        chai_1.expect(map.get(key1)).to.be.a('undefined');\n        chai_1.expect(map.get(key2)).to.be.a('undefined');\n    });\n    describe('prototype.forEach', function () {\n        it('should exist', function () {\n            var map = new FastMap_1.FastMap();\n            chai_1.expect(map.forEach).to.be.a('function');\n        });\n        it('should iterate over keys and values', function () {\n            var expectedKeys = ['a', 'b', 'c'];\n            var expectedValues = [1, 2, 3];\n            var map = new FastMap_1.FastMap();\n            map.set('a', 1);\n            map.set('b', 2);\n            map.set('c', 3);\n            var thisArg = {};\n            map.forEach(function (value, key) {\n                chai_1.expect(this).to.equal(thisArg);\n                chai_1.expect(value).to.equal(expectedValues.shift());\n                chai_1.expect(key).to.equal(expectedKeys.shift());\n            }, thisArg);\n            chai_1.expect(expectedValues.length).to.equal(0);\n            chai_1.expect(expectedKeys.length).to.equal(0);\n        });\n    });\n});\n//# sourceMappingURL=FastMap-spec.js.map"
  },
  {
    "__docId__": 3487,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2479",
    "testId": 2479,
    "memberof": "spec-js/util/FastMap-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/FastMap-spec.js~describe2479",
    "access": null,
    "description": "FastMap",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{FastMap}"
      }
    ],
    "testTargets": [
      "FastMap"
    ]
  },
  {
    "__docId__": 3488,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2480",
    "testId": 2480,
    "memberof": "spec-js/util/FastMap-spec.js~describe2479",
    "testDepth": 1,
    "longname": "spec-js/util/FastMap-spec.js~describe2479.it2480",
    "access": null,
    "description": "should exist",
    "lineNumber": 6
  },
  {
    "__docId__": 3489,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2481",
    "testId": 2481,
    "memberof": "spec-js/util/FastMap-spec.js~describe2479",
    "testDepth": 1,
    "longname": "spec-js/util/FastMap-spec.js~describe2479.it2481",
    "access": null,
    "description": "should accept string as keys",
    "lineNumber": 9
  },
  {
    "__docId__": 3490,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2482",
    "testId": 2482,
    "memberof": "spec-js/util/FastMap-spec.js~describe2479",
    "testDepth": 1,
    "longname": "spec-js/util/FastMap-spec.js~describe2479.it2482",
    "access": null,
    "description": "should allow setting keys twice",
    "lineNumber": 18
  },
  {
    "__docId__": 3491,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2483",
    "testId": 2483,
    "memberof": "spec-js/util/FastMap-spec.js~describe2479",
    "testDepth": 1,
    "longname": "spec-js/util/FastMap-spec.js~describe2479.it2483",
    "access": null,
    "description": "should have a delete method that removes keys",
    "lineNumber": 25
  },
  {
    "__docId__": 3492,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2484",
    "testId": 2484,
    "memberof": "spec-js/util/FastMap-spec.js~describe2479",
    "testDepth": 1,
    "longname": "spec-js/util/FastMap-spec.js~describe2479.it2484",
    "access": null,
    "description": "should clear all",
    "lineNumber": 32
  },
  {
    "__docId__": 3493,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2485",
    "testId": 2485,
    "memberof": "spec-js/util/FastMap-spec.js~describe2479",
    "testDepth": 1,
    "longname": "spec-js/util/FastMap-spec.js~describe2479.describe2485",
    "access": null,
    "description": "prototype.forEach",
    "lineNumber": 42
  },
  {
    "__docId__": 3494,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2486",
    "testId": 2486,
    "memberof": "spec-js/util/FastMap-spec.js~describe2479.describe2485",
    "testDepth": 2,
    "longname": "spec-js/util/FastMap-spec.js~describe2479.describe2485.it2486",
    "access": null,
    "description": "should exist",
    "lineNumber": 43
  },
  {
    "__docId__": 3495,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2487",
    "testId": 2487,
    "memberof": "spec-js/util/FastMap-spec.js~describe2479.describe2485",
    "testDepth": 2,
    "longname": "spec-js/util/FastMap-spec.js~describe2479.describe2485.it2487",
    "access": null,
    "description": "should iterate over keys and values",
    "lineNumber": 47
  },
  {
    "__docId__": 3496,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/util/Immediate-spec.js",
    "memberof": null,
    "longname": "spec-js/util/Immediate-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar sinon = require('sinon');\nvar Immediate_1 = require('../../dist/cjs/util/Immediate');\nvar Rx = require('../../dist/cjs/Rx');\n/** @test {ImmediateDefinition} */\ndescribe('ImmediateDefinition', function () {\n    var sandbox;\n    beforeEach(function () {\n        sandbox = sinon.sandbox.create();\n    });\n    afterEach(function () {\n        sandbox.restore();\n    });\n    it('should have setImmediate and clearImmediate methods', function () {\n        var result = new Immediate_1.ImmediateDefinition(__root__);\n        chai_1.expect(result.setImmediate).to.be.a('function');\n        chai_1.expect(result.clearImmediate).to.be.a('function');\n    });\n    describe('when setImmediate exists on root', function () {\n        it('should use the setImmediate and clearImmediate methods from root', function () {\n            var setImmediateCalled = false;\n            var clearImmediateCalled = false;\n            var root = {\n                setImmediate: function () {\n                    setImmediateCalled = true;\n                },\n                clearImmediate: function () {\n                    clearImmediateCalled = true;\n                }\n            };\n            var result = new Immediate_1.ImmediateDefinition(root);\n            result.setImmediate(function () {\n                //noop\n            });\n            result.clearImmediate(null);\n            chai_1.expect(setImmediateCalled).to.be.ok;\n            chai_1.expect(clearImmediateCalled).to.be.ok;\n        });\n    });\n    describe('prototype.createProcessNextTickSetImmediate()', function () {\n        it('should create the proper flavor of setImmediate using process.nextTick', function () {\n            var instance = {\n                root: {\n                    process: {\n                        nextTick: sinon.spy()\n                    }\n                },\n                runIfPresent: function () {\n                    //noop\n                },\n                partiallyApplied: sinon.spy(),\n                addFromSetImmediateArguments: sinon.stub().returns(123456)\n            };\n            var setImmediateImpl = Immediate_1.ImmediateDefinition.prototype.createProcessNextTickSetImmediate.call(instance);\n            chai_1.expect(setImmediateImpl).to.be.a('function');\n            var action = function () {\n                //noop\n            };\n            var handle = setImmediateImpl(action);\n            chai_1.expect(handle).to.equal(123456);\n            chai_1.expect(instance.addFromSetImmediateArguments).have.been.called;\n            chai_1.expect(instance.partiallyApplied).have.been.calledWith(instance.runIfPresent, handle);\n        });\n    });\n    describe('prototype.createPostMessageSetImmediate()', function () {\n        it('should create the proper flavor of setImmediate using postMessage', function () {\n            var addEventListenerCalledWith = null;\n            var instance = {\n                root: {\n                    addEventListener: function (name, callback) {\n                        addEventListenerCalledWith = [name, callback];\n                    },\n                    postMessage: sinon.spy(),\n                    Math: {\n                        random: sinon.stub().returns(42)\n                    }\n                },\n                runIfPresent: sinon.spy(),\n                addFromSetImmediateArguments: sinon.stub().returns(123456)\n            };\n            var setImmediateImpl = Immediate_1.ImmediateDefinition.prototype.createPostMessageSetImmediate.call(instance);\n            chai_1.expect(setImmediateImpl).to.be.a('function');\n            chai_1.expect(addEventListenerCalledWith[0]).to.equal('message');\n            addEventListenerCalledWith[1]({ data: 'setImmediate$42$123456', source: instance.root });\n            chai_1.expect(instance.runIfPresent).have.been.calledWith(123456);\n            var action = function () {\n                //noop\n            };\n            var handle = setImmediateImpl(action);\n            chai_1.expect(handle).to.equal(123456);\n            chai_1.expect(instance.addFromSetImmediateArguments).have.been.called;\n            chai_1.expect(instance.root.postMessage).have.been.calledWith('setImmediate$42$123456', '*');\n        });\n    });\n    describe('prototype.createMessageChannelSetImmediate', function () {\n        it('should create the proper flavor of setImmediate that uses message channels', function () {\n            var port1 = {};\n            var port2 = {\n                postMessage: sinon.spy()\n            };\n            function MockMessageChannel() {\n                this.port1 = port1;\n                this.port2 = port2;\n            }\n            var instance = {\n                root: {\n                    MessageChannel: MockMessageChannel\n                },\n                runIfPresent: sinon.spy(),\n                addFromSetImmediateArguments: sinon.stub().returns(123456)\n            };\n            var setImmediateImpl = Immediate_1.ImmediateDefinition.prototype.createMessageChannelSetImmediate.call(instance);\n            chai_1.expect(setImmediateImpl).to.be.a('function');\n            chai_1.expect(port1.onmessage).to.be.a('function');\n            port1.onmessage({ data: 'something' });\n            chai_1.expect(instance.runIfPresent).have.been.calledWith('something');\n            var action = function () {\n                //noop\n            };\n            var handle = setImmediateImpl(action);\n            chai_1.expect(handle).to.equal(123456);\n            chai_1.expect(port2.postMessage).have.been.calledWith(123456);\n        });\n    });\n    describe('prototype.createReadyStateChangeSetImmediate', function () {\n        it('should create the proper flavor of setImmediate that uses readystatechange on a DOM element', function () {\n            var fakeScriptElement = {};\n            var instance = {\n                root: {\n                    document: {\n                        createElement: sinon.stub().returns(fakeScriptElement),\n                        documentElement: {\n                            appendChild: sinon.spy(),\n                            removeChild: sinon.spy(),\n                        }\n                    }\n                },\n                runIfPresent: sinon.spy(),\n                addFromSetImmediateArguments: sinon.stub().returns(123456)\n            };\n            var setImmediateImpl = Immediate_1.ImmediateDefinition.prototype.createReadyStateChangeSetImmediate.call(instance);\n            chai_1.expect(setImmediateImpl).to.be.a('function');\n            var action = function () {\n                //noop\n            };\n            var handle = setImmediateImpl(action);\n            chai_1.expect(handle).to.equal(123456);\n            chai_1.expect(instance.root.document.createElement).have.been.calledWith('script');\n            chai_1.expect(fakeScriptElement.onreadystatechange).to.be.a('function');\n            chai_1.expect(instance.root.document.documentElement.appendChild).have.been.calledWith(fakeScriptElement);\n            fakeScriptElement.onreadystatechange();\n            chai_1.expect(instance.runIfPresent).have.been.calledWith(handle);\n            chai_1.expect(fakeScriptElement.onreadystatechange).to.be.a('null');\n            chai_1.expect(instance.root.document.documentElement.removeChild).have.been.calledWith(fakeScriptElement);\n        });\n    });\n    describe('when setImmediate does *not* exist on root', function () {\n        describe('when it can use process.nextTick', function () {\n            it('should use the post message impl', function () {\n                var nextTickImpl = function () {\n                    //noop\n                };\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseProcessNextTick').returns(true);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUsePostMessage').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseMessageChannel').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseReadyStateChange').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'createProcessNextTickSetImmediate').returns(nextTickImpl);\n                var result = new Immediate_1.ImmediateDefinition({});\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseProcessNextTick).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUsePostMessage).not.have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseMessageChannel).not.have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseReadyStateChange).not.have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.createProcessNextTickSetImmediate).have.been.called;\n                chai_1.expect(result.setImmediate).to.equal(nextTickImpl);\n            });\n        });\n        describe('when it cannot use process.nextTick', function () {\n            it('should use the post message impl', function () {\n                var postMessageImpl = function () {\n                    //noop\n                };\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseProcessNextTick').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUsePostMessage').returns(true);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseMessageChannel').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseReadyStateChange').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'createPostMessageSetImmediate').returns(postMessageImpl);\n                var result = new Immediate_1.ImmediateDefinition({});\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseProcessNextTick).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUsePostMessage).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseMessageChannel).not.have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseReadyStateChange).not.have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.createPostMessageSetImmediate).have.been.called;\n                chai_1.expect(result.setImmediate).to.equal(postMessageImpl);\n            });\n        });\n        describe('when it cannot use process.nextTick or postMessage', function () {\n            it('should use the readystatechange impl', function () {\n                var messageChannelImpl = function () {\n                    //noop\n                };\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseProcessNextTick').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUsePostMessage').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseMessageChannel').returns(true);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseReadyStateChange').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'createMessageChannelSetImmediate').returns(messageChannelImpl);\n                var result = new Immediate_1.ImmediateDefinition({});\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseProcessNextTick).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUsePostMessage).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseMessageChannel).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseReadyStateChange).not.have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.createMessageChannelSetImmediate).have.been.called;\n                chai_1.expect(result.setImmediate).to.equal(messageChannelImpl);\n            });\n        });\n        describe('when it cannot use process.nextTick, postMessage or Message channels', function () {\n            it('should use the readystatechange impl', function () {\n                var readyStateChangeImpl = function () {\n                    //noop\n                };\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseProcessNextTick').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUsePostMessage').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseMessageChannel').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseReadyStateChange').returns(true);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'createReadyStateChangeSetImmediate').returns(readyStateChangeImpl);\n                var result = new Immediate_1.ImmediateDefinition({});\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseProcessNextTick).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUsePostMessage).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseMessageChannel).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseReadyStateChange).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.createReadyStateChangeSetImmediate).have.been.called;\n                chai_1.expect(result.setImmediate).to.equal(readyStateChangeImpl);\n            });\n        });\n        describe('when no other methods to implement setImmediate are available', function () {\n            it('should use the setTimeout impl', function () {\n                var setTimeoutImpl = function () {\n                    //noop\n                };\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseProcessNextTick').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUsePostMessage').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseMessageChannel').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseReadyStateChange').returns(false);\n                sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'createSetTimeoutSetImmediate').returns(setTimeoutImpl);\n                var result = new Immediate_1.ImmediateDefinition({});\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseProcessNextTick).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUsePostMessage).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseMessageChannel).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.canUseReadyStateChange).have.been.called;\n                chai_1.expect(Immediate_1.ImmediateDefinition.prototype.createSetTimeoutSetImmediate).have.been.called;\n                chai_1.expect(result.setImmediate).to.equal(setTimeoutImpl);\n            });\n        });\n    });\n    describe('partiallyApplied', function () {\n        describe('when passed a function as the first argument', function () {\n            it('should return a function that takes no arguments and will be called with the passed arguments', function () {\n                var fn = sinon.spy();\n                var result = Immediate_1.ImmediateDefinition.prototype.partiallyApplied(fn, 'arg1', 'arg2', 'arg3');\n                chai_1.expect(result).to.be.a('function');\n                chai_1.expect(fn).not.have.been.called;\n                result();\n                chai_1.expect(fn).have.been.calledWith('arg1', 'arg2', 'arg3');\n            });\n        });\n        describe('when passed a non-function as an argument', function () {\n            it('should coerce to a string and convert to a function which will be called by the returned function', function () {\n                __root__.__wasCalled = null;\n                var fnStr = '__wasCalled = true;';\n                var result = Immediate_1.ImmediateDefinition.prototype.partiallyApplied(fnStr);\n                chai_1.expect(result).to.be.a('function');\n                result();\n                chai_1.expect(__root__.__wasCalled).to.be.true;\n                delete __root__.__wasCalled;\n            });\n        });\n    });\n    describe('prototype.identify', function () {\n        it('should use Object.toString to return an identifier string', function () {\n            function MockObject() {\n                //noop\n            }\n            sandbox.stub(MockObject.prototype, 'toString').returns('[object HEYO!]');\n            var instance = {\n                root: {\n                    Object: MockObject\n                }\n            };\n            var result = Immediate_1.ImmediateDefinition.prototype.identify.call(instance);\n            chai_1.expect(result).to.equal('[object HEYO!]');\n        });\n    });\n    describe('prototype.canUseProcessNextTick', function () {\n        describe('when root.process does not identify as [object process]', function () {\n            it('should return false', function () {\n                var instance = {\n                    root: {\n                        process: {}\n                    },\n                    identify: sinon.stub().returns('[object it-is-not-a-tumor]')\n                };\n                var result = Immediate_1.ImmediateDefinition.prototype.canUseProcessNextTick.call(instance);\n                chai_1.expect(result).to.be.false;\n                chai_1.expect(instance.identify).have.been.calledWith(instance.root.process);\n            });\n        });\n        describe('when root.process identifies as [object process]', function () {\n            it('should return true', function () {\n                var instance = {\n                    root: {\n                        process: {}\n                    },\n                    identify: sinon.stub().returns('[object process]')\n                };\n                var result = Immediate_1.ImmediateDefinition.prototype.canUseProcessNextTick.call(instance);\n                chai_1.expect(result).to.be.true;\n                chai_1.expect(instance.identify).have.been.calledWith(instance.root.process);\n            });\n        });\n    });\n    describe('prototype.canUsePostMessage', function () {\n        describe('when there is a global postMessage function', function () {\n            describe('and importScripts does NOT exist', function () {\n                it('should maintain any existing onmessage handler', function () {\n                    var originalOnMessage = function () {\n                        //noop\n                    };\n                    var instance = {\n                        root: {\n                            onmessage: originalOnMessage\n                        }\n                    };\n                    Immediate_1.ImmediateDefinition.prototype.canUsePostMessage.call(instance);\n                    chai_1.expect(instance.root.onmessage).to.equal(originalOnMessage);\n                });\n                describe('and postMessage is synchronous', function () {\n                    it('should return false', function () {\n                        var postMessageCalled = false;\n                        var instance = {\n                            root: {\n                                postMessage: function () {\n                                    postMessageCalled = true;\n                                    this.onmessage();\n                                }\n                            }\n                        };\n                        var result = Immediate_1.ImmediateDefinition.prototype.canUsePostMessage.call(instance);\n                        chai_1.expect(result).to.be.false;\n                        chai_1.expect(postMessageCalled).to.be.true;\n                    });\n                });\n                describe('and postMessage is asynchronous', function () {\n                    it('should return true', function () {\n                        var postMessageCalled = false;\n                        var instance = {\n                            root: {\n                                postMessage: function () {\n                                    postMessageCalled = true;\n                                    var _onmessage = this.onmessage;\n                                    setTimeout(function () { _onmessage(); });\n                                }\n                            }\n                        };\n                        var result = Immediate_1.ImmediateDefinition.prototype.canUsePostMessage.call(instance);\n                        chai_1.expect(result).to.be.true;\n                        chai_1.expect(postMessageCalled).to.be.true;\n                    });\n                });\n            });\n            describe('and importScripts *does* exist because it is a worker', function () {\n                it('should return false', function () {\n                    var instance = {\n                        root: {\n                            postMessage: function () {\n                                //noop\n                            },\n                            importScripts: function () {\n                                //noop\n                            }\n                        }\n                    };\n                    var result = Immediate_1.ImmediateDefinition.prototype.canUsePostMessage.call(instance);\n                    chai_1.expect(result).to.be.false;\n                });\n            });\n        });\n        describe('when there is NOT a global postMessage function', function () {\n            it('should return false', function () {\n                var instance = {\n                    root: {}\n                };\n                var result = Immediate_1.ImmediateDefinition.prototype.canUsePostMessage.call(instance);\n                chai_1.expect(result).to.be.false;\n            });\n        });\n    });\n    describe('prototype.canUseMessageChannel', function () {\n        it('should return true if MessageChannel exists', function () {\n            var instance = {\n                root: {\n                    MessageChannel: function () {\n                        //noop\n                    }\n                }\n            };\n            var result = Immediate_1.ImmediateDefinition.prototype.canUseMessageChannel.call(instance);\n            chai_1.expect(result).to.be.true;\n        });\n        it('should return false if MessageChannel does NOT exist', function () {\n            var instance = {\n                root: {}\n            };\n            var result = Immediate_1.ImmediateDefinition.prototype.canUseMessageChannel.call(instance);\n            chai_1.expect(result).to.be.false;\n        });\n    });\n    describe('prototype.canUseReadyStateChange', function () {\n        describe('when there is a document in global scope', function () {\n            it('should return true if created script elements have an onreadystatechange property', function () {\n                var fakeScriptElement = {\n                    onreadystatechange: null\n                };\n                var instance = {\n                    root: {\n                        document: {\n                            createElement: sinon.stub().returns(fakeScriptElement)\n                        }\n                    }\n                };\n                var result = Immediate_1.ImmediateDefinition.prototype.canUseReadyStateChange.call(instance);\n                chai_1.expect(result).to.be.true;\n                chai_1.expect(instance.root.document.createElement).have.been.calledWith('script');\n            });\n            it('should return false if created script elements do NOT have an onreadystatechange property', function () {\n                var fakeScriptElement = {};\n                var instance = {\n                    root: {\n                        document: {\n                            createElement: sinon.stub().returns(fakeScriptElement)\n                        }\n                    }\n                };\n                var result = Immediate_1.ImmediateDefinition.prototype.canUseReadyStateChange.call(instance);\n                chai_1.expect(result).to.be.false;\n                chai_1.expect(instance.root.document.createElement).have.been.calledWith('script');\n            });\n        });\n        it('should return false if there is no document in global scope', function () {\n            var instance = {\n                root: {}\n            };\n            var result = Immediate_1.ImmediateDefinition.prototype.canUseReadyStateChange.call(instance);\n            chai_1.expect(result).to.be.false;\n        });\n    });\n    describe('prototype.addFromSetImmediateArguments', function () {\n        it('should add to tasksByHandle and increment the nextHandle', function () {\n            var partiallyAppliedResult = {};\n            var instance = {\n                tasksByHandle: {},\n                nextHandle: 42,\n                partiallyApplied: sinon.stub().returns(partiallyAppliedResult)\n            };\n            var args = [function () {\n                    //noop\n                }, 'foo', 'bar'];\n            var handle = Immediate_1.ImmediateDefinition.prototype.addFromSetImmediateArguments.call(instance, args);\n            chai_1.expect(handle).to.equal(42);\n            chai_1.expect(instance.nextHandle).to.equal(43);\n            chai_1.expect(instance.tasksByHandle[42]).to.equal(partiallyAppliedResult);\n        });\n    });\n    describe('clearImmediate', function () {\n        it('should delete values from tasksByHandle', function () {\n            var setTimeoutImpl = function () {\n                //noop\n            };\n            sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseProcessNextTick').returns(false);\n            sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUsePostMessage').returns(false);\n            sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseMessageChannel').returns(false);\n            sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'canUseReadyStateChange').returns(false);\n            sandbox.stub(Immediate_1.ImmediateDefinition.prototype, 'createSetTimeoutSetImmediate').returns(setTimeoutImpl);\n            var Immediate = new Immediate_1.ImmediateDefinition({});\n            Immediate.tasksByHandle[123456] = function () {\n                //noop\n            };\n            chai_1.expect('123456' in Immediate.tasksByHandle).to.be.true;\n            Immediate.clearImmediate(123456);\n            chai_1.expect('123456' in Immediate.tasksByHandle).to.be.false;\n        });\n    });\n    describe('prototype.runIfPresent', function () {\n        it('should delay running the task if it is currently running a task', function () {\n            var mockApplied = function () {\n                //noop\n            };\n            var instance = {\n                root: {\n                    setTimeout: sinon.spy(),\n                    Object: Object\n                },\n                currentlyRunningATask: true,\n                partiallyApplied: sinon.stub().returns(mockApplied)\n            };\n            Immediate_1.ImmediateDefinition.prototype.runIfPresent.call(instance, 123456);\n            chai_1.expect(instance.partiallyApplied).have.been.calledWith(instance.runIfPresent, 123456);\n            chai_1.expect(instance.root.setTimeout).have.been.calledWith(mockApplied, 0);\n        });\n        it('should not error if there is no task currently running and the handle passed is not found', function () {\n            chai_1.expect(function () {\n                var instance = {\n                    root: {\n                        setTimeout: sinon.spy(),\n                        Object: Object\n                    },\n                    currentlyRunningATask: false,\n                    tasksByHandle: {}\n                };\n                Immediate_1.ImmediateDefinition.prototype.runIfPresent.call(instance, 888888);\n            }).not.to.throw();\n        });\n        describe('when a task is found for the handle', function () {\n            it('should execute the task and clean up after', function () {\n                var instance = {\n                    root: {\n                        setTimeout: sinon.spy(),\n                        Object: Object\n                    },\n                    currentlyRunningATask: false,\n                    tasksByHandle: {},\n                    clearImmediate: sinon.spy()\n                };\n                var spy = sinon.stub();\n                spy({\n                    task: function () {\n                        chai_1.expect(instance.currentlyRunningATask).to.be.true;\n                    }\n                });\n                instance.tasksByHandle[123456] = spy;\n                Immediate_1.ImmediateDefinition.prototype.runIfPresent.call(instance, 123456);\n                chai_1.expect(instance.clearImmediate).have.been.calledWith(123456);\n            });\n        });\n    });\n    describe('prototype.createSetTimeoutSetImmediate', function () {\n        it('should create a proper setImmediate implementation that uses setTimeout', function () {\n            var mockApplied = function () {\n                //noop\n            };\n            var instance = {\n                root: {\n                    setTimeout: sinon.spy()\n                },\n                addFromSetImmediateArguments: sinon.stub().returns(123456),\n                runIfPresent: function () {\n                    //noop\n                },\n                partiallyApplied: sinon.stub().returns(mockApplied)\n            };\n            var setImmediateImpl = Immediate_1.ImmediateDefinition.prototype.createSetTimeoutSetImmediate.call(instance);\n            var handle = setImmediateImpl();\n            chai_1.expect(handle).to.equal(123456);\n            chai_1.expect(instance.addFromSetImmediateArguments).have.been.called;\n            chai_1.expect(instance.root.setTimeout).have.been.calledWith(mockApplied, 0);\n        });\n    });\n    describe('integration test', function () {\n        it('should work', function (done) {\n            var results = [];\n            Rx.Observable.from([1, 2, 3], Rx.Scheduler.asap)\n                .subscribe(function (x) {\n                results.push(x);\n            }, function () {\n                done(new Error('should not be called'));\n            }, function () {\n                chai_1.expect(results).to.deep.equal([1, 2, 3]);\n                done();\n            });\n        });\n    });\n});\n//# sourceMappingURL=Immediate-spec.js.map"
  },
  {
    "__docId__": 3497,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2488",
    "testId": 2488,
    "memberof": "spec-js/util/Immediate-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/Immediate-spec.js~describe2488",
    "access": null,
    "description": "ImmediateDefinition",
    "lineNumber": 7,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{ImmediateDefinition}"
      }
    ],
    "testTargets": [
      "ImmediateDefinition"
    ]
  },
  {
    "__docId__": 3498,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2489",
    "testId": 2489,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.it2489",
    "access": null,
    "description": "should have setImmediate and clearImmediate methods",
    "lineNumber": 15
  },
  {
    "__docId__": 3499,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2490",
    "testId": 2490,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2490",
    "access": null,
    "description": "when setImmediate exists on root",
    "lineNumber": 20
  },
  {
    "__docId__": 3500,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2491",
    "testId": 2491,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2490",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2490.it2491",
    "access": null,
    "description": "should use the setImmediate and clearImmediate methods from root",
    "lineNumber": 21
  },
  {
    "__docId__": 3501,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2492",
    "testId": 2492,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2492",
    "access": null,
    "description": "prototype.createProcessNextTickSetImmediate()",
    "lineNumber": 41
  },
  {
    "__docId__": 3502,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2493",
    "testId": 2493,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2492",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2492.it2493",
    "access": null,
    "description": "should create the proper flavor of setImmediate using process.nextTick",
    "lineNumber": 42
  },
  {
    "__docId__": 3503,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2494",
    "testId": 2494,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2494",
    "access": null,
    "description": "prototype.createPostMessageSetImmediate()",
    "lineNumber": 66
  },
  {
    "__docId__": 3504,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2495",
    "testId": 2495,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2494",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2494.it2495",
    "access": null,
    "description": "should create the proper flavor of setImmediate using postMessage",
    "lineNumber": 67
  },
  {
    "__docId__": 3505,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2496",
    "testId": 2496,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2496",
    "access": null,
    "description": "prototype.createMessageChannelSetImmediate",
    "lineNumber": 96
  },
  {
    "__docId__": 3506,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2497",
    "testId": 2497,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2496",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2496.it2497",
    "access": null,
    "description": "should create the proper flavor of setImmediate that uses message channels",
    "lineNumber": 97
  },
  {
    "__docId__": 3507,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2498",
    "testId": 2498,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2498",
    "access": null,
    "description": "prototype.createReadyStateChangeSetImmediate",
    "lineNumber": 126
  },
  {
    "__docId__": 3508,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2499",
    "testId": 2499,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2498",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2498.it2499",
    "access": null,
    "description": "should create the proper flavor of setImmediate that uses readystatechange on a DOM element",
    "lineNumber": 127
  },
  {
    "__docId__": 3509,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2500",
    "testId": 2500,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500",
    "access": null,
    "description": "when setImmediate does *not* exist on root",
    "lineNumber": 158
  },
  {
    "__docId__": 3510,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2501",
    "testId": 2501,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2501",
    "access": null,
    "description": "when it can use process.nextTick",
    "lineNumber": 159
  },
  {
    "__docId__": 3511,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2502",
    "testId": 2502,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2501",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2501.it2502",
    "access": null,
    "description": "should use the post message impl",
    "lineNumber": 160
  },
  {
    "__docId__": 3512,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2503",
    "testId": 2503,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2503",
    "access": null,
    "description": "when it cannot use process.nextTick",
    "lineNumber": 178
  },
  {
    "__docId__": 3513,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2504",
    "testId": 2504,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2503",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2503.it2504",
    "access": null,
    "description": "should use the post message impl",
    "lineNumber": 179
  },
  {
    "__docId__": 3514,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2505",
    "testId": 2505,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2505",
    "access": null,
    "description": "when it cannot use process.nextTick or postMessage",
    "lineNumber": 197
  },
  {
    "__docId__": 3515,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2506",
    "testId": 2506,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2505",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2505.it2506",
    "access": null,
    "description": "should use the readystatechange impl",
    "lineNumber": 198
  },
  {
    "__docId__": 3516,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2507",
    "testId": 2507,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2507",
    "access": null,
    "description": "when it cannot use process.nextTick, postMessage or Message channels",
    "lineNumber": 216
  },
  {
    "__docId__": 3517,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2508",
    "testId": 2508,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2507",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2507.it2508",
    "access": null,
    "description": "should use the readystatechange impl",
    "lineNumber": 217
  },
  {
    "__docId__": 3518,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2509",
    "testId": 2509,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2509",
    "access": null,
    "description": "when no other methods to implement setImmediate are available",
    "lineNumber": 235
  },
  {
    "__docId__": 3519,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2510",
    "testId": 2510,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2509",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2500.describe2509.it2510",
    "access": null,
    "description": "should use the setTimeout impl",
    "lineNumber": 236
  },
  {
    "__docId__": 3520,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2511",
    "testId": 2511,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2511",
    "access": null,
    "description": "partiallyApplied",
    "lineNumber": 255
  },
  {
    "__docId__": 3521,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2512",
    "testId": 2512,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2511",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2511.describe2512",
    "access": null,
    "description": "when passed a function as the first argument",
    "lineNumber": 256
  },
  {
    "__docId__": 3522,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2513",
    "testId": 2513,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2511.describe2512",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2511.describe2512.it2513",
    "access": null,
    "description": "should return a function that takes no arguments and will be called with the passed arguments",
    "lineNumber": 257
  },
  {
    "__docId__": 3523,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2514",
    "testId": 2514,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2511",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2511.describe2514",
    "access": null,
    "description": "when passed a non-function as an argument",
    "lineNumber": 266
  },
  {
    "__docId__": 3524,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2515",
    "testId": 2515,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2511.describe2514",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2511.describe2514.it2515",
    "access": null,
    "description": "should coerce to a string and convert to a function which will be called by the returned function",
    "lineNumber": 267
  },
  {
    "__docId__": 3525,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2516",
    "testId": 2516,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2516",
    "access": null,
    "description": "prototype.identify",
    "lineNumber": 278
  },
  {
    "__docId__": 3526,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2517",
    "testId": 2517,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2516",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2516.it2517",
    "access": null,
    "description": "should use Object.toString to return an identifier string",
    "lineNumber": 279
  },
  {
    "__docId__": 3527,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2518",
    "testId": 2518,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2518",
    "access": null,
    "description": "prototype.canUseProcessNextTick",
    "lineNumber": 293
  },
  {
    "__docId__": 3528,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2519",
    "testId": 2519,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2518",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2518.describe2519",
    "access": null,
    "description": "when root.process does not identify as [object process]",
    "lineNumber": 294
  },
  {
    "__docId__": 3529,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2520",
    "testId": 2520,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2518.describe2519",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2518.describe2519.it2520",
    "access": null,
    "description": "should return false",
    "lineNumber": 295
  },
  {
    "__docId__": 3530,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2521",
    "testId": 2521,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2518",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2518.describe2521",
    "access": null,
    "description": "when root.process identifies as [object process]",
    "lineNumber": 307
  },
  {
    "__docId__": 3531,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2522",
    "testId": 2522,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2518.describe2521",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2518.describe2521.it2522",
    "access": null,
    "description": "should return true",
    "lineNumber": 308
  },
  {
    "__docId__": 3532,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2523",
    "testId": 2523,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523",
    "access": null,
    "description": "prototype.canUsePostMessage",
    "lineNumber": 321
  },
  {
    "__docId__": 3533,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2524",
    "testId": 2524,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524",
    "access": null,
    "description": "when there is a global postMessage function",
    "lineNumber": 322
  },
  {
    "__docId__": 3534,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2525",
    "testId": 2525,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525",
    "access": null,
    "description": "and importScripts does NOT exist",
    "lineNumber": 323
  },
  {
    "__docId__": 3535,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2526",
    "testId": 2526,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525",
    "testDepth": 4,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525.it2526",
    "access": null,
    "description": "should maintain any existing onmessage handler",
    "lineNumber": 324
  },
  {
    "__docId__": 3536,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2527",
    "testId": 2527,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525",
    "testDepth": 4,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525.describe2527",
    "access": null,
    "description": "and postMessage is synchronous",
    "lineNumber": 336
  },
  {
    "__docId__": 3537,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2528",
    "testId": 2528,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525.describe2527",
    "testDepth": 5,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525.describe2527.it2528",
    "access": null,
    "description": "should return false",
    "lineNumber": 337
  },
  {
    "__docId__": 3538,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2529",
    "testId": 2529,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525",
    "testDepth": 4,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525.describe2529",
    "access": null,
    "description": "and postMessage is asynchronous",
    "lineNumber": 352
  },
  {
    "__docId__": 3539,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2530",
    "testId": 2530,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525.describe2529",
    "testDepth": 5,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2525.describe2529.it2530",
    "access": null,
    "description": "should return true",
    "lineNumber": 353
  },
  {
    "__docId__": 3540,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2531",
    "testId": 2531,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2531",
    "access": null,
    "description": "and importScripts *does* exist because it is a worker",
    "lineNumber": 370
  },
  {
    "__docId__": 3541,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2532",
    "testId": 2532,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2531",
    "testDepth": 4,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2524.describe2531.it2532",
    "access": null,
    "description": "should return false",
    "lineNumber": 371
  },
  {
    "__docId__": 3542,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2533",
    "testId": 2533,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2533",
    "access": null,
    "description": "when there is NOT a global postMessage function",
    "lineNumber": 387
  },
  {
    "__docId__": 3543,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2534",
    "testId": 2534,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2533",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2523.describe2533.it2534",
    "access": null,
    "description": "should return false",
    "lineNumber": 388
  },
  {
    "__docId__": 3544,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2535",
    "testId": 2535,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2535",
    "access": null,
    "description": "prototype.canUseMessageChannel",
    "lineNumber": 397
  },
  {
    "__docId__": 3545,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2536",
    "testId": 2536,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2535",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2535.it2536",
    "access": null,
    "description": "should return true if MessageChannel exists",
    "lineNumber": 398
  },
  {
    "__docId__": 3546,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2537",
    "testId": 2537,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2535",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2535.it2537",
    "access": null,
    "description": "should return false if MessageChannel does NOT exist",
    "lineNumber": 409
  },
  {
    "__docId__": 3547,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2538",
    "testId": 2538,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2538",
    "access": null,
    "description": "prototype.canUseReadyStateChange",
    "lineNumber": 417
  },
  {
    "__docId__": 3548,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2539",
    "testId": 2539,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2538",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2538.describe2539",
    "access": null,
    "description": "when there is a document in global scope",
    "lineNumber": 418
  },
  {
    "__docId__": 3549,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2540",
    "testId": 2540,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2538.describe2539",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2538.describe2539.it2540",
    "access": null,
    "description": "should return true if created script elements have an onreadystatechange property",
    "lineNumber": 419
  },
  {
    "__docId__": 3550,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2541",
    "testId": 2541,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2538.describe2539",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2538.describe2539.it2541",
    "access": null,
    "description": "should return false if created script elements do NOT have an onreadystatechange property",
    "lineNumber": 434
  },
  {
    "__docId__": 3551,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2542",
    "testId": 2542,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2538",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2538.it2542",
    "access": null,
    "description": "should return false if there is no document in global scope",
    "lineNumber": 448
  },
  {
    "__docId__": 3552,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2543",
    "testId": 2543,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2543",
    "access": null,
    "description": "prototype.addFromSetImmediateArguments",
    "lineNumber": 456
  },
  {
    "__docId__": 3553,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2544",
    "testId": 2544,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2543",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2543.it2544",
    "access": null,
    "description": "should add to tasksByHandle and increment the nextHandle",
    "lineNumber": 457
  },
  {
    "__docId__": 3554,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2545",
    "testId": 2545,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2545",
    "access": null,
    "description": "clearImmediate",
    "lineNumber": 473
  },
  {
    "__docId__": 3555,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2546",
    "testId": 2546,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2545",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2545.it2546",
    "access": null,
    "description": "should delete values from tasksByHandle",
    "lineNumber": 474
  },
  {
    "__docId__": 3556,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2547",
    "testId": 2547,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2547",
    "access": null,
    "description": "prototype.runIfPresent",
    "lineNumber": 492
  },
  {
    "__docId__": 3557,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2548",
    "testId": 2548,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2547",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2547.it2548",
    "access": null,
    "description": "should delay running the task if it is currently running a task",
    "lineNumber": 493
  },
  {
    "__docId__": 3558,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2549",
    "testId": 2549,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2547",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2547.it2549",
    "access": null,
    "description": "should not error if there is no task currently running and the handle passed is not found",
    "lineNumber": 509
  },
  {
    "__docId__": 3559,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2550",
    "testId": 2550,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2547",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2547.describe2550",
    "access": null,
    "description": "when a task is found for the handle",
    "lineNumber": 522
  },
  {
    "__docId__": 3560,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2551",
    "testId": 2551,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2547.describe2550",
    "testDepth": 3,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2547.describe2550.it2551",
    "access": null,
    "description": "should execute the task and clean up after",
    "lineNumber": 523
  },
  {
    "__docId__": 3561,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2552",
    "testId": 2552,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2552",
    "access": null,
    "description": "prototype.createSetTimeoutSetImmediate",
    "lineNumber": 545
  },
  {
    "__docId__": 3562,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2553",
    "testId": 2553,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2552",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2552.it2553",
    "access": null,
    "description": "should create a proper setImmediate implementation that uses setTimeout",
    "lineNumber": 546
  },
  {
    "__docId__": 3563,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2554",
    "testId": 2554,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488",
    "testDepth": 1,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2554",
    "access": null,
    "description": "integration test",
    "lineNumber": 567
  },
  {
    "__docId__": 3564,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2555",
    "testId": 2555,
    "memberof": "spec-js/util/Immediate-spec.js~describe2488.describe2554",
    "testDepth": 2,
    "longname": "spec-js/util/Immediate-spec.js~describe2488.describe2554.it2555",
    "access": null,
    "description": "should work",
    "lineNumber": 568
  },
  {
    "__docId__": 3565,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/util/MapPolyfill-spec.js",
    "memberof": null,
    "longname": "spec-js/util/MapPolyfill-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar MapPolyfill_1 = require('../../dist/cjs/util/MapPolyfill');\n/** @test {MapPolyfill} */\ndescribe('MapPolyfill', function () {\n    it('should exist', function () {\n        chai_1.expect(MapPolyfill_1.MapPolyfill).to.be.a('function');\n    });\n    it('should act like a hashtable that accepts objects as keys', function () {\n        var map = new MapPolyfill_1.MapPolyfill();\n        var key1 = {};\n        var key2 = {};\n        map.set('test', 'hi');\n        map.set(key1, 'yo');\n        map.set(key2, 'what up');\n        chai_1.expect(map.get('test')).to.equal('hi');\n        chai_1.expect(map.get(key1)).to.equal('yo');\n        chai_1.expect(map.get(key2)).to.equal('what up');\n        chai_1.expect(map.size).to.equal(3);\n    });\n    it('should allow setting keys twice', function () {\n        var map = new MapPolyfill_1.MapPolyfill();\n        var key1 = {};\n        map.set(key1, 'sing');\n        map.set(key1, 'yodel');\n        chai_1.expect(map.get(key1)).to.equal('yodel');\n        chai_1.expect(map.size).to.equal(1);\n    });\n    it('should have a delete method that removes keys', function () {\n        var map = new MapPolyfill_1.MapPolyfill();\n        var key1 = {};\n        map.set(key1, 'sing');\n        chai_1.expect(map.size).to.equal(1);\n        map.delete(key1);\n        chai_1.expect(map.size).to.equal(0);\n        chai_1.expect(map.get(key1)).to.be.a('undefined');\n    });\n    describe('prototype.forEach', function () {\n        it('should exist', function () {\n            var map = new MapPolyfill_1.MapPolyfill();\n            chai_1.expect(map.forEach).to.be.a('function');\n        });\n        it('should iterate over keys and values', function () {\n            var expectedKeys = ['a', 'b', 'c'];\n            var expectedValues = [1, 2, 3];\n            var map = new MapPolyfill_1.MapPolyfill();\n            map.set('a', 1);\n            map.set('b', 2);\n            map.set('c', 3);\n            var thisArg = {\n                arg: 'value'\n            };\n            //intentionally not using lambda to avoid typescript's this context capture\n            map.forEach(function (value, key) {\n                chai_1.expect(this).to.equal(thisArg);\n                chai_1.expect(value).to.equal(expectedValues.shift());\n                chai_1.expect(key).to.equal(expectedKeys.shift());\n            }, thisArg);\n            chai_1.expect(expectedValues.length).to.equal(0);\n            chai_1.expect(expectedKeys.length).to.equal(0);\n        });\n    });\n});\n//# sourceMappingURL=MapPolyfill-spec.js.map"
  },
  {
    "__docId__": 3566,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2556",
    "testId": 2556,
    "memberof": "spec-js/util/MapPolyfill-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/MapPolyfill-spec.js~describe2556",
    "access": null,
    "description": "MapPolyfill",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{MapPolyfill}"
      }
    ],
    "testTargets": [
      "MapPolyfill"
    ]
  },
  {
    "__docId__": 3567,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2557",
    "testId": 2557,
    "memberof": "spec-js/util/MapPolyfill-spec.js~describe2556",
    "testDepth": 1,
    "longname": "spec-js/util/MapPolyfill-spec.js~describe2556.it2557",
    "access": null,
    "description": "should exist",
    "lineNumber": 6
  },
  {
    "__docId__": 3568,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2558",
    "testId": 2558,
    "memberof": "spec-js/util/MapPolyfill-spec.js~describe2556",
    "testDepth": 1,
    "longname": "spec-js/util/MapPolyfill-spec.js~describe2556.it2558",
    "access": null,
    "description": "should act like a hashtable that accepts objects as keys",
    "lineNumber": 9
  },
  {
    "__docId__": 3569,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2559",
    "testId": 2559,
    "memberof": "spec-js/util/MapPolyfill-spec.js~describe2556",
    "testDepth": 1,
    "longname": "spec-js/util/MapPolyfill-spec.js~describe2556.it2559",
    "access": null,
    "description": "should allow setting keys twice",
    "lineNumber": 21
  },
  {
    "__docId__": 3570,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2560",
    "testId": 2560,
    "memberof": "spec-js/util/MapPolyfill-spec.js~describe2556",
    "testDepth": 1,
    "longname": "spec-js/util/MapPolyfill-spec.js~describe2556.it2560",
    "access": null,
    "description": "should have a delete method that removes keys",
    "lineNumber": 29
  },
  {
    "__docId__": 3571,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2561",
    "testId": 2561,
    "memberof": "spec-js/util/MapPolyfill-spec.js~describe2556",
    "testDepth": 1,
    "longname": "spec-js/util/MapPolyfill-spec.js~describe2556.describe2561",
    "access": null,
    "description": "prototype.forEach",
    "lineNumber": 38
  },
  {
    "__docId__": 3572,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2562",
    "testId": 2562,
    "memberof": "spec-js/util/MapPolyfill-spec.js~describe2556.describe2561",
    "testDepth": 2,
    "longname": "spec-js/util/MapPolyfill-spec.js~describe2556.describe2561.it2562",
    "access": null,
    "description": "should exist",
    "lineNumber": 39
  },
  {
    "__docId__": 3573,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2563",
    "testId": 2563,
    "memberof": "spec-js/util/MapPolyfill-spec.js~describe2556.describe2561",
    "testDepth": 2,
    "longname": "spec-js/util/MapPolyfill-spec.js~describe2556.describe2561.it2563",
    "access": null,
    "description": "should iterate over keys and values",
    "lineNumber": 43
  },
  {
    "__docId__": 3574,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/util/Set-spec.js",
    "memberof": null,
    "longname": "spec-js/util/Set-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Set_1 = require('../../dist/cjs/util/Set');\ndescribe('Set', function () {\n    if (typeof Set === 'function') {\n        it('should use Set if Set exists', function () {\n            chai_1.expect(Set_1.Set).to.equal(Set);\n        });\n    }\n});\ndescribe('minimalSetImpl()', function () {\n    it('should provide the minimal Set we require', function () {\n        var MinSet = Set_1.minimalSetImpl();\n        var test = new MinSet();\n        chai_1.expect(MinSet.prototype.add).to.be.a('function');\n        chai_1.expect(MinSet.prototype.has).to.be.a('function');\n        chai_1.expect(MinSet.prototype.clear).to.be.a('function');\n        chai_1.expect(test.size).to.be.a('number');\n    });\n    describe('returned MinimalSet', function () {\n        it('should implement add, has, size and clear', function () {\n            var MinSet = Set_1.minimalSetImpl();\n            var test = new MinSet();\n            chai_1.expect(test.size).to.equal(0);\n            test.add('Laverne');\n            chai_1.expect(test.size).to.equal(1);\n            chai_1.expect(test.has('Laverne')).to.be.true;\n            chai_1.expect(test.has('Shirley')).to.be.false;\n            test.add('Shirley');\n            chai_1.expect(test.size).to.equal(2);\n            chai_1.expect(test.has('Laverne')).to.be.true;\n            chai_1.expect(test.has('Shirley')).to.be.true;\n            var squiggy = { name: 'Andrew Squiggman' };\n            var identicalSquiggy = { name: 'Andrew Squiggman' }; // lol, imposter!\n            test.add(squiggy);\n            chai_1.expect(test.size).to.equal(3);\n            chai_1.expect(test.has(identicalSquiggy)).to.be.false;\n            chai_1.expect(test.has(squiggy)).to.be.true;\n            test.clear();\n            chai_1.expect(test.size).to.equal(0);\n            chai_1.expect(test.has('Laverne')).to.be.false;\n            chai_1.expect(test.has('Shirley')).to.be.false;\n            chai_1.expect(test.has(squiggy)).to.be.false;\n            chai_1.expect(test.has(identicalSquiggy)).to.be.false;\n            test.add('Fonzi');\n            chai_1.expect(test.size).to.equal(1);\n            chai_1.expect(test.has('Fonzi')).to.be.true;\n        });\n    });\n});\n//# sourceMappingURL=Set-spec.js.map"
  },
  {
    "__docId__": 3575,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2564",
    "testId": 2564,
    "memberof": "spec-js/util/Set-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/Set-spec.js~describe2564",
    "access": null,
    "description": "Set",
    "lineNumber": 4
  },
  {
    "__docId__": 3576,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2565",
    "testId": 2565,
    "memberof": "spec-js/util/Set-spec.js~describe2564",
    "testDepth": 1,
    "longname": "spec-js/util/Set-spec.js~describe2564.it2565",
    "access": null,
    "description": "should use Set if Set exists",
    "lineNumber": 6
  },
  {
    "__docId__": 3577,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2566",
    "testId": 2566,
    "memberof": "spec-js/util/Set-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/Set-spec.js~describe2566",
    "access": null,
    "description": "minimalSetImpl()",
    "lineNumber": 11
  },
  {
    "__docId__": 3578,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2567",
    "testId": 2567,
    "memberof": "spec-js/util/Set-spec.js~describe2566",
    "testDepth": 1,
    "longname": "spec-js/util/Set-spec.js~describe2566.it2567",
    "access": null,
    "description": "should provide the minimal Set we require",
    "lineNumber": 12
  },
  {
    "__docId__": 3579,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2568",
    "testId": 2568,
    "memberof": "spec-js/util/Set-spec.js~describe2566",
    "testDepth": 1,
    "longname": "spec-js/util/Set-spec.js~describe2566.describe2568",
    "access": null,
    "description": "returned MinimalSet",
    "lineNumber": 20
  },
  {
    "__docId__": 3580,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2569",
    "testId": 2569,
    "memberof": "spec-js/util/Set-spec.js~describe2566.describe2568",
    "testDepth": 2,
    "longname": "spec-js/util/Set-spec.js~describe2566.describe2568.it2569",
    "access": null,
    "description": "should implement add, has, size and clear",
    "lineNumber": 21
  },
  {
    "__docId__": 3581,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/util/UnsubscriptionError-spec.js",
    "memberof": null,
    "longname": "spec-js/util/UnsubscriptionError-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar Observable = Rx.Observable, UnsubscriptionError = Rx.UnsubscriptionError;\n/** @test {UnsubscriptionError} */\ndescribe('UnsubscriptionError', function () {\n    it('should create a message that is a clear indication of its internal errors', function () {\n        var err1 = new Error('Swiss cheese tastes amazing but smells like socks');\n        var err2 = new Error('User too big to fit in tiny European elevator');\n        var source1 = Observable.create(function () { return function () { throw err1; }; });\n        var source2 = Observable.timer(1000);\n        var source3 = Observable.create(function () { return function () { throw err2; }; });\n        var source = source1.merge(source2, source3);\n        var subscription = source.subscribe();\n        try {\n            subscription.unsubscribe();\n        }\n        catch (err) {\n            chai_1.expect(err instanceof UnsubscriptionError).to.equal(true);\n            chai_1.expect(err.message).to.equal(\"2 errors occurred during unsubscription:\\n  1) \" + err1 + \"\\n  2) \" + err2);\n            chai_1.expect(err.name).to.equal('UnsubscriptionError');\n        }\n    });\n});\n//# sourceMappingURL=UnsubscriptionError-spec.js.map"
  },
  {
    "__docId__": 3582,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2570",
    "testId": 2570,
    "memberof": "spec-js/util/UnsubscriptionError-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/UnsubscriptionError-spec.js~describe2570",
    "access": null,
    "description": "UnsubscriptionError",
    "lineNumber": 6,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{UnsubscriptionError}"
      }
    ],
    "testTargets": [
      "UnsubscriptionError"
    ]
  },
  {
    "__docId__": 3583,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2571",
    "testId": 2571,
    "memberof": "spec-js/util/UnsubscriptionError-spec.js~describe2570",
    "testDepth": 1,
    "longname": "spec-js/util/UnsubscriptionError-spec.js~describe2570.it2571",
    "access": null,
    "description": "should create a message that is a clear indication of its internal errors",
    "lineNumber": 7
  },
  {
    "__docId__": 3584,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/util/assign-spec.js",
    "memberof": null,
    "longname": "spec-js/util/assign-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar assign_1 = require('../../dist/cjs/util/assign');\ndescribe('assign', function () {\n    it('should exist', function () {\n        chai_1.expect(assign_1.assign).to.be.a('function');\n    });\n    if (Object.assign) {\n        it('should use Object.assign if available', function () {\n            chai_1.expect(assign_1.assign).to.equal(Object.assign);\n        });\n    }\n    it('should assign n objects to a target', function () {\n        var target = { what: 'what' };\n        var source1 = { wut: 'socks' };\n        var source2 = { and: 'sandals' };\n        var result = assign_1.assign(target, source1, source2);\n        chai_1.expect(result).to.equal(target);\n        chai_1.expect(result).to.deep.equal({ what: 'what', wut: 'socks', and: 'sandals' });\n    });\n});\ndescribe('assignImpl', function () {\n    it('should assign n objects to a target', function () {\n        var target = { what: 'what' };\n        var source1 = { wut: 'socks' };\n        var source2 = { and: 'sandals' };\n        var result = assign_1.assignImpl(target, source1, source2);\n        chai_1.expect(result).to.equal(target);\n        chai_1.expect(result).to.deep.equal({ what: 'what', wut: 'socks', and: 'sandals' });\n    });\n});\ndescribe('getAssign', function () {\n    it('should return assignImpl if Object.assign does not exist on root', function () {\n        var result = assign_1.getAssign({ Object: {} });\n        chai_1.expect(result).to.equal(assign_1.assignImpl);\n    });\n    it('should return Object.assign if it exists', function () {\n        var FAKE = function () { };\n        var result = assign_1.getAssign({ Object: { assign: FAKE } });\n        chai_1.expect(result).to.equal(FAKE);\n    });\n});\n//# sourceMappingURL=assign-spec.js.map"
  },
  {
    "__docId__": 3585,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2572",
    "testId": 2572,
    "memberof": "spec-js/util/assign-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/assign-spec.js~describe2572",
    "access": null,
    "description": "assign",
    "lineNumber": 4
  },
  {
    "__docId__": 3586,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2573",
    "testId": 2573,
    "memberof": "spec-js/util/assign-spec.js~describe2572",
    "testDepth": 1,
    "longname": "spec-js/util/assign-spec.js~describe2572.it2573",
    "access": null,
    "description": "should exist",
    "lineNumber": 5
  },
  {
    "__docId__": 3587,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2574",
    "testId": 2574,
    "memberof": "spec-js/util/assign-spec.js~describe2572",
    "testDepth": 1,
    "longname": "spec-js/util/assign-spec.js~describe2572.it2574",
    "access": null,
    "description": "should use Object.assign if available",
    "lineNumber": 9
  },
  {
    "__docId__": 3588,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2575",
    "testId": 2575,
    "memberof": "spec-js/util/assign-spec.js~describe2572",
    "testDepth": 1,
    "longname": "spec-js/util/assign-spec.js~describe2572.it2575",
    "access": null,
    "description": "should assign n objects to a target",
    "lineNumber": 13
  },
  {
    "__docId__": 3589,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2576",
    "testId": 2576,
    "memberof": "spec-js/util/assign-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/assign-spec.js~describe2576",
    "access": null,
    "description": "assignImpl",
    "lineNumber": 22
  },
  {
    "__docId__": 3590,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2577",
    "testId": 2577,
    "memberof": "spec-js/util/assign-spec.js~describe2576",
    "testDepth": 1,
    "longname": "spec-js/util/assign-spec.js~describe2576.it2577",
    "access": null,
    "description": "should assign n objects to a target",
    "lineNumber": 23
  },
  {
    "__docId__": 3591,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2578",
    "testId": 2578,
    "memberof": "spec-js/util/assign-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/assign-spec.js~describe2578",
    "access": null,
    "description": "getAssign",
    "lineNumber": 32
  },
  {
    "__docId__": 3592,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2579",
    "testId": 2579,
    "memberof": "spec-js/util/assign-spec.js~describe2578",
    "testDepth": 1,
    "longname": "spec-js/util/assign-spec.js~describe2578.it2579",
    "access": null,
    "description": "should return assignImpl if Object.assign does not exist on root",
    "lineNumber": 33
  },
  {
    "__docId__": 3593,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2580",
    "testId": 2580,
    "memberof": "spec-js/util/assign-spec.js~describe2578",
    "testDepth": 1,
    "longname": "spec-js/util/assign-spec.js~describe2578.it2580",
    "access": null,
    "description": "should return Object.assign if it exists",
    "lineNumber": 37
  },
  {
    "__docId__": 3594,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/util/root-spec.js",
    "memberof": null,
    "longname": "spec-js/util/root-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar root_1 = require('../../dist/cjs/util/root');\n/** @test {root} */\ndescribe('root', function () {\n    it('should exist', function () {\n        chai_1.expect(typeof root_1.root).to.equal('object');\n    });\n});\n//# sourceMappingURL=root-spec.js.map"
  },
  {
    "__docId__": 3595,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2581",
    "testId": 2581,
    "memberof": "spec-js/util/root-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/root-spec.js~describe2581",
    "access": null,
    "description": "root",
    "lineNumber": 5,
    "unknown": [
      {
        "tagName": "@test",
        "tagValue": "{root}"
      }
    ],
    "testTargets": [
      "root"
    ]
  },
  {
    "__docId__": 3596,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2582",
    "testId": 2582,
    "memberof": "spec-js/util/root-spec.js~describe2581",
    "testDepth": 1,
    "longname": "spec-js/util/root-spec.js~describe2581.it2582",
    "access": null,
    "description": "should exist",
    "lineNumber": 6
  },
  {
    "__docId__": 3597,
    "kind": "testFile",
    "static": true,
    "variation": null,
    "name": "spec-js/util/subscribeToResult-spec.js",
    "memberof": null,
    "longname": "spec-js/util/subscribeToResult-spec.js",
    "access": null,
    "description": null,
    "lineNumber": 1,
    "content": "\"use strict\";\nvar chai_1 = require('chai');\nvar Rx = require('../../dist/cjs/Rx');\nvar subscribeToResult_1 = require('../../dist/cjs/util/subscribeToResult');\nvar OuterSubscriber_1 = require('../../dist/cjs/OuterSubscriber');\nvar iterator_1 = require('../../dist/cjs/symbol/iterator');\nvar symbol_observable_1 = require('symbol-observable');\ndescribe('subscribeToResult', function () {\n    it('should synchronously complete when subscribe to scalarObservable', function () {\n        var result = Rx.Observable.of(42);\n        var expected;\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) { return expected = x; });\n        var subscription = subscribeToResult_1.subscribeToResult(subscriber, result);\n        chai_1.expect(expected).to.be.equal(42);\n        chai_1.expect(subscription).to.be.null;\n    });\n    it('should subscribe to observables that are an instanceof Rx.Observable', function (done) {\n        var expected = [1, 2, 3];\n        var result = Rx.Observable.range(1, 3);\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) {\n            chai_1.expect(expected.shift()).to.be.equal(x);\n        }, function () {\n            done(new Error('should not be called'));\n        }, function () {\n            chai_1.expect(expected).to.be.empty;\n            done();\n        });\n        subscribeToResult_1.subscribeToResult(subscriber, result);\n    });\n    it('should emit error when observable emits error', function (done) {\n        var result = Rx.Observable.throw(new Error('error'));\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) {\n            done(new Error('should not be called'));\n        }, function (err) {\n            chai_1.expect(err).to.be.an('error', 'error');\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n        subscribeToResult_1.subscribeToResult(subscriber, result);\n    });\n    it('should subscribe to an array and emit synchronously', function () {\n        var result = [1, 2, 3];\n        var expected = [];\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) { return expected.push(x); });\n        subscribeToResult_1.subscribeToResult(subscriber, result);\n        chai_1.expect(expected).to.be.deep.equal(result);\n    });\n    it('should subscribe to a promise', function (done) {\n        var result = Promise.resolve(42);\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) {\n            chai_1.expect(x).to.be.equal(42);\n        }, function () {\n            done(new Error('should not be called'));\n        }, done);\n        subscribeToResult_1.subscribeToResult(subscriber, result);\n    });\n    it('should emits error when the promise rejects', function (done) {\n        var result = Promise.reject(42);\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.be.equal(42);\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n        subscribeToResult_1.subscribeToResult(subscriber, result);\n    });\n    it('should subscribe an iterable and emit results synchronously', function () {\n        var expected;\n        var iteratorResults = [\n            { value: 42, done: false },\n            { done: true }\n        ];\n        var iterable = (_a = {},\n            _a[iterator_1.$$iterator] = function () {\n                return {\n                    next: function () {\n                        return iteratorResults.shift();\n                    }\n                };\n            },\n            _a\n        );\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) { return expected = x; });\n        subscribeToResult_1.subscribeToResult(subscriber, iterable);\n        chai_1.expect(expected).to.be.equal(42);\n        var _a;\n    });\n    it('should subscribe to to an object that implements Symbol.observable', function (done) {\n        var observableSymbolObject = (_a = {}, _a[symbol_observable_1.default] = function () { return Rx.Observable.of(42); }, _a);\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) {\n            chai_1.expect(x).to.be.equal(42);\n        }, function () {\n            done(new Error('should not be called'));\n        }, done);\n        subscribeToResult_1.subscribeToResult(subscriber, observableSymbolObject);\n        var _a;\n    });\n    it('should emit an error if value returned by Symbol.observable call is not a valid observable', function (done) {\n        var observableSymbolObject = (_a = {}, _a[symbol_observable_1.default] = function () { return ({}); }, _a);\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.be.an('error', 'invalid observable');\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n        subscribeToResult_1.subscribeToResult(subscriber, observableSymbolObject);\n        var _a;\n    });\n    it('should emit an error when trying to subscribe to an unknown type of object', function (done) {\n        var subscriber = new OuterSubscriber_1.OuterSubscriber(function (x) {\n            done(new Error('should not be called'));\n        }, function (x) {\n            chai_1.expect(x).to.be.an('error', 'unknown type returned');\n            done();\n        }, function () {\n            done(new Error('should not be called'));\n        });\n        subscribeToResult_1.subscribeToResult(subscriber, {});\n    });\n});\n//# sourceMappingURL=subscribeToResult-spec.js.map"
  },
  {
    "__docId__": 3598,
    "kind": "testDescribe",
    "static": true,
    "variation": null,
    "name": "describe2583",
    "testId": 2583,
    "memberof": "spec-js/util/subscribeToResult-spec.js",
    "testDepth": 0,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "access": null,
    "description": "subscribeToResult",
    "lineNumber": 8
  },
  {
    "__docId__": 3599,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2584",
    "testId": 2584,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2584",
    "access": null,
    "description": "should synchronously complete when subscribe to scalarObservable",
    "lineNumber": 9
  },
  {
    "__docId__": 3600,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2585",
    "testId": 2585,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2585",
    "access": null,
    "description": "should subscribe to observables that are an instanceof Rx.Observable",
    "lineNumber": 17
  },
  {
    "__docId__": 3601,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2586",
    "testId": 2586,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2586",
    "access": null,
    "description": "should emit error when observable emits error",
    "lineNumber": 30
  },
  {
    "__docId__": 3602,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2587",
    "testId": 2587,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2587",
    "access": null,
    "description": "should subscribe to an array and emit synchronously",
    "lineNumber": 42
  },
  {
    "__docId__": 3603,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2588",
    "testId": 2588,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2588",
    "access": null,
    "description": "should subscribe to a promise",
    "lineNumber": 49
  },
  {
    "__docId__": 3604,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2589",
    "testId": 2589,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2589",
    "access": null,
    "description": "should emits error when the promise rejects",
    "lineNumber": 58
  },
  {
    "__docId__": 3605,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2590",
    "testId": 2590,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2590",
    "access": null,
    "description": "should subscribe an iterable and emit results synchronously",
    "lineNumber": 70
  },
  {
    "__docId__": 3606,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2591",
    "testId": 2591,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2591",
    "access": null,
    "description": "should subscribe to to an object that implements Symbol.observable",
    "lineNumber": 91
  },
  {
    "__docId__": 3607,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2592",
    "testId": 2592,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2592",
    "access": null,
    "description": "should emit an error if value returned by Symbol.observable call is not a valid observable",
    "lineNumber": 101
  },
  {
    "__docId__": 3608,
    "kind": "testIt",
    "static": true,
    "variation": null,
    "name": "it2593",
    "testId": 2593,
    "memberof": "spec-js/util/subscribeToResult-spec.js~describe2583",
    "testDepth": 1,
    "longname": "spec-js/util/subscribeToResult-spec.js~describe2583.it2593",
    "access": null,
    "description": "should emit an error when trying to subscribe to an unknown type of object",
    "lineNumber": 114
  }
]