UNPKG

17.8 kBSource Map (JSON)View Raw
1{"version":3,"sources":["asynciterable/asynciterablex.ts"],"names":[],"mappings":"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","file":"asynciterablex.js","sourcesContent":["import { AsyncSink } from './../asyncsink';\nimport { OperatorAsyncFunction } from '../interfaces';\nimport { bindCallback } from '../internal/bindcallback';\nimport { identityAsync } from '../internal/identity';\nimport { toLength } from '../internal/tolength';\nimport { Observable } from '../observer';\nimport {\n isArrayLike,\n isIterable,\n isAsyncIterable,\n isReadableNodeStream,\n isWritableNodeStream\n} from '../internal/isiterable';\n\n/**\n * This class serves as the base for all operations which support [Symbol.asyncIterator].\n */\nexport abstract class AsyncIterableX<T> implements AsyncIterable<T> {\n abstract [Symbol.asyncIterator](): AsyncIterator<T>;\n\n async forEach(\n projection: (value: T, index: number) => void | Promise<void>,\n thisArg?: any\n ): Promise<void> {\n const fn = bindCallback(projection, thisArg, 2);\n let i = 0;\n for await (let item of this) {\n await fn(item, i++);\n }\n }\n\n pipe<R>(...args: OperatorAsyncFunction<any, any>[]): AsyncIterableX<R> {\n let i = -1;\n let n = args.length;\n let acc: any = this;\n let as = AsyncIterableX.as;\n while (++i < n) {\n acc = as(args[i](acc));\n }\n return acc as AsyncIterableX<R>;\n }\n\n tee(): [ReadableStream<T>, ReadableStream<T>] {\n return this._getDOMStream().tee();\n }\n\n pipeTo(writable: WritableStream<T>, options?: PipeOptions) {\n return this._getDOMStream().pipeTo(writable, options);\n }\n\n pipeThrough<R extends ReadableStream<any>>(\n duplex: { writable: WritableStream<T>; readable: R },\n options?: PipeOptions\n ) {\n return this._getDOMStream().pipeThrough(duplex, options);\n }\n\n private _DOMStream?: ReadableStream<T>;\n private _getDOMStream(): ReadableStream<T> {\n return this._DOMStream || (this._DOMStream = this.publish().toDOMStream());\n }\n\n static as(source: string): AsyncIterableX<string>;\n static as<T extends AsyncIterableX<any>>(source: T): T;\n static as<T>(source: AsyncIterableInput<T>): AsyncIterableX<T>;\n static as<T>(source: T): AsyncIterableX<T>;\n /** @nocollapse */\n static as(source: any) {\n /* tslint:disable */\n if (source instanceof AsyncIterableX) {\n return source;\n }\n if (typeof source === 'string') {\n return new OfAsyncIterable([source]);\n }\n if (isIterable(source) || isAsyncIterable(source)) {\n return new FromAsyncIterable(source, identityAsync);\n }\n if (isPromise(source)) {\n return new FromPromiseIterable(source, identityAsync);\n }\n if (isObservable(source)) {\n return new FromObservableAsyncIterable(source, identityAsync);\n }\n if (isArrayLike(source)) {\n return new FromArrayIterable(source, identityAsync);\n }\n return new OfAsyncIterable([source]);\n /* tslint:enable */\n }\n\n /** @nocollapse */\n static from<TSource, TResult = TSource>(\n source: AsyncIterableInput<TSource>,\n selector: (value: TSource, index: number) => TResult | Promise<TResult> = identityAsync,\n thisArg?: any\n ): AsyncIterableX<TResult> {\n const fn = bindCallback(selector, thisArg, 2);\n /* tslint:disable */\n if (isIterable(source) || isAsyncIterable(source)) {\n return new FromAsyncIterable<TSource, TResult>(source, fn);\n }\n if (isPromise(source)) {\n return new FromPromiseIterable<TSource, TResult>(source, fn);\n }\n if (isObservable(source)) {\n return new FromObservableAsyncIterable<TSource, TResult>(source, fn);\n }\n if (isArrayLike(source)) {\n return new FromArrayIterable<TSource, TResult>(source, fn);\n }\n throw new TypeError('Input type not supported');\n /* tslint:enable */\n }\n\n /** @nocollapse */\n static of<TSource>(...args: TSource[]): AsyncIterableX<TSource> {\n //tslint:disable-next-line\n return new OfAsyncIterable<TSource>(args);\n }\n}\n\nclass FromArrayIterable<TSource, TResult = TSource> extends AsyncIterableX<TResult> {\n private _source: ArrayLike<TSource>;\n private _selector: (value: TSource, index: number) => TResult | Promise<TResult>;\n\n constructor(\n source: ArrayLike<TSource>,\n selector: (value: TSource, index: number) => TResult | Promise<TResult>\n ) {\n super();\n this._source = source;\n this._selector = selector;\n }\n\n async *[Symbol.asyncIterator]() {\n let i = 0;\n const length = toLength((<ArrayLike<TSource>>this._source).length);\n while (i < length) {\n yield await this._selector(this._source[i], i++);\n }\n }\n}\n\nclass FromAsyncIterable<TSource, TResult = TSource> extends AsyncIterableX<TResult> {\n private _source: Iterable<TSource | PromiseLike<TSource>> | AsyncIterable<TSource>;\n private _selector: (value: TSource, index: number) => TResult | Promise<TResult>;\n\n constructor(\n source: Iterable<TSource | PromiseLike<TSource>> | AsyncIterable<TSource>,\n selector: (value: TSource, index: number) => TResult | Promise<TResult>\n ) {\n super();\n this._source = source;\n this._selector = selector;\n }\n\n async *[Symbol.asyncIterator]() {\n let i = 0;\n for await (let item of <AsyncIterable<TSource>>this._source) {\n yield await this._selector(item, i++);\n }\n }\n}\n\nclass FromPromiseIterable<TSource, TResult = TSource> extends AsyncIterableX<TResult> {\n private _source: PromiseLike<TSource>;\n private _selector: (value: TSource, index: number) => TResult | Promise<TResult>;\n\n constructor(\n source: PromiseLike<TSource>,\n selector: (value: TSource, index: number) => TResult | Promise<TResult>\n ) {\n super();\n this._source = source;\n this._selector = selector;\n }\n\n async *[Symbol.asyncIterator]() {\n const item = await this._source;\n yield await this._selector(item, 0);\n }\n}\n\nclass FromObservableAsyncIterable<TSource, TResult = TSource> extends AsyncIterableX<TResult> {\n private _observable: Observable<TSource>;\n private _selector: (value: TSource, index: number) => TResult | Promise<TResult>;\n\n constructor(\n observable: Observable<TSource>,\n selector: (value: TSource, index: number) => TResult | Promise<TResult>\n ) {\n super();\n this._observable = observable;\n this._selector = selector;\n }\n\n async *[Symbol.asyncIterator]() {\n const sink: AsyncSink<TSource> = new AsyncSink<TSource>();\n const subscription = this._observable.subscribe({\n next(value: TSource) {\n sink.write(value);\n },\n error(err: any) {\n sink.error(err);\n },\n complete() {\n sink.end();\n }\n });\n\n let i = 0;\n try {\n for (let next; !(next = await sink.next()).done; ) {\n yield await this._selector(next.value!, i++);\n }\n } finally {\n subscription.unsubscribe();\n }\n }\n}\n\nexport type AsyncIterableInput<TSource> =\n | AsyncIterable<TSource>\n | Iterable<TSource | PromiseLike<TSource>>\n | ArrayLike<TSource>\n | PromiseLike<TSource>\n | Observable<TSource>;\n\nfunction isPromise(x: any): x is PromiseLike<any> {\n return x != null && Object(x) === x && typeof x['then'] === 'function';\n}\n\nfunction isObservable(x: any): x is Observable<any> {\n return x != null && Object(x) === x && typeof x['subscribe'] === 'function';\n}\n\nclass OfAsyncIterable<TSource> extends AsyncIterableX<TSource> {\n private _args: TSource[];\n\n constructor(args: TSource[]) {\n super();\n this._args = args;\n }\n\n async *[Symbol.asyncIterator]() {\n for (let item of this._args) {\n yield item;\n }\n }\n}\n\ntype WritableOrOperatorAsyncFunction<T, R> =\n | NodeJS.WritableStream\n | NodeJS.ReadWriteStream\n | OperatorAsyncFunction<T, R>;\n\ndeclare module '../asynciterable/asynciterablex' {\n interface AsyncIterableX<T> {\n pipe(): AsyncIterableX<T>;\n pipe<A>(op1: OperatorAsyncFunction<T, A>): AsyncIterableX<A>;\n pipe<A extends NodeJS.WritableStream>(op1: A, options?: any /* { end?: boolean; } */): A;\n pipe<A, B>(\n op1: OperatorAsyncFunction<T, A>,\n op2: OperatorAsyncFunction<A, B>\n ): AsyncIterableX<B>;\n pipe<A, B, C>(\n op1: OperatorAsyncFunction<T, A>,\n op2: OperatorAsyncFunction<A, B>,\n op3: OperatorAsyncFunction<B, C>\n ): AsyncIterableX<C>;\n pipe<A, B, C, D>(\n op1: OperatorAsyncFunction<T, A>,\n op2: OperatorAsyncFunction<A, B>,\n op3: OperatorAsyncFunction<B, C>,\n op4: OperatorAsyncFunction<C, D>\n ): AsyncIterableX<D>;\n pipe<A, B, C, D, E>(\n op1: OperatorAsyncFunction<T, A>,\n op2: OperatorAsyncFunction<A, B>,\n op3: OperatorAsyncFunction<B, C>,\n op4: OperatorAsyncFunction<C, D>,\n op5: OperatorAsyncFunction<D, E>\n ): AsyncIterableX<E>;\n pipe<A, B, C, D, E, F>(\n op1: OperatorAsyncFunction<T, A>,\n op2: OperatorAsyncFunction<A, B>,\n op3: OperatorAsyncFunction<B, C>,\n op4: OperatorAsyncFunction<C, D>,\n op5: OperatorAsyncFunction<D, E>,\n op6: OperatorAsyncFunction<E, F>\n ): AsyncIterableX<F>;\n pipe<A, B, C, D, E, F, G>(\n op1: OperatorAsyncFunction<T, A>,\n op2: OperatorAsyncFunction<A, B>,\n op3: OperatorAsyncFunction<B, C>,\n op4: OperatorAsyncFunction<C, D>,\n op5: OperatorAsyncFunction<D, E>,\n op6: OperatorAsyncFunction<E, F>,\n op7: OperatorAsyncFunction<F, G>\n ): AsyncIterableX<G>;\n pipe<A, B, C, D, E, F, G, H>(\n op1: OperatorAsyncFunction<T, A>,\n op2: OperatorAsyncFunction<A, B>,\n op3: OperatorAsyncFunction<B, C>,\n op4: OperatorAsyncFunction<C, D>,\n op5: OperatorAsyncFunction<D, E>,\n op6: OperatorAsyncFunction<E, F>,\n op7: OperatorAsyncFunction<F, G>,\n op8: OperatorAsyncFunction<G, H>\n ): AsyncIterableX<H>;\n pipe<A, B, C, D, E, F, G, H, I>(\n op1: OperatorAsyncFunction<T, A>,\n op2: OperatorAsyncFunction<A, B>,\n op3: OperatorAsyncFunction<B, C>,\n op4: OperatorAsyncFunction<C, D>,\n op5: OperatorAsyncFunction<D, E>,\n op6: OperatorAsyncFunction<E, F>,\n op7: OperatorAsyncFunction<F, G>,\n op8: OperatorAsyncFunction<G, H>,\n op9: OperatorAsyncFunction<H, I>\n ): AsyncIterableX<I>;\n pipe(...operations: OperatorAsyncFunction<any, any>[]): AsyncIterableX<{}>;\n }\n}\n\ntry {\n (isBrowser => {\n if (isBrowser) {\n return;\n }\n\n const as = AsyncIterableX.as;\n AsyncIterableX.prototype.pipe = nodePipe;\n const readableOpts = (x: any, opts = x._writableState || { objectMode: true }) => opts;\n\n function nodePipe<T>(this: AsyncIterableX<T>, ...args: any[]) {\n let i = -1;\n let end: boolean;\n let n = args.length;\n let prev: any = this;\n let next: WritableOrOperatorAsyncFunction<T, any>;\n while (++i < n) {\n next = args[i];\n if (typeof next === 'function') {\n prev = as(next(prev));\n } else if (isWritableNodeStream(next)) {\n ({ end = true } = args[i + 1] || {});\n // prettier-ignore\n return isReadableNodeStream(prev) ? prev.pipe(next, {end}) :\n prev.toNodeStream(readableOpts(next)).pipe(next, {end});\n }\n }\n return prev;\n }\n })(typeof window === 'object' && typeof document === 'object' && document.nodeType === 9);\n} catch (e) {\n /* */\n}\n"]}
\No newline at end of file