@motorcycle/test
Version:
Testing functions for Motorcycle.ts
31 lines • 1.18 kB
JavaScript
;
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