UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

35 lines (31 loc) 925 B
import { flatMap } from './flatMap'; import { pipe } from './pipe'; import { find } from './find'; import { createCounter } from './_counter'; describe('data_first', () => { it('flatMap', () => { const result = flatMap([1, 2] as const, x => [x * 2, x * 3]); expect(result).toEqual([2, 3, 4, 6]); }); }); describe('data_last', () => { it('flatMap', () => { const result = flatMap((x: number) => [x * 2, x * 3])([1, 2]); expect(result).toEqual([2, 3, 4, 6]); }); describe('pipe', () => { test('with find', () => { const counter1 = createCounter(); const counter2 = createCounter(); const result = pipe( [10, 20, 30, 40] as const, counter1.fn(), flatMap(x => [x, x + 1, x + 2, x + 3]), counter2.fn(), find(x => x === 22) ); expect(counter2.count).toHaveBeenCalledTimes(7); expect(result).toEqual(22); }); }); });