UNPKG

@motorcycle/test

Version:
23 lines 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var stream_1 = require("@motorcycle/stream"); var createTestScheduler_1 = require("../createTestScheduler"); var prelude_1 = require("@most/prelude"); /** * Collects events for a given amount of time. * @name collectEventsFor<A>(delay: Delay, stream: Stream<A>): Promise<ReadonlyArray<A>> * @example * // Mocha style tests * it('increasing value by one', () => { * const stream = scan(x => x + 1, skip(1, periodic(10))) * * return collectEventsFor(30, stream).then(events => assert.deepEqual(events, [0, 1, 2, 3])) * }) */ exports.collectEventsFor = prelude_1.curry2(function collectEventsFor(delay, stream) { var _a = createTestScheduler_1.createTestScheduler(), tick = _a.tick, scheduler = _a.scheduler; var eventList = []; stream_1.runEffects(stream_1.tap(function (a) { return eventList.push(a); }, stream), scheduler); return tick(delay).then(function () { return eventList.slice(); }); }); //# sourceMappingURL=collectEventsFor.js.map