UNPKG

@motorcycle/test

Version:
31 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var scheduler_1 = require("@most/scheduler"); var VirtualTimer_1 = require("./VirtualTimer"); /** * Creates a test scheduler. Using the test scheduler you are the master of time. * * @name createTestScheduler(timeline?: Timeline): TestScheduler * @example * import { createTestScheduler } from '@motorcycle/test' * import { now, runEffects } from '@motorcycle/stream' * * const { tick, scheduler } createTestScheduler() * * const stream = now(100) * * runEffects(stream, scheduler).then(() => console.log('done!')) * * // manually tick forward in time * // tick returns a Promise that resolves when all scheduled tasks have been run. * tick(100) */ function createTestScheduler(timeline) { if (timeline === void 0) { timeline = scheduler_1.newTimeline(); } var timer = new VirtualTimer_1.VirtualTimer(); var tick = function (delay) { return timer.tick(delay); }; var scheduler = scheduler_1.newScheduler(timer, timeline); return { tick: tick, scheduler: scheduler }; } exports.createTestScheduler = createTestScheduler; //# sourceMappingURL=createTestScheduler.js.map