From 3500e0062b257132c39d87016f8a4ad8341362b2 Mon Sep 17 00:00:00 2001 From: Brendan Ratter Date: Wed, 16 Sep 2020 17:17:24 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#47648=20[sanctuary?= =?UTF-8?q?]=20Added=20fromLeft=20and=20fromRight=20definitions=20for=20Ei?= =?UTF-8?q?ther=20by=20@bratter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [sanctuary] Add fromLeft and fromRight definitions for Either * [sanctuary] Added fromLeft and fromRight tests; refactored type expectations for others * [sanctuary] fixed failing tests --- types/sanctuary/index.d.ts | 2 ++ types/sanctuary/sanctuary-tests.ts | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/types/sanctuary/index.d.ts b/types/sanctuary/index.d.ts index 62e7506c30..6f36893eb5 100644 --- a/types/sanctuary/index.d.ts +++ b/types/sanctuary/index.d.ts @@ -222,6 +222,8 @@ declare namespace Sanctuary { // Either isLeft(p: Either): boolean; isRight(p: Either): boolean; + fromLeft(p: A): (q: Either) => A; + fromRight(p: B): (q: Either) => B; fromEither(p: B): (q: Either) => B; either(p: Fn): (q: Fn) => (r: Either) => C; lefts(p: ReadonlyArray>): A[]; diff --git a/types/sanctuary/sanctuary-tests.ts b/types/sanctuary/sanctuary-tests.ts index 4765d8fe3c..0106df1c1c 100644 --- a/types/sanctuary/sanctuary-tests.ts +++ b/types/sanctuary/sanctuary-tests.ts @@ -62,3 +62,9 @@ S.intercalate(', ')([]); // $ExpectType number[] S.intercalate([0, 0, 0])([[1], [2, 3], [4, 5, 6], [7, 8], [9]]); + +// $ExpectType number +S.fromLeft(1)(S.Right('a')); + +// $ExpectType number +S.fromRight(1)(S.Left('a'));