import { Observable } from '../core/Observable' import { Subscribable } from '../core/types.h' import { map } from '../observable/map' import { switchAll } from '../observable/switchAll' export const switchMap = (fn: (value: T, index: number) => Observable | Iterable) => ( stream: Subscribable ): Observable => { return switchAll(map(fn, stream)) }