UNPKG

@motorcycle/test

Version:
28 lines 1.03 kB
import { newScheduler, newTimeline } from '@most/scheduler'; import { VirtualTimer } from './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) */ export function createTestScheduler(timeline) { if (timeline === void 0) { timeline = newTimeline(); } var timer = new VirtualTimer(); var tick = function (delay) { return timer.tick(delay); }; var scheduler = newScheduler(timer, timeline); return { tick: tick, scheduler: scheduler }; } //# sourceMappingURL=createTestScheduler.js.map