| 1 |
- {"ast":null,"code":"import { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) {\n if (typeof resultSelector === 'function') {\n return source => source.pipe(mergeMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii))), concurrent));\n } else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return source => source.lift(new MergeMapOperator(project, concurrent));\n}\nexport class MergeMapOperator {\n constructor(project, concurrent = Number.POSITIVE_INFINITY) {\n this.project = project;\n this.concurrent = concurrent;\n }\n call(observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n }\n}\nexport class MergeMapSubscriber extends OuterSubscriber {\n constructor(destination, project, concurrent = Number.POSITIVE_INFINITY) {\n super(destination);\n this.project = project;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n _next(value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n } else {\n this.buffer.push(value);\n }\n }\n _tryNext(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n } catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result, value, index);\n }\n _innerSub(ish, value, index) {\n const innerSubscriber = new InnerSubscriber(this, value, index);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = subscribeToResult(this, ish, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n notifyComplete(innerSub) {\n const buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n } else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n }\n}\nexport const flatMap = mergeMap;","map":{"version":3,"names":["subscribeToResult","OuterSubscriber","InnerSubscriber","map","from","mergeMap","project","resultSelector","concurrent","Number","POSITIVE_INFINITY","source","pipe","a","i","b","ii","lift","MergeMapOperator","constructor","call","observer","subscribe","MergeMapSubscriber","destination","hasCompleted","buffer","active","index","_next","value","_tryNext","push","result","err","error","_innerSub","ish","innerSubscriber","add","innerSubscription","undefined","_complete","length","complete","unsubscribe","notifyNext","outerValue","innerValue","outerIndex","innerIndex","innerSub","next","notifyComplete","remove","shift","flatMap"],"sources":["C:/FatboarProject/angular-client/node_modules/rxjs/_esm2015/internal/operators/mergeMap.js"],"sourcesContent":["import { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(mergeMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii))), concurrent));\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return (source) => source.lift(new MergeMapOperator(project, concurrent));\n}\nexport class MergeMapOperator {\n constructor(project, concurrent = Number.POSITIVE_INFINITY) {\n this.project = project;\n this.concurrent = concurrent;\n }\n call(observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n }\n}\nexport class MergeMapSubscriber extends OuterSubscriber {\n constructor(destination, project, concurrent = Number.POSITIVE_INFINITY) {\n super(destination);\n this.project = project;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n _next(value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n }\n _tryNext(value) {\n let result;\n const 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 _innerSub(ish, value, index) {\n const innerSubscriber = new InnerSubscriber(this, value, index);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = subscribeToResult(this, ish, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n notifyComplete(innerSub) {\n const 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}\nexport const flatMap = mergeMap;\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|