|
import { scheduleObservable } from './scheduleObservable'; |
|
import { schedulePromise } from './schedulePromise'; |
|
import { scheduleArray } from './scheduleArray'; |
|
import { scheduleIterable } from './scheduleIterable'; |
|
import { scheduleAsyncIterable } from './scheduleAsyncIterable'; |
|
import { isInteropObservable } from '../util/isInteropObservable'; |
|
import { isPromise } from '../util/isPromise'; |
|
import { isArrayLike } from '../util/isArrayLike'; |
|
import { isIterable } from '../util/isIterable'; |
|
import { isAsyncIterable } from '../util/isAsyncIterable'; |
|
import { createInvalidObservableTypeError } from '../util/throwUnobservableError'; |
|
import { isReadableStreamLike } from '../util/isReadableStreamLike'; |
|
import { scheduleReadableStreamLike } from './scheduleReadableStreamLike'; |
|
export function scheduled(input, scheduler) { |
|
if (input != null) { |
|
if (isInteropObservable(input)) { |
|
return scheduleObservable(input, scheduler); |
|
} |
|
if (isArrayLike(input)) { |
|
return scheduleArray(input, scheduler); |
|
} |
|
if (isPromise(input)) { |
|
return schedulePromise(input, scheduler); |
|
} |
|
if (isAsyncIterable(input)) { |
|
return scheduleAsyncIterable(input, scheduler); |
|
} |
|
if (isIterable(input)) { |
|
return scheduleIterable(input, scheduler); |
|
} |
|
if (isReadableStreamLike(input)) { |
|
return scheduleReadableStreamLike(input, scheduler); |
|
} |
|
} |
|
throw createInvalidObservableTypeError(input); |
|
} |
|
|