UNPKG

1.07 kBJavaScriptView Raw
1import { AsyncIterableX } from './asynciterablex';
2import { isIterable, isAsyncIterable, isArrayLike, isObservable, isPromise } from '../util/isiterable';
3import { identityAsync } from '../util/identity';
4import { FromObservableAsyncIterable, FromPromiseIterable, FromAsyncIterable, FromArrayIterable } from './from';
5/** @nocollapse */
6export function as(source) {
7 if (source instanceof AsyncIterableX) {
8 return source;
9 }
10 if (typeof source === 'string') {
11 return new FromArrayIterable([source], identityAsync);
12 }
13 if (isIterable(source) || isAsyncIterable(source)) {
14 return new FromAsyncIterable(source, identityAsync);
15 }
16 if (isPromise(source)) {
17 return new FromPromiseIterable(source, identityAsync);
18 }
19 if (isObservable(source)) {
20 return new FromObservableAsyncIterable(source, identityAsync);
21 }
22 if (isArrayLike(source)) {
23 return new FromArrayIterable(source, identityAsync);
24 }
25 return new FromArrayIterable([source], identityAsync);
26}
27
28//# sourceMappingURL=as.mjs.map