diff --git a/CHANGELOG.md b/CHANGELOG.md index b2c4c83..43c2ff3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Add `prefix` to `string` module. - Add `suffix` to `string` module. +### Changed + +- Changed overloads of `$mock.union` function. + ### Fixed - Update `yarn.lock` in order to fix "typescript (18.x)" and "jest (18.x)" jobs in CI. diff --git a/src/Mock.test.ts b/src/Mock.test.ts index 1101889..a233a39 100644 --- a/src/Mock.test.ts +++ b/src/Mock.test.ts @@ -345,7 +345,23 @@ describe('Mock', () => { }) describe('union', () => { - const M = union(boolean, number(), string) + const M = union( + boolean, + number(), + string, + boolean, + number(), + string, + boolean, + number(), + string, + boolean, + number(), + string, + boolean, + number(), + string, + ) it('should return a random value of one of the specified types', () => { for (let i = 0; i < 10; i++) { diff --git a/src/Mock.ts b/src/Mock.ts index 73a2865..709be4e 100644 --- a/src/Mock.ts +++ b/src/Mock.ts @@ -1,3 +1,8 @@ +import { PartialDeep } from '.' +import { curry, recurse, run } from './function' +import * as $St from './struct' +import * as $t from './Type' +import * as $Y from './Yield' import * as Appli from 'fp-ts/Applicative' import * as _Apply from 'fp-ts/Apply' import * as C from 'fp-ts/Chain' @@ -24,11 +29,6 @@ import * as RNEA from 'fp-ts/ReadonlyNonEmptyArray' import * as RR from 'fp-ts/ReadonlyRecord' import * as Se from 'fp-ts/Semigroup' import * as t from 'io-ts' -import { PartialDeep } from '.' -import { curry, recurse, run } from './function' -import * as $St from './struct' -import * as $t from './Type' -import * as $Y from './Yield' export const URI = 'Mock' @@ -209,6 +209,86 @@ export const partial = ( struct, ) as any +export function union( + a: Mock, + b: Mock, + c: Mock, + d: Mock, + e: Mock, + f: Mock, + g: Mock, + h: Mock, + i: Mock, + j: Mock, + k: Mock, + l: Mock, + m: Mock, + n: Mock, + o: Mock, +): Mock + +export function union( + a: Mock, + b: Mock, + c: Mock, + d: Mock, + e: Mock, + f: Mock, + g: Mock, + h: Mock, + i: Mock, + j: Mock, + k: Mock, + l: Mock, + m: Mock, + n: Mock, +): Mock + +export function union( + a: Mock, + b: Mock, + c: Mock, + d: Mock, + e: Mock, + f: Mock, + g: Mock, + h: Mock, + i: Mock, + j: Mock, + k: Mock, + l: Mock, + m: Mock, +): Mock + +export function union( + a: Mock, + b: Mock, + c: Mock, + d: Mock, + e: Mock, + f: Mock, + g: Mock, + h: Mock, + i: Mock, + j: Mock, + k: Mock, + l: Mock, +): Mock + +export function union( + a: Mock, + b: Mock, + c: Mock, + d: Mock, + e: Mock, + f: Mock, + g: Mock, + h: Mock, + i: Mock, + j: Mock, + k: Mock, +): Mock + export function union( a: Mock, b: Mock,