UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

34 lines 1.25 kB
"use strict"; /** * @typed/fp/Scheduler is an extension of @most/scheduler with additional * combinators and integration with Env. * @since 0.9.2 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.runStream = exports.getScheduler = exports.delay = void 0; const tslib_1 = require("tslib"); const S = (0, tslib_1.__importStar)(require("@most/scheduler")); const E = (0, tslib_1.__importStar)(require("./Env")); const Env_1 = require("./Env"); const function_1 = require("./function"); const Resume_1 = require("./Resume"); const Stream_1 = require("./Stream"); /** * @since 0.9.2 * @category Constructor */ const delay = (ms) => ({ scheduler }) => (0, Resume_1.async)((resume) => S.delay(ms, (0, Stream_1.createCallbackTask)(() => resume(scheduler.currentTime())), scheduler)); exports.delay = delay; /** * @since 0.9.2 * @category Combinator */ exports.getScheduler = (0, Env_1.asks)((e) => e.scheduler); /** * @since 0.9.2 * @category Combinator */ const runStream = (sink, stream) => (0, function_1.pipe)(exports.getScheduler, E.map((scheduler) => stream.run(sink, scheduler))); exports.runStream = runStream; (0, tslib_1.__exportStar)(require("@most/scheduler"), exports); //# sourceMappingURL=Scheduler.js.map