UNPKG

timing-provider

Version:

An implementation of the timing provider specification.

14 lines 618 B
import { concatMap, from, scan } from 'rxjs'; export const enforceOrder = (isFirstValue) => (source) => source.pipe(scan(([values, bufferedValues], value) => { if (isFirstValue(value)) { if (bufferedValues === null) { throw new Error('Another value has been identified as the first value already.'); } return [[value, ...bufferedValues], null]; } if (bufferedValues === null) { return [[value], bufferedValues]; } return [values, [...bufferedValues, value]]; }, [[], []]), concatMap(([values]) => from(values))); //# sourceMappingURL=enforce-order.js.map