UNPKG

@motorcycle/test

Version:
21 lines 928 B
import { runEffects, tap } from '@motorcycle/stream'; import { createTestScheduler } from '../createTestScheduler'; import { curry2 } from '@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])) * }) */ export var collectEventsFor = curry2(function collectEventsFor(delay, stream) { var _a = createTestScheduler(), tick = _a.tick, scheduler = _a.scheduler; var eventList = []; runEffects(tap(function (a) { return eventList.push(a); }, stream), scheduler); return tick(delay).then(function () { return eventList.slice(); }); }); //# sourceMappingURL=collectEventsFor.js.map