From 32a2bb24364e9539948f3febeea21482b9292c79 Mon Sep 17 00:00:00 2001 From: Giulio Canti Date: Mon, 1 May 2017 08:54:19 +0200 Subject: [PATCH] deprecate `validation.getApplicativeS` / `validation.getStaticApplicative` (#52) --- CHANGELOG.md | 5 +++++ package.json | 2 +- src/Validation.ts | 17 ++++++++--------- test/Validation.ts | 4 ++-- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73d23f29c..f1b732281 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,11 @@ **Note**: Gaps between patch versions are faulty/broken releases. **Note**: A feature tagged as Experimental is in a high state of flux, you're at risk of it changing without notice. +# 0.2.4 + +- **Polish** + - deprecate `validation.getApplicativeS` / `validation.getStaticApplicative` (@gcanti) + # 0.2.3 - **Bug Fix** diff --git a/package.json b/package.json index a3f34a61c..30ccd7562 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fp-ts", - "version": "0.2.3", + "version": "0.2.4", "description": "Functional programming in TypeScript", "files": [ "lib", diff --git a/src/Validation.ts b/src/Validation.ts index d894dfaf0..7599c09ba 100644 --- a/src/Validation.ts +++ b/src/Validation.ts @@ -185,19 +185,20 @@ export function map(f: (a: A) => B, fa: Validation): Validation(a: A): Success { +export function of(a: A): Validation { return new Success(a) } -export function getStaticApplicative(semigroup: StaticSemigroup): StaticApplicative { - function ap(fab: Validation B>, fa: Validation): Validation { - return fa.ap(fab) - } +export function ap(fab: Validation B>, fa: Validation): Validation { + return fa.ap(fab) +} +/** deprecated */ +export function getStaticApplicative(semigroup: StaticSemigroup): StaticApplicative { return { URI, map, of, ap } } -/** deprecated, use getStaticApplicative instead */ +/** deprecated */ export const getApplicativeS = getStaticApplicative export function bimap(semigroup: StaticSemigroup, f: (l: L) => L2, g: (a: A) => B, fa: Validation): Validation { @@ -230,9 +231,7 @@ export function failure(semigroup: StaticSemigroup, l: L): Validation(semigroup, l) } -export function success(a: A): Validation { - return new Success(a) -} +export const success = of export function fromPredicate(semigroup: StaticSemigroup, predicate: Predicate, l: (a: A) => L): (a: A) => Validation { return a => predicate(a) ? success(a) : failure(semigroup, l(a)) diff --git a/test/Validation.ts b/test/Validation.ts index 705de324f..99a62a4db 100644 --- a/test/Validation.ts +++ b/test/Validation.ts @@ -19,7 +19,7 @@ describe('Validation', () => { validation.failure(monoidString, '[fail 2]') ] - const x = sequence(validation.getApplicativeS(monoidString), array)(success) + const x = sequence(validation, array)(success) if (validation.isSuccess(x)) { assert.deepEqual(x.value, [1, 2, 3]) @@ -27,7 +27,7 @@ describe('Validation', () => { assert.ok(false) } - const y = sequence(validation.getApplicativeS(monoidString), array)(failure) + const y = sequence(validation, array)(failure) if (validation.isFailure(y)) { assert.strictEqual(y.value, '[fail 1][fail 2]')