{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/operator/merge.ts"],"names":[],"mappings":";AAEA,sBAAqC,oBAAoB,CAAC,CAAA;AAE1D,sBAAqC,qBAAqB,CAAC;AAAlD,oCAAkD;AAiB3D,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH;IAAiD,qBAAiE;SAAjE,WAAiE,CAAjE,sBAAiE,CAAjE,IAAiE;QAAjE,oCAAiE;;IAChH,MAAM,CAAC,aAAW,eAAI,WAAW,CAAC,CAAC,IAAI,CAAkB,CAAC;AAC5D,CAAC;AAFe,aAAK,QAEpB,CAAA","sourcesContent":["import { Observable, ObservableInput } from '../Observable';\nimport { IScheduler } from '../Scheduler';\nimport { merge as higherOrder } from '../operators/merge';\n\nexport { merge as mergeStatic } from '../observable/merge';\n\n/* tslint:disable:max-line-length */\nexport function merge(this: Observable, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, concurrent?: number, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, concurrent?: number, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, v3: ObservableInput, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, v3: ObservableInput, concurrent?: number, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, concurrent?: number, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, concurrent?: number, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput, concurrent?: number, scheduler?: IScheduler): Observable;\nexport function merge(this: Observable, ...observables: Array | IScheduler | number>): Observable;\nexport function merge(this: Observable, ...observables: Array | IScheduler | number>): Observable;\n/* tslint:enable:max-line-length */\n\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(this: Observable, ...observables: Array | IScheduler | number>): Observable {\n return higherOrder(...observables)(this) as Observable;\n}\n"]}