{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/operators/merge.ts"],"names":[],"mappings":";AAGA,sBAAqC,qBAAqB,CAAC,CAAA;AAE3D,sBAAqC,qBAAqB,CAAC;AAAlD,oCAAkD;AAiB3D,mCAAmC;AACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH;IAA4B,qBAAiE;SAAjE,WAAiE,CAAjE,sBAAiE,CAAjE,IAAiE;QAAjE,oCAAiE;;IAC3F,MAAM,CAAC,UAAC,MAAqB,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAW,gBAAC,MAAM,SAAK,WAAW,EAAC,CAAC,EAArD,CAAqD,CAAC;AAC1F,CAAC;AAFe,aAAK,QAEpB,CAAA","sourcesContent":["import { Observable, ObservableInput } from '../Observable';\nimport { IScheduler } from '../Scheduler';\nimport { OperatorFunction, MonoTypeOperatorFunction } from '../interfaces';\nimport { merge as mergeStatic } from '../observable/merge';\n\nexport { merge as mergeStatic } from '../observable/merge';\n\n/* tslint:disable:max-line-length */\nexport function merge(scheduler?: IScheduler): MonoTypeOperatorFunction;\nexport function merge(concurrent?: number, scheduler?: IScheduler): MonoTypeOperatorFunction;\nexport function merge(v2: ObservableInput, scheduler?: IScheduler): OperatorFunction;\nexport function merge(v2: ObservableInput, concurrent?: number, scheduler?: IScheduler): OperatorFunction;\nexport function merge(v2: ObservableInput, v3: ObservableInput, scheduler?: IScheduler): OperatorFunction;\nexport function merge(v2: ObservableInput, v3: ObservableInput, concurrent?: number, scheduler?: IScheduler): OperatorFunction;\nexport function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, scheduler?: IScheduler): OperatorFunction;\nexport function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, concurrent?: number, scheduler?: IScheduler): OperatorFunction;\nexport function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, scheduler?: IScheduler): OperatorFunction;\nexport function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, concurrent?: number, scheduler?: IScheduler): OperatorFunction;\nexport function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput, scheduler?: IScheduler): OperatorFunction;\nexport function merge(v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput, concurrent?: number, scheduler?: IScheduler): OperatorFunction;\nexport function merge(...observables: Array | IScheduler | number>): MonoTypeOperatorFunction;\nexport function merge(...observables: Array | IScheduler | number>): OperatorFunction;\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 * Flattens multiple Observables together by blending\n * their values into one Observable.\n *\n * \n *\n * `merge` subscribes to each given input Observable (either the source or an\n * Observable given as argument), and simply forwards (without doing any\n * transformation) all the values from all the input Observables to the output\n * Observable. The output Observable only completes once all input Observables\n * have completed. Any error delivered by an input Observable will be immediately\n * emitted on the output Observable.\n *\n * @example Merge together two Observables: 1s interval and clicks\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var clicksOrTimer = clicks.merge(timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * @example Merge together 3 Observables, but only 2 run concurrently\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 = timer1.merge(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 {ObservableInput} other An input Observable to merge with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The IScheduler 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 * @method merge\n * @owner Observable\n */\nexport function merge(...observables: Array | IScheduler | number>): OperatorFunction {\n return (source: Observable) => source.lift.call(mergeStatic(source, ...observables));\n}\n"]}