@typed/fp
Version:
Data Structures and Resources for fp-ts
28 lines • 884 B
JavaScript
/**
* @typed/fp/Scheduler is an extension of @most/scheduler with additional
* combinators and integration with Env.
* @since 0.9.2
*/
import * as S from '@most/scheduler';
import * as E from './Env';
import { asks } from './Env';
import { pipe } from './function';
import { async } from './Resume';
import { createCallbackTask } from './Stream';
/**
* @since 0.9.2
* @category Constructor
*/
export const delay = (ms) => ({ scheduler }) => async((resume) => S.delay(ms, createCallbackTask(() => resume(scheduler.currentTime())), scheduler));
/**
* @since 0.9.2
* @category Combinator
*/
export const getScheduler = asks((e) => e.scheduler);
/**
* @since 0.9.2
* @category Combinator
*/
export const runStream = (sink, stream) => pipe(getScheduler, E.map((scheduler) => stream.run(sink, scheduler)));
export * from '@most/scheduler';
//# sourceMappingURL=Scheduler.js.map