Socket
Socket
Sign inDemoInstall

fp-ts

Package Overview
Dependencies
Maintainers
1
Versions
231
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fp-ts - npm Package Compare versions

Comparing version 3.0.0-alpha.13 to 3.0.0-alpha.14

12

boolean/boolean.d.ts

@@ -12,3 +12,3 @@ /**

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -18,5 +18,5 @@ * @category destructors

*/
export declare const foldW: <A, B>(onFalse: Lazy<A>, onTrue: Lazy<B>) => (value: boolean) => A | B
export declare const matchW: <A, B>(onFalse: Lazy<A>, onTrue: Lazy<B>) => (value: boolean) => A | B
/**
* Defines the fold over a boolean value.
* Defines the match over a boolean value.
* Takes two thunks `onTrue`, `onFalse` and a `boolean` value.

@@ -28,3 +28,3 @@ * If `value` is `false`, `onFalse()` is returned, otherwise `onTrue()`.

* import { pipe } from 'fp-ts/function'
* import { fold } from 'fp-ts/boolean'
* import { match } from 'fp-ts/boolean'
*

@@ -34,3 +34,3 @@ * assert.deepStrictEqual(

* some(true),
* map(fold(() => 'false', () => 'true'))
* map(match(() => 'false', () => 'true'))
* ),

@@ -43,3 +43,3 @@ * some('true')

*/
export declare const fold: <A>(onFalse: Lazy<A>, onTrue: Lazy<A>) => (value: boolean) => A
export declare const match: <A>(onFalse: Lazy<A>, onTrue: Lazy<A>) => (value: boolean) => A
/**

@@ -46,0 +46,0 @@ * @category instances

@@ -6,3 +6,3 @@ import * as E from '../Eq';

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -12,5 +12,5 @@ * @category destructors

*/
export const foldW = (onFalse, onTrue) => (value) => value ? onTrue() : onFalse();
export const matchW = (onFalse, onTrue) => (value) => value ? onTrue() : onFalse();
/**
* Defines the fold over a boolean value.
* Defines the match over a boolean value.
* Takes two thunks `onTrue`, `onFalse` and a `boolean` value.

@@ -22,3 +22,3 @@ * If `value` is `false`, `onFalse()` is returned, otherwise `onTrue()`.

* import { pipe } from 'fp-ts/function'
* import { fold } from 'fp-ts/boolean'
* import { match } from 'fp-ts/boolean'
*

@@ -28,3 +28,3 @@ * assert.deepStrictEqual(

* some(true),
* map(fold(() => 'false', () => 'true'))
* map(match(() => 'false', () => 'true'))
* ),

@@ -37,3 +37,3 @@ * some('true')

*/
export const fold = foldW;
export const match = matchW;
// -------------------------------------------------------------------------------------

@@ -40,0 +40,0 @@ // instances

@@ -22,3 +22,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.Show = exports.Ord = exports.MonoidAny = exports.MonoidAll = exports.SemigroupAny = exports.SemigroupAll = exports.BooleanAlgebra = exports.Eq = exports.fold = exports.foldW = void 0;
exports.Show = exports.Ord = exports.MonoidAny = exports.MonoidAll = exports.SemigroupAny = exports.SemigroupAll = exports.BooleanAlgebra = exports.Eq = exports.match = exports.matchW = void 0;
var E = __importStar(require("../Eq"));

@@ -29,3 +29,3 @@ // -------------------------------------------------------------------------------------

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -35,8 +35,8 @@ * @category destructors

*/
var foldW = function (onFalse, onTrue) { return function (value) {
var matchW = function (onFalse, onTrue) { return function (value) {
return value ? onTrue() : onFalse();
}; };
exports.foldW = foldW;
exports.matchW = matchW;
/**
* Defines the fold over a boolean value.
* Defines the match over a boolean value.
* Takes two thunks `onTrue`, `onFalse` and a `boolean` value.

@@ -48,3 +48,3 @@ * If `value` is `false`, `onFalse()` is returned, otherwise `onTrue()`.

* import { pipe } from 'fp-ts/function'
* import { fold } from 'fp-ts/boolean'
* import { match } from 'fp-ts/boolean'
*

@@ -54,3 +54,3 @@ * assert.deepStrictEqual(

* some(true),
* map(fold(() => 'false', () => 'true'))
* map(match(() => 'false', () => 'true'))
* ),

@@ -63,3 +63,3 @@ * some('true')

*/
exports.fold = exports.foldW;
exports.match = exports.matchW;
// -------------------------------------------------------------------------------------

@@ -66,0 +66,0 @@ // instances

@@ -18,3 +18,3 @@ # Changelog

# 3.0.0-alpha.13
# 3.0.0-alpha.14

@@ -21,0 +21,0 @@ - **Breaking Change**

@@ -233,3 +233,3 @@ /**

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -239,3 +239,3 @@ * @category destructors

*/
export declare const foldW: <E, B, A, C>(onLeft: (e: E) => B, onRight: (a: A) => C) => (ma: Either<E, A>) => B | C
export declare const matchW: <E, B, A, C>(onLeft: (e: E) => B, onRight: (a: A) => C) => (ma: Either<E, A>) => B | C
/**

@@ -256,3 +256,3 @@ * Takes two functions and an `Either` value, if the value is a `Left` the inner value is applied to the first function,

* E.right(1),
* E.fold(onLeft, onRight)
* E.match(onLeft, onRight)
* ),

@@ -264,3 +264,3 @@ * 'Ok: 1'

* E.left(['error 1', 'error 2']),
* E.fold(onLeft, onRight)
* E.match(onLeft, onRight)
* ),

@@ -273,3 +273,3 @@ * 'Errors: error 1, error 2'

*/
export declare const fold: <E, B, A>(onLeft: (e: E) => B, onRight: (a: A) => B) => (ma: Either<E, A>) => B
export declare const match: <E, B, A>(onLeft: (e: E) => B, onRight: (a: A) => B) => (ma: Either<E, A>) => B
/**

@@ -276,0 +276,0 @@ * Less strict version of [`getOrElse`](#getOrElse).

@@ -183,3 +183,3 @@ import { apFirst as apFirst_, apSecond as apSecond_, apS as apS_, apT as apT_ } from '../Apply';

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -189,3 +189,3 @@ * @category destructors

*/
export const foldW = (onLeft, onRight) => (ma) => isLeft(ma) ? onLeft(ma.left) : onRight(ma.right);
export const matchW = (onLeft, onRight) => (ma) => isLeft(ma) ? onLeft(ma.left) : onRight(ma.right);
/**

@@ -206,3 +206,3 @@ * Takes two functions and an `Either` value, if the value is a `Left` the inner value is applied to the first function,

* E.right(1),
* E.fold(onLeft, onRight)
* E.match(onLeft, onRight)
* ),

@@ -214,3 +214,3 @@ * 'Ok: 1'

* E.left(['error 1', 'error 2']),
* E.fold(onLeft, onRight)
* E.match(onLeft, onRight)
* ),

@@ -223,3 +223,3 @@ * 'Errors: error 1, error 2'

*/
export const fold = foldW;
export const match = matchW;
/**

@@ -264,3 +264,3 @@ * Less strict version of [`getOrElse`](#getOrElse).

/*#__PURE__*/
foldW(identity, identity);
matchW(identity, identity);
// -------------------------------------------------------------------------------------

@@ -267,0 +267,0 @@ // combinators

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getApplicativeValidation = exports.getWitherable = exports.getFilterable = exports.getCompactable = exports.getSemigroup = exports.getEq = exports.getShow = exports.sequence = exports.traverse = exports.reduceRight = exports.foldMap = exports.reduce = exports.duplicate = exports.extend = exports.alt = exports.altW = exports.flatten = exports.chain = exports.chainW = exports.of = exports.ap = exports.apW = exports.mapLeft = exports.bimap = exports.map = exports.filterOrElse = exports.filterOrElseW = exports.orElse = exports.orElseW = exports.tryCatchK = exports.swap = exports.chainOptionK = exports.fromOptionK = exports.chainNullableK = exports.fromNullableK = exports.toUnion = exports.getOrElse = exports.getOrElseW = exports.fold = exports.foldW = exports.fromPredicate = exports.fromOption = exports.stringifyJSON = exports.parseJSON = exports.tryCatch = exports.fromNullable = exports.right = exports.left = exports.isRight = exports.isLeft = void 0;
exports.getApplicativeValidation = exports.getWitherable = exports.getFilterable = exports.getCompactable = exports.getSemigroup = exports.getEq = exports.getShow = exports.sequence = exports.traverse = exports.reduceRight = exports.foldMap = exports.reduce = exports.duplicate = exports.extend = exports.alt = exports.altW = exports.flatten = exports.chain = exports.chainW = exports.of = exports.ap = exports.apW = exports.mapLeft = exports.bimap = exports.map = exports.filterOrElse = exports.filterOrElseW = exports.orElse = exports.orElseW = exports.tryCatchK = exports.swap = exports.chainOptionK = exports.fromOptionK = exports.chainNullableK = exports.fromNullableK = exports.toUnion = exports.getOrElse = exports.getOrElseW = exports.match = exports.matchW = exports.fromPredicate = exports.fromOption = exports.stringifyJSON = exports.parseJSON = exports.tryCatch = exports.fromNullable = exports.right = exports.left = exports.isRight = exports.isLeft = void 0;
exports.sequenceReadonlyArray = exports.traverseReadonlyArray = exports.traverseReadonlyArrayWithIndex = exports.apTW = exports.apT = exports.tupled = exports.ApT = exports.apSW = exports.apS = exports.bindW = exports.bind = exports.bindTo = exports.Do = exports.exists = exports.elem = exports.FromEither = exports.Extend = exports.Alt = exports.Bifunctor = exports.Traversable = exports.Foldable = exports.chainFirstW = exports.chainFirst = exports.Monad = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.Pointed = exports.Functor = exports.getAltValidation = void 0;

@@ -201,3 +201,3 @@ var Apply_1 = require("../Apply");

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -207,6 +207,6 @@ * @category destructors

*/
var foldW = function (onLeft, onRight) { return function (ma) {
var matchW = function (onLeft, onRight) { return function (ma) {
return exports.isLeft(ma) ? onLeft(ma.left) : onRight(ma.right);
}; };
exports.foldW = foldW;
exports.matchW = matchW;
/**

@@ -227,3 +227,3 @@ * Takes two functions and an `Either` value, if the value is a `Left` the inner value is applied to the first function,

* E.right(1),
* E.fold(onLeft, onRight)
* E.match(onLeft, onRight)
* ),

@@ -235,3 +235,3 @@ * 'Ok: 1'

* E.left(['error 1', 'error 2']),
* E.fold(onLeft, onRight)
* E.match(onLeft, onRight)
* ),

@@ -244,3 +244,3 @@ * 'Errors: error 1, error 2'

*/
exports.fold = exports.foldW;
exports.match = exports.matchW;
/**

@@ -288,3 +288,3 @@ * Less strict version of [`getOrElse`](#getOrElse).

/*#__PURE__*/
exports.foldW(function_1.identity, function_1.identity);
exports.matchW(function_1.identity, function_1.identity);
// -------------------------------------------------------------------------------------

@@ -291,0 +291,0 @@ // combinators

@@ -122,3 +122,3 @@ /**

*/
export declare function fold<M extends URIS2>(
export declare function match<M extends URIS2>(
M: Monad2<M>

@@ -129,6 +129,6 @@ ): <E, R, B, A>(

) => (ma: Kind2<M, R, Either<E, A>>) => Kind2<M, R, B>
export declare function fold<M extends URIS>(
export declare function match<M extends URIS>(
M: Monad1<M>
): <E, B, A>(onLeft: (e: E) => Kind<M, B>, onRight: (a: A) => Kind<M, B>) => (ma: Kind<M, Either<E, A>>) => Kind<M, B>
export declare function fold<M>(
export declare function match<M>(
M: Monad<M>

@@ -135,0 +135,0 @@ ): <E, B, A>(onLeft: (e: E) => HKT<M, B>, onRight: (a: A) => HKT<M, B>) => (ma: HKT<M, Either<E, A>>) => HKT<M, B>

@@ -38,7 +38,7 @@ /**

}
export function fold(M) {
return (onLeft, onRight) => M.chain(E.fold(onLeft, onRight));
export function match(M) {
return (onLeft, onRight) => M.chain(E.match(onLeft, onRight));
}
export function getOrElse(M) {
return (onLeft) => M.chain(E.fold(onLeft, M.of));
return (onLeft) => M.chain(E.match(onLeft, M.of));
}

@@ -52,3 +52,3 @@ export function orElse(M) {

export function altValidation(M, S) {
return (second) => (first) => pipe(first, M.chain(E.fold((e1) => pipe(second(), M.map(E.mapLeft((e2) => S.concat(e2)(e1)))), right(M))));
return (second) => (first) => pipe(first, M.chain(E.match((e1) => pipe(second(), M.map(E.mapLeft((e2) => S.concat(e2)(e1)))), right(M))));
}

@@ -55,0 +55,0 @@ export function toUnion(F) {

@@ -22,3 +22,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.toUnion = exports.altValidation = exports.swap = exports.orElse = exports.getOrElse = exports.fold = exports.mapLeft = exports.bimap = exports.alt = exports.chain = exports.ap = exports.map = exports.leftF = exports.rightF = exports.left = exports.right = void 0;
exports.toUnion = exports.altValidation = exports.swap = exports.orElse = exports.getOrElse = exports.match = exports.mapLeft = exports.bimap = exports.alt = exports.chain = exports.ap = exports.map = exports.leftF = exports.rightF = exports.left = exports.right = void 0;
/**

@@ -71,8 +71,8 @@ * @since 3.0.0

exports.mapLeft = mapLeft;
function fold(M) {
return function (onLeft, onRight) { return M.chain(E.fold(onLeft, onRight)); };
function match(M) {
return function (onLeft, onRight) { return M.chain(E.match(onLeft, onRight)); };
}
exports.fold = fold;
exports.match = match;
function getOrElse(M) {
return function (onLeft) { return M.chain(E.fold(onLeft, M.of)); };
return function (onLeft) { return M.chain(E.match(onLeft, M.of)); };
}

@@ -90,3 +90,3 @@ exports.getOrElse = getOrElse;

return function (second) { return function (first) {
return function_1.pipe(first, M.chain(E.fold(function (e1) { return function_1.pipe(second(), M.map(E.mapLeft(function (e2) { return S.concat(e2)(e1); }))); }, right(M))));
return function_1.pipe(first, M.chain(E.match(function (e1) { return function_1.pipe(second(), M.map(E.mapLeft(function (e2) { return S.concat(e2)(e1); }))); }, right(M))));
}; };

@@ -93,0 +93,0 @@ }

@@ -14,2 +14,3 @@ /**

import { Monoid } from '../Monoid'
import { Semigroup } from '../Semigroup'
/**

@@ -75,2 +76,7 @@ * @category type classes

*/
export declare const getSemigroup: <A>() => Semigroup<Eq<A>>
/**
* @category instances
* @since 3.0.0
*/
export declare const getMonoid: <A>() => Monoid<Eq<A>>

@@ -77,0 +83,0 @@ /**

@@ -68,4 +68,11 @@ import { flow } from '../function';

*/
export const getSemigroup = () => ({
concat: (second) => (first) => fromEquals((b) => (a) => first.equals(b)(a) && second.equals(b)(a))
});
/**
* @category instances
* @since 3.0.0
*/
export const getMonoid = () => ({
concat: (second) => (first) => fromEquals((b) => (a) => first.equals(b)(a) && second.equals(b)(a)),
concat: getSemigroup().concat,
empty: {

@@ -72,0 +79,0 @@ equals: () => () => true

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Contravariant = exports.getMonoid = exports.EqStrict = exports.contramap = exports.tuple = exports.struct = exports.fromEquals = void 0;
exports.Contravariant = exports.getMonoid = exports.getSemigroup = exports.EqStrict = exports.contramap = exports.tuple = exports.struct = exports.fromEquals = void 0;
var function_1 = require("../function");

@@ -85,4 +85,12 @@ // -------------------------------------------------------------------------------------

*/
var getSemigroup = function () { return ({
concat: function (second) { return function (first) { return exports.fromEquals(function (b) { return function (a) { return first.equals(b)(a) && second.equals(b)(a); }; }); }; }
}); };
exports.getSemigroup = getSemigroup;
/**
* @category instances
* @since 3.0.0
*/
var getMonoid = function () { return ({
concat: function (second) { return function (first) { return exports.fromEquals(function (b) { return function (a) { return first.equals(b)(a) && second.equals(b)(a); }; }); }; },
concat: exports.getSemigroup().concat,
empty: {

@@ -89,0 +97,0 @@ equals: function () { return function () { return true; }; }

@@ -73,3 +73,3 @@ /**

*/
export declare const fold: <E, B, A>(
export declare const match: <E, B, A>(
onLeft: (e: E) => I.IO<B>,

@@ -79,3 +79,3 @@ onRight: (a: A) => I.IO<B>

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -85,3 +85,3 @@ * @category destructors

*/
export declare const foldW: <E, B, A, C>(
export declare const matchW: <E, B, A, C>(
onLeft: (e: E) => IO<B>,

@@ -88,0 +88,0 @@ onRight: (a: A) => IO<C>

@@ -68,7 +68,7 @@ import { apFirst as apFirst_, apSecond as apSecond_, apS as apS_, apT as apT_, ap as ap_ } from '../Apply';

*/
export const fold =
export const match =
/*#__PURE__*/
ET.fold(I.Monad);
ET.match(I.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -78,3 +78,3 @@ * @category destructors

*/
export const foldW = fold;
export const matchW = match;
/**

@@ -81,0 +81,0 @@ * @category destructors

@@ -33,3 +33,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.chainEitherK = exports.chainOptionK = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.FromIO = exports.Alt = exports.chainFirstW = exports.chainFirst = exports.ApplicativeSeq = exports.ApplySeq = exports.Monad = exports.ApplicativePar = exports.apSecond = exports.apFirst = exports.ApplyPar = exports.Bifunctor = exports.Pointed = exports.Functor = exports.getFilterable = exports.getCompactable = exports.getAltIOValidation = exports.getApplicativeIOValidation = exports.altW = exports.alt = exports.flatten = exports.chainW = exports.chain = exports.of = exports.apW = exports.ap = exports.mapLeft = exports.bimap = exports.map = exports.tryCatchK = exports.swap = exports.orElseW = exports.orElse = exports.toUnion = exports.getOrElseW = exports.getOrElse = exports.foldW = exports.fold = exports.fromIO = exports.tryCatch = exports.fromEither = exports.leftIO = exports.rightIO = exports.right = exports.left = void 0;
exports.chainEitherK = exports.chainOptionK = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.FromIO = exports.Alt = exports.chainFirstW = exports.chainFirst = exports.ApplicativeSeq = exports.ApplySeq = exports.Monad = exports.ApplicativePar = exports.apSecond = exports.apFirst = exports.ApplyPar = exports.Bifunctor = exports.Pointed = exports.Functor = exports.getFilterable = exports.getCompactable = exports.getAltIOValidation = exports.getApplicativeIOValidation = exports.altW = exports.alt = exports.flatten = exports.chainW = exports.chain = exports.of = exports.apW = exports.ap = exports.mapLeft = exports.bimap = exports.map = exports.tryCatchK = exports.swap = exports.orElseW = exports.orElse = exports.toUnion = exports.getOrElseW = exports.getOrElse = exports.matchW = exports.match = exports.fromIO = exports.tryCatch = exports.fromEither = exports.leftIO = exports.rightIO = exports.right = exports.left = void 0;
exports.sequenceReadonlyArraySeq = exports.traverseReadonlyArraySeq = exports.traverseReadonlyArrayWithIndexSeq = exports.sequenceReadonlyArray = exports.traverseReadonlyArray = exports.traverseReadonlyArrayWithIndex = exports.apTW = exports.apT = exports.tupled = exports.ApT = exports.apSW = exports.apS = exports.bindW = exports.bind = exports.bindTo = exports.Do = exports.bracket = exports.fromEitherK = exports.filterOrElseW = exports.filterOrElse = exports.fromPredicate = exports.chainEitherKW = void 0;

@@ -104,7 +104,7 @@ var Apply_1 = require("../Apply");

*/
exports.fold =
exports.match =
/*#__PURE__*/
ET.fold(I.Monad);
ET.match(I.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -114,3 +114,3 @@ * @category destructors

*/
exports.foldW = exports.fold;
exports.matchW = exports.match;
/**

@@ -117,0 +117,0 @@ * @category destructors

@@ -128,10 +128,10 @@ /**

* @example
* import { fold } from 'fp-ts/Monoid'
* import { concatAll } from 'fp-ts/Monoid'
* import * as N from 'fp-ts/number'
*
* assert.deepStrictEqual(fold(N.MonoidSum)([1, 2, 3]), 6)
* assert.deepStrictEqual(fold(N.MonoidSum)([]), 0)
* assert.deepStrictEqual(concatAll(N.MonoidSum)([1, 2, 3]), 6)
* assert.deepStrictEqual(concatAll(N.MonoidSum)([]), 0)
*
* @since 3.0.0
*/
export declare const fold: <A>(M: Monoid<A>) => (as: readonly A[]) => A
export declare const concatAll: <A>(M: Monoid<A>) => (as: readonly A[]) => A

@@ -134,10 +134,10 @@ import * as S from '../Semigroup';

* @example
* import { fold } from 'fp-ts/Monoid'
* import { concatAll } from 'fp-ts/Monoid'
* import * as N from 'fp-ts/number'
*
* assert.deepStrictEqual(fold(N.MonoidSum)([1, 2, 3]), 6)
* assert.deepStrictEqual(fold(N.MonoidSum)([]), 0)
* assert.deepStrictEqual(concatAll(N.MonoidSum)([1, 2, 3]), 6)
* assert.deepStrictEqual(concatAll(N.MonoidSum)([]), 0)
*
* @since 3.0.0
*/
export const fold = (M) => S.fold(M)(M.empty);
export const concatAll = (M) => S.concatAll(M)(M.empty);

@@ -22,3 +22,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.fold = exports.tuple = exports.struct = exports.reverse = exports.max = exports.min = void 0;
exports.concatAll = exports.tuple = exports.struct = exports.reverse = exports.max = exports.min = void 0;
var S = __importStar(require("../Semigroup"));

@@ -168,11 +168,11 @@ // -------------------------------------------------------------------------------------

* @example
* import { fold } from 'fp-ts/Monoid'
* import { concatAll } from 'fp-ts/Monoid'
* import * as N from 'fp-ts/number'
*
* assert.deepStrictEqual(fold(N.MonoidSum)([1, 2, 3]), 6)
* assert.deepStrictEqual(fold(N.MonoidSum)([]), 0)
* assert.deepStrictEqual(concatAll(N.MonoidSum)([1, 2, 3]), 6)
* assert.deepStrictEqual(concatAll(N.MonoidSum)([]), 0)
*
* @since 3.0.0
*/
var fold = function (M) { return S.fold(M)(M.empty); };
exports.fold = fold;
var concatAll = function (M) { return S.concatAll(M)(M.empty); };
exports.concatAll = concatAll;

@@ -185,3 +185,3 @@ /**

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -191,3 +191,3 @@ * @category destructors

*/
export declare const foldW: <B, A, C>(onNone: Lazy<B>, onSome: (a: A) => C) => (ma: Option<A>) => B | C
export declare const matchW: <B, A, C>(onNone: Lazy<B>, onSome: (a: A) => C) => (ma: Option<A>) => B | C
/**

@@ -198,3 +198,3 @@ * Takes a (lazy) default value, a function, and an `Option` value, if the `Option` value is `None` the default value is

* @example
* import { some, none, fold } from 'fp-ts/Option'
* import { some, none, match } from 'fp-ts/Option'
* import { pipe } from 'fp-ts/function'

@@ -205,3 +205,3 @@ *

* some(1),
* fold(() => 'a none', a => `a some containing ${a}`)
* match(() => 'a none', a => `a some containing ${a}`)
* ),

@@ -214,3 +214,3 @@ * 'a some containing 1'

* none,
* fold(() => 'a none', a => `a some containing ${a}`)
* match(() => 'a none', a => `a some containing ${a}`)
* ),

@@ -223,3 +223,3 @@ * 'a none'

*/
export declare const fold: <B, A>(onNone: Lazy<B>, onSome: (a: A) => B) => (ma: Option<A>) => B
export declare const match: <B, A>(onNone: Lazy<B>, onSome: (a: A) => B) => (ma: Option<A>) => B
/**

@@ -226,0 +226,0 @@ * Extracts the value out of the structure, if it exists. Otherwise returns `null`.

@@ -141,3 +141,3 @@ import { apFirst as apFirst_, apSecond as apSecond_, apS as apS_, apT as apT_ } from '../Apply';

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -147,3 +147,3 @@ * @category destructors

*/
export const foldW = (onNone, onSome) => (ma) => isNone(ma) ? onNone() : onSome(ma.value);
export const matchW = (onNone, onSome) => (ma) => isNone(ma) ? onNone() : onSome(ma.value);
/**

@@ -154,3 +154,3 @@ * Takes a (lazy) default value, a function, and an `Option` value, if the `Option` value is `None` the default value is

* @example
* import { some, none, fold } from 'fp-ts/Option'
* import { some, none, match } from 'fp-ts/Option'
* import { pipe } from 'fp-ts/function'

@@ -161,3 +161,3 @@ *

* some(1),
* fold(() => 'a none', a => `a some containing ${a}`)
* match(() => 'a none', a => `a some containing ${a}`)
* ),

@@ -170,3 +170,3 @@ * 'a some containing 1'

* none,
* fold(() => 'a none', a => `a some containing ${a}`)
* match(() => 'a none', a => `a some containing ${a}`)
* ),

@@ -179,3 +179,3 @@ * 'a none'

*/
export const fold = foldW;
export const match = matchW;
/**

@@ -208,3 +208,3 @@ * Extracts the value out of the structure, if it exists. Otherwise returns `null`.

/*#__PURE__*/
fold(constNull, identity);
match(constNull, identity);
/**

@@ -237,3 +237,3 @@ * Extracts the value out of the structure, if it exists. Otherwise returns `undefined`.

/*#__PURE__*/
fold(constUndefined, identity);
match(constUndefined, identity);
/**

@@ -240,0 +240,0 @@ * Less strict version of [`getOrElse`](#getOrElse).

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Pointed = exports.Functor = exports.getMonoid = exports.getLastMonoid = exports.getFirstMonoid = exports.getOrd = exports.getEq = exports.getShow = exports.wilt = exports.wither = exports.sequence = exports.traverse = exports.partitionMap = exports.partition = exports.filterMap = exports.filter = exports.separate = exports.compact = exports.reduceRight = exports.foldMap = exports.reduce = exports.duplicate = exports.extend = exports.zero = exports.alt = exports.altW = exports.flatten = exports.chain = exports.of = exports.ap = exports.map = exports.chainNullableK = exports.fromNullableK = exports.tryCatchK = exports.getOrElse = exports.getOrElseW = exports.toUndefined = exports.toNullable = exports.fold = exports.foldW = exports.fromEither = exports.getRight = exports.getLeft = exports.tryCatch = exports.fromPredicate = exports.fromNullable = exports.some = exports.none = exports.isNone = exports.isSome = void 0;
exports.Pointed = exports.Functor = exports.getMonoid = exports.getLastMonoid = exports.getFirstMonoid = exports.getOrd = exports.getEq = exports.getShow = exports.wilt = exports.wither = exports.sequence = exports.traverse = exports.partitionMap = exports.partition = exports.filterMap = exports.filter = exports.separate = exports.compact = exports.reduceRight = exports.foldMap = exports.reduce = exports.duplicate = exports.extend = exports.zero = exports.alt = exports.altW = exports.flatten = exports.chain = exports.of = exports.ap = exports.map = exports.chainNullableK = exports.fromNullableK = exports.tryCatchK = exports.getOrElse = exports.getOrElseW = exports.toUndefined = exports.toNullable = exports.match = exports.matchW = exports.fromEither = exports.getRight = exports.getLeft = exports.tryCatch = exports.fromPredicate = exports.fromNullable = exports.some = exports.none = exports.isNone = exports.isSome = void 0;
exports.sequenceReadonlyArray = exports.traverseReadonlyArray = exports.traverseReadonlyArrayWithIndex = exports.apT = exports.tupled = exports.ApT = exports.apS = exports.bind = exports.bindTo = exports.Do = exports.getRefinement = exports.exists = exports.elem = exports.Witherable = exports.Traversable = exports.Filterable = exports.Compactable = exports.Extend = exports.Alternative = exports.Alt = exports.Foldable = exports.chainFirst = exports.Monad = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = void 0;

@@ -153,3 +153,3 @@ var Apply_1 = require("../Apply");

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -159,6 +159,6 @@ * @category destructors

*/
var foldW = function (onNone, onSome) { return function (ma) {
var matchW = function (onNone, onSome) { return function (ma) {
return exports.isNone(ma) ? onNone() : onSome(ma.value);
}; };
exports.foldW = foldW;
exports.matchW = matchW;
/**

@@ -169,3 +169,3 @@ * Takes a (lazy) default value, a function, and an `Option` value, if the `Option` value is `None` the default value is

* @example
* import { some, none, fold } from 'fp-ts/Option'
* import { some, none, match } from 'fp-ts/Option'
* import { pipe } from 'fp-ts/function'

@@ -176,3 +176,3 @@ *

* some(1),
* fold(() => 'a none', a => `a some containing ${a}`)
* match(() => 'a none', a => `a some containing ${a}`)
* ),

@@ -185,3 +185,3 @@ * 'a some containing 1'

* none,
* fold(() => 'a none', a => `a some containing ${a}`)
* match(() => 'a none', a => `a some containing ${a}`)
* ),

@@ -194,3 +194,3 @@ * 'a none'

*/
exports.fold = exports.foldW;
exports.match = exports.matchW;
/**

@@ -223,3 +223,3 @@ * Extracts the value out of the structure, if it exists. Otherwise returns `null`.

/*#__PURE__*/
exports.fold(function_1.constNull, function_1.identity);
exports.match(function_1.constNull, function_1.identity);
/**

@@ -252,3 +252,3 @@ * Extracts the value out of the structure, if it exists. Otherwise returns `undefined`.

/*#__PURE__*/
exports.fold(function_1.constUndefined, function_1.identity);
exports.match(function_1.constUndefined, function_1.identity);
/**

@@ -255,0 +255,0 @@ * Less strict version of [`getOrElse`](#getOrElse).

@@ -78,6 +78,6 @@ /**

*/
export declare function fold<M extends URIS>(
export declare function match<M extends URIS>(
M: Monad1<M>
): <B, A>(onNone: () => Kind<M, B>, onSome: (a: A) => Kind<M, B>) => (ma: Kind<M, Option<A>>) => Kind<M, B>
export declare function fold<M>(
export declare function match<M>(
M: Monad<M>

@@ -84,0 +84,0 @@ ): <B, A>(onNone: () => HKT<M, B>, onSome: (a: A) => HKT<M, B>) => (ma: HKT<M, Option<A>>) => HKT<M, B>

@@ -33,7 +33,7 @@ /**

}
export function fold(M) {
return (onNone, onSome) => M.chain(O.fold(onNone, onSome));
export function match(M) {
return (onNone, onSome) => M.chain(O.match(onNone, onSome));
}
export function getOrElse(M) {
return (onNone) => M.chain(O.fold(onNone, M.of));
return (onNone) => M.chain(O.match(onNone, M.of));
}

@@ -58,7 +58,7 @@ export function chainNullableK(M) {

const _none = none(M);
return (f) => M.chain(O.fold(() => _none, f));
return (f) => M.chain(O.match(() => _none, f));
}
export function alt(M) {
const _some = some(M);
return (second) => M.chain(O.fold(second, _some));
return (second) => M.chain(O.match(second, _some));
}

@@ -22,3 +22,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.alt = exports.chain = exports.ap = exports.map = exports.chainOptionK = exports.chainNullableK = exports.getOrElse = exports.fold = exports.fromEither = exports.fromPredicate = exports.fromOptionK = exports.fromNullableK = exports.fromNullable = exports.fromF = exports.none = exports.some = void 0;
exports.alt = exports.chain = exports.ap = exports.map = exports.chainOptionK = exports.chainNullableK = exports.getOrElse = exports.match = exports.fromEither = exports.fromPredicate = exports.fromOptionK = exports.fromNullableK = exports.fromNullable = exports.fromF = exports.none = exports.some = void 0;
/**

@@ -64,8 +64,8 @@ * @since 3.0.0

exports.fromEither = fromEither;
function fold(M) {
return function (onNone, onSome) { return M.chain(O.fold(onNone, onSome)); };
function match(M) {
return function (onNone, onSome) { return M.chain(O.match(onNone, onSome)); };
}
exports.fold = fold;
exports.match = match;
function getOrElse(M) {
return function (onNone) { return M.chain(O.fold(onNone, M.of)); };
return function (onNone) { return M.chain(O.match(onNone, M.of)); };
}

@@ -95,3 +95,3 @@ exports.getOrElse = getOrElse;

var _none = none(M);
return function (f) { return M.chain(O.fold(function () { return _none; }, f)); };
return function (f) { return M.chain(O.match(function () { return _none; }, f)); };
}

@@ -101,4 +101,4 @@ exports.chain = chain;

var _some = some(M);
return function (second) { return M.chain(O.fold(second, _some)); };
return function (second) { return M.chain(O.match(second, _some)); };
}
exports.alt = alt;

@@ -126,3 +126,3 @@ /**

* import { pipe } from 'fp-ts/function'
* import { fold } from 'fp-ts/Monoid'
* import { concatAll } from 'fp-ts/Monoid'
* import * as B from 'fp-ts/boolean'

@@ -164,3 +164,3 @@ * import * as N from 'fp-ts/number'

* // sort by name, then by age, then by `rememberMe`
* const O1 = fold(M)([byName, byAge, byRememberMe])
* const O1 = concatAll(M)([byName, byAge, byRememberMe])
* assert.deepStrictEqual(sort(O1)(users), [

@@ -174,3 +174,3 @@ * { id: 3, name: 'Giulio', age: 44, rememberMe: false },

* // now `rememberMe = true` first, then by name, then by age
* const O2 = fold(M)([reverse(byRememberMe), byName, byAge])
* const O2 = concatAll(M)([reverse(byRememberMe), byName, byAge])
* assert.deepStrictEqual(sort(O2)(users), [

@@ -177,0 +177,0 @@ * { id: 4, name: 'Giulio', age: 44, rememberMe: true },

@@ -120,3 +120,3 @@ import { flow } from '../function';

* import { pipe } from 'fp-ts/function'
* import { fold } from 'fp-ts/Monoid'
* import { concatAll } from 'fp-ts/Monoid'
* import * as B from 'fp-ts/boolean'

@@ -158,3 +158,3 @@ * import * as N from 'fp-ts/number'

* // sort by name, then by age, then by `rememberMe`
* const O1 = fold(M)([byName, byAge, byRememberMe])
* const O1 = concatAll(M)([byName, byAge, byRememberMe])
* assert.deepStrictEqual(sort(O1)(users), [

@@ -168,3 +168,3 @@ * { id: 3, name: 'Giulio', age: 44, rememberMe: false },

* // now `rememberMe = true` first, then by name, then by age
* const O2 = fold(M)([reverse(byRememberMe), byName, byAge])
* const O2 = concatAll(M)([reverse(byRememberMe), byName, byAge])
* assert.deepStrictEqual(sort(O2)(users), [

@@ -171,0 +171,0 @@ * { id: 4, name: 'Giulio', age: 44, rememberMe: true },

@@ -141,3 +141,3 @@ "use strict";

* import { pipe } from 'fp-ts/function'
* import { fold } from 'fp-ts/Monoid'
* import { concatAll } from 'fp-ts/Monoid'
* import * as B from 'fp-ts/boolean'

@@ -179,3 +179,3 @@ * import * as N from 'fp-ts/number'

* // sort by name, then by age, then by `rememberMe`
* const O1 = fold(M)([byName, byAge, byRememberMe])
* const O1 = concatAll(M)([byName, byAge, byRememberMe])
* assert.deepStrictEqual(sort(O1)(users), [

@@ -189,3 +189,3 @@ * { id: 3, name: 'Giulio', age: 44, rememberMe: false },

* // now `rememberMe = true` first, then by name, then by age
* const O2 = fold(M)([reverse(byRememberMe), byName, byAge])
* const O2 = concatAll(M)([reverse(byRememberMe), byName, byAge])
* assert.deepStrictEqual(sort(O2)(users), [

@@ -192,0 +192,0 @@ * { id: 4, name: 'Giulio', age: 44, rememberMe: true },

@@ -7,3 +7,3 @@ {

"name": "fp-ts",
"version": "3.0.0-alpha.13",
"version": "3.0.0-alpha.14",
"description": "Functional programming in TypeScript",

@@ -10,0 +10,0 @@ "repository": {

@@ -65,3 +65,3 @@ /**

*/
export declare const fold: <E, R, B, A>(
export declare const match: <E, R, B, A>(
onLeft: (e: E) => R.Reader<R, B>,

@@ -71,3 +71,3 @@ onRight: (a: A) => R.Reader<R, B>

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -77,3 +77,3 @@ * @category destructors

*/
export declare const foldW: <E, R2, B, A, R3, C>(
export declare const matchW: <E, R2, B, A, R3, C>(
onLeft: (e: E) => Reader<R2, B>,

@@ -80,0 +80,0 @@ onRight: (a: A) => Reader<R3, C>

@@ -64,7 +64,7 @@ import { apFirst as apFirst_, apSecond as apSecond_, apS as apS_, apT as apT_, ap as ap_ } from '../Apply';

*/
export const fold =
export const match =
/*#__PURE__*/
ET.fold(R.Monad);
ET.match(R.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -74,3 +74,3 @@ * @category destructors

*/
export const foldW = fold;
export const matchW = match;
/**

@@ -77,0 +77,0 @@ * @category destructors

@@ -33,3 +33,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.filterOrElseW = exports.filterOrElse = exports.fromPredicate = exports.chainEitherKW = exports.chainEitherK = exports.chainOptionK = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.Alt = exports.Bifunctor = exports.chainFirstW = exports.chainFirst = exports.Monad = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.Pointed = exports.Functor = exports.getFilterable = exports.getCompactable = exports.getAltReaderValidation = exports.getApplicativeReaderValidation = exports.altW = exports.alt = exports.flatten = exports.chainW = exports.chain = exports.of = exports.apW = exports.ap = exports.mapLeft = exports.bimap = exports.map = exports.swap = exports.orElseW = exports.orElse = exports.toUnion = exports.getOrElseW = exports.getOrElse = exports.foldW = exports.fold = exports.fromEither = exports.asks = exports.ask = exports.leftReader = exports.rightReader = exports.right = exports.left = void 0;
exports.filterOrElseW = exports.filterOrElse = exports.fromPredicate = exports.chainEitherKW = exports.chainEitherK = exports.chainOptionK = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.Alt = exports.Bifunctor = exports.chainFirstW = exports.chainFirst = exports.Monad = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.Pointed = exports.Functor = exports.getFilterable = exports.getCompactable = exports.getAltReaderValidation = exports.getApplicativeReaderValidation = exports.altW = exports.alt = exports.flatten = exports.chainW = exports.chain = exports.of = exports.apW = exports.ap = exports.mapLeft = exports.bimap = exports.map = exports.swap = exports.orElseW = exports.orElse = exports.toUnion = exports.getOrElseW = exports.getOrElse = exports.matchW = exports.match = exports.fromEither = exports.asks = exports.ask = exports.leftReader = exports.rightReader = exports.right = exports.left = void 0;
exports.sequenceReadonlyArray = exports.traverseReadonlyArray = exports.traverseReadonlyArrayWithIndex = exports.apTW = exports.apT = exports.tupled = exports.ApT = exports.apSW = exports.apS = exports.bindW = exports.bind = exports.bindTo = exports.Do = exports.fromEitherK = void 0;

@@ -101,7 +101,7 @@ var Apply_1 = require("../Apply");

*/
exports.fold =
exports.match =
/*#__PURE__*/
ET.fold(R.Monad);
ET.match(R.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -111,3 +111,3 @@ * @category destructors

*/
exports.foldW = exports.fold;
exports.matchW = exports.match;
/**

@@ -114,0 +114,0 @@ * @category destructors

@@ -133,3 +133,3 @@ /**

*/
export declare const fold: <E, R, B, A>(
export declare const match: <E, R, B, A>(
onLeft: (e: E) => RT.ReaderTask<R, B>,

@@ -139,3 +139,3 @@ onRight: (a: A) => RT.ReaderTask<R, B>

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -145,3 +145,3 @@ * @category destructors

*/
export declare const foldW: <E, R2, B, A, R3, C>(
export declare const matchW: <E, R2, B, A, R3, C>(
onLeft: (e: E) => ReaderTask<R2, B>,

@@ -148,0 +148,0 @@ onRight: (a: A) => ReaderTask<R3, C>

@@ -133,7 +133,7 @@ import { ap as ap_, apFirst as apFirst_, apS as apS_, apSecond as apSecond_, apT as apT_ } from '../Apply';

*/
export const fold =
export const match =
/*#__PURE__*/
ET.fold(RT.Monad);
ET.match(RT.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -143,3 +143,3 @@ * @category destructors

*/
export const foldW = fold;
export const matchW = match;
/**

@@ -146,0 +146,0 @@ * @category destructors

@@ -33,3 +33,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.ApplyPar = exports.Pointed = exports.Functor = exports.getFilterable = exports.getCompactable = exports.getAltReaderTaskValidation = exports.getApplicativeReaderTaskValidation = exports.altW = exports.alt = exports.flatten = exports.chainW = exports.chain = exports.of = exports.apW = exports.ap = exports.mapLeft = exports.bimap = exports.map = exports.chainTaskEitherK = exports.chainTaskEitherKW = exports.fromTaskEitherK = exports.chainIOEitherK = exports.chainIOEitherKW = exports.fromIOEitherK = exports.swap = exports.orElseW = exports.orElse = exports.toUnion = exports.getOrElseW = exports.getOrElse = exports.foldW = exports.fold = exports.fromTask = exports.fromIO = exports.fromEither = exports.asks = exports.ask = exports.leftIO = exports.rightIO = exports.fromReaderEither = exports.fromIOEither = exports.leftReaderTask = exports.rightReaderTask = exports.leftReader = exports.rightReader = exports.leftTask = exports.rightTask = exports.right = exports.left = exports.fromTaskEither = void 0;
exports.ApplyPar = exports.Pointed = exports.Functor = exports.getFilterable = exports.getCompactable = exports.getAltReaderTaskValidation = exports.getApplicativeReaderTaskValidation = exports.altW = exports.alt = exports.flatten = exports.chainW = exports.chain = exports.of = exports.apW = exports.ap = exports.mapLeft = exports.bimap = exports.map = exports.chainTaskEitherK = exports.chainTaskEitherKW = exports.fromTaskEitherK = exports.chainIOEitherK = exports.chainIOEitherKW = exports.fromIOEitherK = exports.swap = exports.orElseW = exports.orElse = exports.toUnion = exports.getOrElseW = exports.getOrElse = exports.matchW = exports.match = exports.fromTask = exports.fromIO = exports.fromEither = exports.asks = exports.ask = exports.leftIO = exports.rightIO = exports.fromReaderEither = exports.fromIOEither = exports.leftReaderTask = exports.rightReaderTask = exports.leftReader = exports.rightReader = exports.leftTask = exports.rightTask = exports.right = exports.left = exports.fromTaskEither = void 0;
exports.sequenceReadonlyArraySeq = exports.traverseReadonlyArraySeq = exports.traverseReadonlyArrayWithIndexSeq = exports.sequenceReadonlyArray = exports.traverseReadonlyArray = exports.traverseReadonlyArrayWithIndex = exports.apTW = exports.apT = exports.tupled = exports.ApT = exports.apSW = exports.apS = exports.bindW = exports.bind = exports.bindTo = exports.Do = exports.bracket = exports.Alt = exports.Bifunctor = exports.fromEitherK = exports.filterOrElseW = exports.filterOrElse = exports.fromPredicate = exports.chainEitherKW = exports.chainEitherK = exports.chainOptionK = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.FromTask = exports.FromIO = exports.chainFirstW = exports.chainFirst = exports.ApplicativeSeq = exports.ApplySeq = exports.Monad = exports.ApplicativePar = exports.apSecond = exports.apFirst = void 0;

@@ -175,7 +175,7 @@ var Apply_1 = require("../Apply");

*/
exports.fold =
exports.match =
/*#__PURE__*/
ET.fold(RT.Monad);
ET.match(RT.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -185,3 +185,3 @@ * @category destructors

*/
exports.foldW = exports.fold;
exports.matchW = exports.match;
/**

@@ -188,0 +188,0 @@ * @category destructors

@@ -72,5 +72,5 @@ /**

* @example
* import { foldLeft } from 'fp-ts/ReadonlyArray'
* import { matchLeft } from 'fp-ts/ReadonlyArray'
*
* const len: <A>(as: ReadonlyArray<A>) => number = foldLeft(() => 0, (_, tail) => 1 + len(tail))
* const len: <A>(as: ReadonlyArray<A>) => number = matchLeft(() => 0, (_, tail) => 1 + len(tail))
* assert.strictEqual(len([1, 2, 3]), 3)

@@ -81,3 +81,3 @@ *

*/
export declare const foldLeft: <B, A>(
export declare const matchLeft: <B, A>(
onEmpty: Lazy<B>,

@@ -92,3 +92,3 @@ onCons: (head: A, tail: readonly A[]) => B

*/
export declare const foldRight: <B, A>(
export declare const matchRight: <B, A>(
onEmpty: Lazy<B>,

@@ -578,5 +578,6 @@ onCons: (init: readonly A[], last: A) => B

* @example
* import { prependToAll } from 'fp-ts/ReadonlyArray'
* import { prependAll } from 'fp-ts/ReadonlyArray'
* import { pipe } from 'fp-ts/function'
*
* assert.deepStrictEqual(prependToAll(9)([1, 2, 3, 4]), [9, 1, 9, 2, 9, 3, 9, 4])
* assert.deepStrictEqual(pipe([1, 2, 3, 4], prependAll(9)), [9, 1, 9, 2, 9, 3, 9, 4])
*

@@ -586,3 +587,3 @@ * @category combinators

*/
export declare const prependToAll: <A>(a: A) => (as: readonly A[]) => readonly A[]
export declare const prependAll: <A>(a: A) => (as: readonly A[]) => readonly A[]
/**

@@ -589,0 +590,0 @@ * Places an element in between members of a `ReadonlyArray`

@@ -64,5 +64,5 @@ import { apFirst as apFirst_, apSecond as apSecond_, apS as apS_, apT as apT_ } from '../Apply';

* @example
* import { foldLeft } from 'fp-ts/ReadonlyArray'
* import { matchLeft } from 'fp-ts/ReadonlyArray'
*
* const len: <A>(as: ReadonlyArray<A>) => number = foldLeft(() => 0, (_, tail) => 1 + len(tail))
* const len: <A>(as: ReadonlyArray<A>) => number = matchLeft(() => 0, (_, tail) => 1 + len(tail))
* assert.strictEqual(len([1, 2, 3]), 3)

@@ -73,3 +73,3 @@ *

*/
export const foldLeft = (onEmpty, onCons) => (as) => (isEmpty(as) ? onEmpty() : onCons(as[0], as.slice(1)));
export const matchLeft = (onEmpty, onCons) => (as) => (isEmpty(as) ? onEmpty() : onCons(as[0], as.slice(1)));
/**

@@ -81,3 +81,3 @@ * Break a `ReadonlyArray` into its initial elements and the last element

*/
export const foldRight = (onEmpty, onCons) => (as) => (isEmpty(as) ? onEmpty() : onCons(as.slice(0, as.length - 1), as[as.length - 1]));
export const matchRight = (onEmpty, onCons) => (as) => (isEmpty(as) ? onEmpty() : onCons(as.slice(0, as.length - 1), as[as.length - 1]));
// -------------------------------------------------------------------------------------

@@ -710,5 +710,6 @@ // combinators

* @example
* import { prependToAll } from 'fp-ts/ReadonlyArray'
* import { prependAll } from 'fp-ts/ReadonlyArray'
* import { pipe } from 'fp-ts/function'
*
* assert.deepStrictEqual(prependToAll(9)([1, 2, 3, 4]), [9, 1, 9, 2, 9, 3, 9, 4])
* assert.deepStrictEqual(pipe([1, 2, 3, 4], prependAll(9)), [9, 1, 9, 2, 9, 3, 9, 4])
*

@@ -718,3 +719,3 @@ * @category combinators

*/
export const prependToAll = (a) => (as) => {
export const prependAll = (a) => (as) => {
// tslint:disable-next-line: readonly-array

@@ -741,3 +742,3 @@ const out = [];

const len = as.length;
return len === 0 ? as : cons(as[0])(prependToAll(a)(as.slice(1, len)));
return len === 0 ? as : cons(as[0])(prependAll(a)(as.slice(1, len)));
};

@@ -744,0 +745,0 @@ /**

@@ -22,3 +22,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.chunksOf = exports.splitAt = exports.chop = exports.sortBy = exports.uniq = exports.elem = exports.rotate = exports.intersperse = exports.prependToAll = exports.unzip = exports.zip = exports.zipWith = exports.sort = exports.lefts = exports.rights = exports.reverse = exports.deleteAt = exports.modifyAt = exports.updateAt = exports.insertAt = exports.findLastIndex = exports.findLastMap = exports.findLast = exports.findFirstMap = exports.findFirst = exports.findIndex = exports.dropLeftWhile = exports.dropRight = exports.dropLeft = exports.spanLeft = exports.takeLeftWhile = exports.takeRight = exports.takeLeft = exports.init = exports.tail = exports.last = exports.head = exports.snoc = exports.cons = exports.lookup = exports.isOutOfBound = exports.isNonEmpty = exports.isEmpty = exports.scanRight = exports.scanLeft = exports.foldRight = exports.foldLeft = exports.replicate = exports.range = exports.makeBy = void 0;
exports.chunksOf = exports.splitAt = exports.chop = exports.sortBy = exports.uniq = exports.elem = exports.rotate = exports.intersperse = exports.prependAll = exports.unzip = exports.zip = exports.zipWith = exports.sort = exports.lefts = exports.rights = exports.reverse = exports.deleteAt = exports.modifyAt = exports.updateAt = exports.insertAt = exports.findLastIndex = exports.findLastMap = exports.findLast = exports.findFirstMap = exports.findFirst = exports.findIndex = exports.dropLeftWhile = exports.dropRight = exports.dropLeft = exports.spanLeft = exports.takeLeftWhile = exports.takeRight = exports.takeLeft = exports.init = exports.tail = exports.last = exports.head = exports.snoc = exports.cons = exports.lookup = exports.isOutOfBound = exports.isNonEmpty = exports.isEmpty = exports.scanRight = exports.scanLeft = exports.matchRight = exports.matchLeft = exports.replicate = exports.range = exports.makeBy = void 0;
exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.FunctorWithIndex = exports.Pointed = exports.Functor = exports.getOrd = exports.getEq = exports.getMonoid = exports.getSemigroup = exports.getShow = exports.unfold = exports.wilt = exports.wither = exports.traverseWithIndex = exports.sequence = exports.traverse = exports.reduceRightWithIndex = exports.reduceRight = exports.reduceWithIndex = exports.foldMap = exports.reduce = exports.foldMapWithIndex = exports.duplicate = exports.extend = exports.filterWithIndex = exports.partitionMapWithIndex = exports.partitionMap = exports.partitionWithIndex = exports.partition = exports.filter = exports.separate = exports.compact = exports.filterMap = exports.filterMapWithIndex = exports.mapWithIndex = exports.map = exports.chainWithIndex = exports.flatten = exports.chain = exports.ap = exports.alt = exports.altW = exports.zero = exports.of = exports.difference = exports.intersection = exports.union = exports.comprehension = void 0;

@@ -92,5 +92,5 @@ exports.apT = exports.tupled = exports.ApT = exports.apS = exports.bind = exports.bindTo = exports.Do = exports.some = exports.every = exports.empty = exports.Witherable = exports.TraversableWithIndex = exports.Traversable = exports.FoldableWithIndex = exports.Foldable = exports.FilterableWithIndex = exports.Filterable = exports.Compactable = exports.Extend = exports.Alternative = exports.Alt = exports.Unfoldable = exports.chainFirst = exports.Monad = void 0;

* @example
* import { foldLeft } from 'fp-ts/ReadonlyArray'
* import { matchLeft } from 'fp-ts/ReadonlyArray'
*
* const len: <A>(as: ReadonlyArray<A>) => number = foldLeft(() => 0, (_, tail) => 1 + len(tail))
* const len: <A>(as: ReadonlyArray<A>) => number = matchLeft(() => 0, (_, tail) => 1 + len(tail))
* assert.strictEqual(len([1, 2, 3]), 3)

@@ -101,4 +101,4 @@ *

*/
var foldLeft = function (onEmpty, onCons) { return function (as) { return (exports.isEmpty(as) ? onEmpty() : onCons(as[0], as.slice(1))); }; };
exports.foldLeft = foldLeft;
var matchLeft = function (onEmpty, onCons) { return function (as) { return (exports.isEmpty(as) ? onEmpty() : onCons(as[0], as.slice(1))); }; };
exports.matchLeft = matchLeft;
/**

@@ -110,4 +110,4 @@ * Break a `ReadonlyArray` into its initial elements and the last element

*/
var foldRight = function (onEmpty, onCons) { return function (as) { return (exports.isEmpty(as) ? onEmpty() : onCons(as.slice(0, as.length - 1), as[as.length - 1])); }; };
exports.foldRight = foldRight;
var matchRight = function (onEmpty, onCons) { return function (as) { return (exports.isEmpty(as) ? onEmpty() : onCons(as.slice(0, as.length - 1), as[as.length - 1])); }; };
exports.matchRight = matchRight;
// -------------------------------------------------------------------------------------

@@ -784,5 +784,6 @@ // combinators

* @example
* import { prependToAll } from 'fp-ts/ReadonlyArray'
* import { prependAll } from 'fp-ts/ReadonlyArray'
* import { pipe } from 'fp-ts/function'
*
* assert.deepStrictEqual(prependToAll(9)([1, 2, 3, 4]), [9, 1, 9, 2, 9, 3, 9, 4])
* assert.deepStrictEqual(pipe([1, 2, 3, 4], prependAll(9)), [9, 1, 9, 2, 9, 3, 9, 4])
*

@@ -792,3 +793,3 @@ * @category combinators

*/
var prependToAll = function (a) { return function (as) {
var prependAll = function (a) { return function (as) {
// tslint:disable-next-line: readonly-array

@@ -802,3 +803,3 @@ var out = [];

}; };
exports.prependToAll = prependToAll;
exports.prependAll = prependAll;
/**

@@ -818,3 +819,3 @@ * Places an element in between members of a `ReadonlyArray`

var len = as.length;
return len === 0 ? as : exports.cons(as[0])(exports.prependToAll(a)(as.slice(1, len)));
return len === 0 ? as : exports.cons(as[0])(exports.prependAll(a)(as.slice(1, len)));
}; };

@@ -821,0 +822,0 @@ exports.intersperse = intersperse;

@@ -249,3 +249,3 @@ /**

*/
export declare const fold: <A>(S: Se.Semigroup<A>) => (fa: ReadonlyNonEmptyArray<A>) => A
export declare const concatAll: <A>(S: Se.Semigroup<A>) => (fa: ReadonlyNonEmptyArray<A>) => A
/**

@@ -276,6 +276,6 @@ * @category combinators

* @example
* import { prependToAll } from 'fp-ts/ReadonlyNonEmptyArray'
* import { prependAll } from 'fp-ts/ReadonlyNonEmptyArray'
* import { pipe } from 'fp-ts/function'
*
* assert.deepStrictEqual(pipe([1, 2, 3, 4], prependToAll(9)), [9, 1, 9, 2, 9, 3, 9, 4])
* assert.deepStrictEqual(pipe([1, 2, 3, 4], prependAll(9)), [9, 1, 9, 2, 9, 3, 9, 4])
*

@@ -285,3 +285,3 @@ * @category combinators

*/
export declare const prependToAll: <A>(a: A) => (as: ReadonlyNonEmptyArray<A>) => ReadonlyNonEmptyArray<A>
export declare const prependAll: <A>(a: A) => (as: ReadonlyNonEmptyArray<A>) => ReadonlyNonEmptyArray<A>
/**

@@ -288,0 +288,0 @@ * Places an element in between members of an array

@@ -222,3 +222,3 @@ import { apS as apS_, apT as apT_ } from '../Apply';

*/
export const fold = (S) => (fa) => fa.reduce((a, acc) => S.concat(acc)(a));
export const concatAll = (S) => (fa) => fa.reduce((a, acc) => S.concat(acc)(a));
/**

@@ -242,6 +242,6 @@ * @category combinators

* @example
* import { prependToAll } from 'fp-ts/ReadonlyNonEmptyArray'
* import { prependAll } from 'fp-ts/ReadonlyNonEmptyArray'
* import { pipe } from 'fp-ts/function'
*
* assert.deepStrictEqual(pipe([1, 2, 3, 4], prependToAll(9)), [9, 1, 9, 2, 9, 3, 9, 4])
* assert.deepStrictEqual(pipe([1, 2, 3, 4], prependAll(9)), [9, 1, 9, 2, 9, 3, 9, 4])
*

@@ -251,3 +251,3 @@ * @category combinators

*/
export const prependToAll = RA.prependToAll;
export const prependAll = RA.prependAll;
/**

@@ -254,0 +254,0 @@ * Places an element in between members of an array

@@ -22,3 +22,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.getSemigroup = exports.getShow = exports.extract = exports.traverseWithIndex = exports.sequence = exports.traverse = exports.reduceRightWithIndex = exports.reduceRight = exports.reduceWithIndex = exports.reduce = exports.mapWithIndex = exports.map = exports.flatten = exports.extend = exports.duplicate = exports.chain = exports.of = exports.ap = exports.alt = exports.altW = exports.foldMap = exports.foldMapWithIndex = exports.intersperse = exports.prependToAll = exports.unzip = exports.zip = exports.zipWith = exports.fold = exports.concat = exports.filterWithIndex = exports.filter = exports.modifyAt = exports.updateAt = exports.insertAt = exports.sort = exports.init = exports.last = exports.groupBy = exports.groupSort = exports.group = exports.reverse = exports.max = exports.min = exports.tail = exports.head = exports.unsnoc = exports.uncons = exports.fromReadonlyArray = exports.snoc = exports.cons = void 0;
exports.getSemigroup = exports.getShow = exports.extract = exports.traverseWithIndex = exports.sequence = exports.traverse = exports.reduceRightWithIndex = exports.reduceRight = exports.reduceWithIndex = exports.reduce = exports.mapWithIndex = exports.map = exports.flatten = exports.extend = exports.duplicate = exports.chain = exports.of = exports.ap = exports.alt = exports.altW = exports.foldMap = exports.foldMapWithIndex = exports.intersperse = exports.prependAll = exports.unzip = exports.zip = exports.zipWith = exports.concatAll = exports.concat = exports.filterWithIndex = exports.filter = exports.modifyAt = exports.updateAt = exports.insertAt = exports.sort = exports.init = exports.last = exports.groupBy = exports.groupSort = exports.group = exports.reverse = exports.max = exports.min = exports.tail = exports.head = exports.unsnoc = exports.uncons = exports.fromReadonlyArray = exports.snoc = exports.cons = void 0;
exports.apT = exports.tupled = exports.ApT = exports.apS = exports.bind = exports.bindTo = exports.Do = exports.Comonad = exports.Alt = exports.TraversableWithIndex = exports.Traversable = exports.FoldableWithIndex = exports.Foldable = exports.chainFirst = exports.Monad = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.FunctorWithIndex = exports.Pointed = exports.Functor = exports.getEq = void 0;

@@ -264,4 +264,6 @@ var Apply_1 = require("../Apply");

*/
var fold = function (S) { return function (fa) { return fa.reduce(function (a, acc) { return S.concat(acc)(a); }); }; };
exports.fold = fold;
var concatAll = function (S) { return function (fa) {
return fa.reduce(function (a, acc) { return S.concat(acc)(a); });
}; };
exports.concatAll = concatAll;
/**

@@ -285,6 +287,6 @@ * @category combinators

* @example
* import { prependToAll } from 'fp-ts/ReadonlyNonEmptyArray'
* import { prependAll } from 'fp-ts/ReadonlyNonEmptyArray'
* import { pipe } from 'fp-ts/function'
*
* assert.deepStrictEqual(pipe([1, 2, 3, 4], prependToAll(9)), [9, 1, 9, 2, 9, 3, 9, 4])
* assert.deepStrictEqual(pipe([1, 2, 3, 4], prependAll(9)), [9, 1, 9, 2, 9, 3, 9, 4])
*

@@ -294,3 +296,3 @@ * @category combinators

*/
exports.prependToAll = RA.prependToAll;
exports.prependAll = RA.prependAll;
/**

@@ -297,0 +299,0 @@ * Places an element in between members of an array

@@ -191,6 +191,6 @@ /**

* @example
* import { fold } from 'fp-ts/Semigroup'
* import { concatAll } from 'fp-ts/Semigroup'
* import * as N from 'fp-ts/number'
*
* const sum = fold(N.SemigroupSum)(0)
* const sum = concatAll(N.SemigroupSum)(0)
*

@@ -202,2 +202,2 @@ * assert.deepStrictEqual(sum([1, 2, 3]), 6)

*/
export declare const fold: <A>(S: Semigroup<A>) => (startWith: A) => (as: readonly A[]) => A
export declare const concatAll: <A>(S: Semigroup<A>) => (startWith: A) => (as: readonly A[]) => A

@@ -222,6 +222,6 @@ /**

* @example
* import { fold } from 'fp-ts/Semigroup'
* import { concatAll } from 'fp-ts/Semigroup'
* import * as N from 'fp-ts/number'
*
* const sum = fold(N.SemigroupSum)(0)
* const sum = concatAll(N.SemigroupSum)(0)
*

@@ -233,2 +233,2 @@ * assert.deepStrictEqual(sum([1, 2, 3]), 6)

*/
export const fold = (S) => (startWith) => (as) => as.reduce((a, acc) => S.concat(acc)(a), startWith);
export const concatAll = (S) => (startWith) => (as) => as.reduce((a, acc) => S.concat(acc)(a), startWith);

@@ -22,3 +22,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.fold = exports.object = exports.last = exports.first = exports.intercalate = exports.tuple = exports.struct = exports.reverse = exports.constant = exports.max = exports.min = void 0;
exports.concatAll = exports.object = exports.last = exports.first = exports.intercalate = exports.tuple = exports.struct = exports.reverse = exports.constant = exports.max = exports.min = void 0;
/**

@@ -261,6 +261,6 @@ * If a type `A` can form a `Semigroup` it has an **associative** binary operation.

* @example
* import { fold } from 'fp-ts/Semigroup'
* import { concatAll } from 'fp-ts/Semigroup'
* import * as N from 'fp-ts/number'
*
* const sum = fold(N.SemigroupSum)(0)
* const sum = concatAll(N.SemigroupSum)(0)
*

@@ -272,5 +272,5 @@ * assert.deepStrictEqual(sum([1, 2, 3]), 6)

*/
var fold = function (S) { return function (startWith) { return function (as) {
var concatAll = function (S) { return function (startWith) { return function (as) {
return as.reduce(function (a, acc) { return S.concat(acc)(a); }, startWith);
}; }; };
exports.fold = fold;
exports.concatAll = concatAll;

@@ -136,3 +136,3 @@ import { apFirst as apFirst_, apSecond as apSecond_, apS as apS_, apT as apT_ } from '../Apply';

/*#__PURE__*/
E.fold((e) => left(e), right);
E.match((e) => left(e), right);
/**

@@ -139,0 +139,0 @@ * @category constructors

@@ -193,3 +193,3 @@ "use strict";

/*#__PURE__*/
E.fold(function (e) { return exports.left(e); }, exports.right);
E.match(function (e) { return exports.left(e); }, exports.right);
/**

@@ -196,0 +196,0 @@ * @category constructors

@@ -113,3 +113,3 @@ /**

*/
export declare const fold: <E, B, A>(
export declare const match: <E, B, A>(
onLeft: (e: E) => T.Task<B>,

@@ -119,3 +119,3 @@ onRight: (a: A) => T.Task<B>

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -125,3 +125,3 @@ * @category destructors

*/
export declare const foldW: <E, B, A, C>(
export declare const matchW: <E, B, A, C>(
onLeft: (e: E) => Task<B>,

@@ -128,0 +128,0 @@ onRight: (a: A) => Task<C>

@@ -105,7 +105,7 @@ import { apFirst as apFirst_, apSecond as apSecond_, apS as apS_, apT as apT_, ap as ap_ } from '../Apply';

*/
export const fold =
export const match =
/*#__PURE__*/
ET.fold(T.Monad);
ET.match(T.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -115,3 +115,3 @@ * @category destructors

*/
export const foldW = fold;
export const matchW = match;
/**

@@ -118,0 +118,0 @@ * @category destructors

@@ -33,3 +33,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.Bifunctor = exports.chainFirstW = exports.chainFirst = exports.ApplicativeSeq = exports.ApplySeq = exports.Monad = exports.ApplicativePar = exports.apSecond = exports.apFirst = exports.ApplyPar = exports.Pointed = exports.Functor = exports.getFilterable = exports.getCompactable = exports.getAltTaskValidation = exports.getApplicativeTaskValidation = exports.of = exports.altW = exports.alt = exports.flatten = exports.chainW = exports.chain = exports.apW = exports.ap = exports.mapLeft = exports.bimap = exports.map = exports.chainIOEitherK = exports.chainIOEitherKW = exports.fromIOEitherK = exports.tryCatchK = exports.swap = exports.orElseW = exports.orElse = exports.toUnion = exports.getOrElseW = exports.getOrElse = exports.foldW = exports.fold = exports.fromTask = exports.fromIO = exports.tryCatch = exports.fromEither = exports.fromIOEither = exports.leftIO = exports.rightIO = exports.leftTask = exports.rightTask = exports.right = exports.left = void 0;
exports.Bifunctor = exports.chainFirstW = exports.chainFirst = exports.ApplicativeSeq = exports.ApplySeq = exports.Monad = exports.ApplicativePar = exports.apSecond = exports.apFirst = exports.ApplyPar = exports.Pointed = exports.Functor = exports.getFilterable = exports.getCompactable = exports.getAltTaskValidation = exports.getApplicativeTaskValidation = exports.of = exports.altW = exports.alt = exports.flatten = exports.chainW = exports.chain = exports.apW = exports.ap = exports.mapLeft = exports.bimap = exports.map = exports.chainIOEitherK = exports.chainIOEitherKW = exports.fromIOEitherK = exports.tryCatchK = exports.swap = exports.orElseW = exports.orElse = exports.toUnion = exports.getOrElseW = exports.getOrElse = exports.matchW = exports.match = exports.fromTask = exports.fromIO = exports.tryCatch = exports.fromEither = exports.fromIOEither = exports.leftIO = exports.rightIO = exports.leftTask = exports.rightTask = exports.right = exports.left = void 0;
exports.sequenceReadonlyArraySeq = exports.traverseReadonlyArraySeq = exports.traverseReadonlyArrayWithIndexSeq = exports.sequenceReadonlyArray = exports.traverseReadonlyArray = exports.traverseReadonlyArrayWithIndex = exports.apTW = exports.apT = exports.tupled = exports.ApT = exports.apSW = exports.apS = exports.bindW = exports.bind = exports.bindTo = exports.Do = exports.bracket = exports.taskify = exports.fromEitherK = exports.filterOrElseW = exports.filterOrElse = exports.fromPredicate = exports.chainEitherKW = exports.chainEitherK = exports.chainOptionK = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.FromTask = exports.FromIO = exports.Alt = void 0;

@@ -141,7 +141,7 @@ var Apply_1 = require("../Apply");

*/
exports.fold =
exports.match =
/*#__PURE__*/
ET.fold(T.Monad);
ET.match(T.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -151,3 +151,3 @@ * @category destructors

*/
exports.foldW = exports.fold;
exports.matchW = exports.match;
/**

@@ -154,0 +154,0 @@ * @category destructors

@@ -83,3 +83,3 @@ /**

*/
export declare const fold: <B, A>(
export declare const match: <B, A>(
onNone: () => T.Task<B>,

@@ -89,3 +89,3 @@ onSome: (a: A) => T.Task<B>

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -95,3 +95,3 @@ * @category destructors

*/
export declare const foldW: <B, A, C>(
export declare const matchW: <B, A, C>(
onNone: () => T.Task<B>,

@@ -98,0 +98,0 @@ onSome: (a: A) => T.Task<C>

@@ -83,7 +83,7 @@ import { apFirst as apFirst_, apS as apS_, apSecond as apSecond_, apT as apT_ } from '../Apply';

*/
export const fold =
export const match =
/*#__PURE__*/
OT.fold(T.Monad);
OT.match(T.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -93,3 +93,3 @@ * @category destructors

*/
export const foldW = fold;
export const matchW = match;
/**

@@ -96,0 +96,0 @@ * @category destructors

@@ -33,3 +33,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.bindTo = exports.Do = exports.Filterable = exports.Compactable = exports.FromTask = exports.FromIO = exports.Alternative = exports.Alt = exports.chainFirst = exports.ApplicativeSeq = exports.ApplySeq = exports.Monad = exports.ApplicativePar = exports.apSecond = exports.apFirst = exports.ApplyPar = exports.Pointed = exports.Functor = exports.partitionMap = exports.partition = exports.filterMap = exports.filter = exports.separate = exports.compact = exports.zero = exports.altW = exports.alt = exports.flatten = exports.chain = exports.of = exports.ap = exports.map = exports.chainOptionK = exports.fromOptionK = exports.chainNullableK = exports.fromNullableK = exports.tryCatchK = exports.getOrElseW = exports.getOrElse = exports.foldW = exports.fold = exports.fromTask = exports.fromIO = exports.tryCatch = exports.fromEither = exports.fromPredicate = exports.fromNullable = exports.fromOption = exports.none = exports.some = void 0;
exports.bindTo = exports.Do = exports.Filterable = exports.Compactable = exports.FromTask = exports.FromIO = exports.Alternative = exports.Alt = exports.chainFirst = exports.ApplicativeSeq = exports.ApplySeq = exports.Monad = exports.ApplicativePar = exports.apSecond = exports.apFirst = exports.ApplyPar = exports.Pointed = exports.Functor = exports.partitionMap = exports.partition = exports.filterMap = exports.filter = exports.separate = exports.compact = exports.zero = exports.altW = exports.alt = exports.flatten = exports.chain = exports.of = exports.ap = exports.map = exports.chainOptionK = exports.fromOptionK = exports.chainNullableK = exports.fromNullableK = exports.tryCatchK = exports.getOrElseW = exports.getOrElse = exports.matchW = exports.match = exports.fromTask = exports.fromIO = exports.tryCatch = exports.fromEither = exports.fromPredicate = exports.fromNullable = exports.fromOption = exports.none = exports.some = void 0;
exports.sequenceReadonlyArraySeq = exports.traverseReadonlyArraySeq = exports.traverseReadonlyArrayWithIndexSeq = exports.sequenceReadonlyArray = exports.traverseReadonlyArray = exports.traverseReadonlyArrayWithIndex = exports.apT = exports.tupled = exports.ApT = exports.apS = exports.bind = void 0;

@@ -122,7 +122,7 @@ var Apply_1 = require("../Apply");

*/
exports.fold =
exports.match =
/*#__PURE__*/
OT.fold(T.Monad);
OT.match(T.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -132,3 +132,3 @@ * @category destructors

*/
exports.foldW = exports.fold;
exports.matchW = exports.match;
/**

@@ -135,0 +135,0 @@ * @category destructors

@@ -84,3 +84,3 @@ /**

*/
export declare const fold: <E, B, A>(
export declare const match: <E, B, A>(
onLeft: (e: E) => T.Task<B>,

@@ -91,3 +91,3 @@ onRight: (a: A) => T.Task<B>,

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -97,3 +97,3 @@ * @category destructors

*/
export declare const foldW: <E, B, A, C, D>(
export declare const matchW: <E, B, A, C, D>(
onLeft: (e: E) => T.Task<B>,

@@ -100,0 +100,0 @@ onRight: (a: A) => T.Task<C>,

@@ -83,7 +83,7 @@ import { fromOption as fromOption_, fromOptionK as fromOptionK_, fromPredicate as fromPredicate_ } from '../FromEither';

*/
export const fold =
export const match =
/*#__PURE__*/
TT.fold(T.Monad);
TT.match(T.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -93,3 +93,3 @@ * @category destructors

*/
export const foldW = fold;
export const matchW = match;
// -------------------------------------------------------------------------------------

@@ -96,0 +96,0 @@ // combinators

@@ -22,3 +22,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.toTuple2 = exports.FromTask = exports.FromIO = exports.fromPredicate = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.Bifunctor = exports.Pointed = exports.Functor = exports.getMonad = exports.getApplicative = exports.getApply = exports.of = exports.mapLeft = exports.bimap = exports.map = exports.swap = exports.foldW = exports.fold = exports.fromTask = exports.fromIO = exports.fromEither = exports.fromIOEither = exports.leftIO = exports.rightIO = exports.leftTask = exports.rightTask = exports.both = exports.right = exports.left = void 0;
exports.toTuple2 = exports.FromTask = exports.FromIO = exports.fromPredicate = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.Bifunctor = exports.Pointed = exports.Functor = exports.getMonad = exports.getApplicative = exports.getApply = exports.of = exports.mapLeft = exports.bimap = exports.map = exports.swap = exports.matchW = exports.match = exports.fromTask = exports.fromIO = exports.fromEither = exports.fromIOEither = exports.leftIO = exports.rightIO = exports.leftTask = exports.rightTask = exports.both = exports.right = exports.left = void 0;
var FromEither_1 = require("../FromEither");

@@ -106,7 +106,7 @@ var function_1 = require("../function");

*/
exports.fold =
exports.match =
/*#__PURE__*/
TT.fold(T.Monad);
TT.match(T.Monad);
/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -116,3 +116,3 @@ * @category destructors

*/
exports.foldW = exports.fold;
exports.matchW = exports.match;
// -------------------------------------------------------------------------------------

@@ -119,0 +119,0 @@ // combinators

@@ -107,3 +107,3 @@ /**

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -113,3 +113,3 @@ * @category destructors

*/
export declare const foldW: <E, B, A, C, D>(
export declare const matchW: <E, B, A, C, D>(
onLeft: (e: E) => B,

@@ -123,3 +123,3 @@ onRight: (a: A) => C,

*/
export declare const fold: <E, B, A>(
export declare const match: <E, B, A>(
onLeft: (e: E) => B,

@@ -126,0 +126,0 @@ onRight: (a: A) => B,

@@ -74,3 +74,3 @@ import { mapLeftDefault } from '../Bifunctor';

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -80,3 +80,3 @@ * @category destructors

*/
export const foldW = (onLeft, onRight, onBoth) => (fa) => {
export const matchW = (onLeft, onRight, onBoth) => (fa) => {
switch (fa._tag) {

@@ -95,3 +95,3 @@ case 'Left':

*/
export const fold = foldW;
export const match = matchW;
// -------------------------------------------------------------------------------------

@@ -104,3 +104,3 @@ // combinators

*/
export const swap = fold(right, left, (e, a) => both(a, e));
export const swap = match(right, left, (e, a) => both(a, e));
// -------------------------------------------------------------------------------------

@@ -200,3 +200,3 @@ // guards

export const getShow = (SE, SA) => ({
show: fold((l) => `left(${SE.show(l)})`, (a) => `right(${SA.show(a)})`, (l, a) => `both(${SE.show(l)}, ${SA.show(a)})`)
show: match((l) => `left(${SE.show(l)})`, (a) => `right(${SA.show(a)})`, (l, a) => `both(${SE.show(l)}, ${SA.show(a)})`)
});

@@ -203,0 +203,0 @@ /**

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRightOnly = exports.getLeftOnly = exports.getRight = exports.getLeft = exports.toTuple2 = exports.Traversable = exports.Foldable = exports.Bifunctor = exports.fromPredicate = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.getMonad = exports.getApplicative = exports.getApply = exports.Pointed = exports.Functor = exports.getSemigroup = exports.getEq = exports.getShow = exports.of = exports.sequence = exports.traverse = exports.reduceRight = exports.foldMap = exports.reduce = exports.map = exports.mapLeft = exports.bimap = exports.isBoth = exports.isRight = exports.isLeft = exports.swap = exports.fold = exports.foldW = exports.fromOptions = exports.rightOrBoth = exports.leftOrBoth = exports.both = exports.right = exports.left = void 0;
exports.getRightOnly = exports.getLeftOnly = exports.getRight = exports.getLeft = exports.toTuple2 = exports.Traversable = exports.Foldable = exports.Bifunctor = exports.fromPredicate = exports.fromOptionK = exports.fromOption = exports.FromEither = exports.getMonad = exports.getApplicative = exports.getApply = exports.Pointed = exports.Functor = exports.getSemigroup = exports.getEq = exports.getShow = exports.of = exports.sequence = exports.traverse = exports.reduceRight = exports.foldMap = exports.reduce = exports.map = exports.mapLeft = exports.bimap = exports.isBoth = exports.isRight = exports.isLeft = exports.swap = exports.match = exports.matchW = exports.fromOptions = exports.rightOrBoth = exports.leftOrBoth = exports.both = exports.right = exports.left = void 0;
var Bifunctor_1 = require("../Bifunctor");

@@ -89,3 +89,3 @@ var Eq_1 = require("../Eq");

/**
* Less strict version of [`fold`](#fold).
* Less strict version of [`match`](#match).
*

@@ -95,3 +95,3 @@ * @category destructors

*/
var foldW = function (onLeft, onRight, onBoth) { return function (fa) {
var matchW = function (onLeft, onRight, onBoth) { return function (fa) {
switch (fa._tag) {

@@ -106,3 +106,3 @@ case 'Left':

}; };
exports.foldW = foldW;
exports.matchW = matchW;
/**

@@ -112,3 +112,3 @@ * @category destructors

*/
exports.fold = exports.foldW;
exports.match = exports.matchW;
// -------------------------------------------------------------------------------------

@@ -121,3 +121,3 @@ // combinators

*/
exports.swap = exports.fold(exports.right, exports.left, function (e, a) { return exports.both(a, e); });
exports.swap = exports.match(exports.right, exports.left, function (e, a) { return exports.both(a, e); });
// -------------------------------------------------------------------------------------

@@ -239,3 +239,3 @@ // guards

var getShow = function (SE, SA) { return ({
show: exports.fold(function (l) { return "left(" + SE.show(l) + ")"; }, function (a) { return "right(" + SA.show(a) + ")"; }, function (l, a) { return "both(" + SE.show(l) + ", " + SA.show(a) + ")"; })
show: exports.match(function (l) { return "left(" + SE.show(l) + ")"; }, function (a) { return "right(" + SA.show(a) + ")"; }, function (l, a) { return "both(" + SE.show(l) + ", " + SA.show(a) + ")"; })
}); };

@@ -242,0 +242,0 @@ exports.getShow = getShow;

@@ -116,3 +116,3 @@ /**

*/
export declare function fold<M extends URIS2>(
export declare function match<M extends URIS2>(
M: Monad2<M>

@@ -124,3 +124,3 @@ ): <E, R, B, A>(

) => (ma: Kind2<M, R, These<E, A>>) => Kind2<M, R, B>
export declare function fold<M extends URIS>(
export declare function match<M extends URIS>(
M: Monad1<M>

@@ -132,3 +132,3 @@ ): <E, B, A>(

) => (ma: Kind<M, These<E, A>>) => Kind<M, B>
export declare function fold<M>(
export declare function match<M>(
M: Monad<M>

@@ -135,0 +135,0 @@ ): <E, B, A>(

@@ -31,3 +31,3 @@ /**

const _left = left(M);
return (f) => (ma) => pipe(ma, M.chain(T.fold(_left, f, (e1, a) => pipe(f(a), M.map(T.fold((e2) => T.left(S.concat(e2)(e1)), (b) => T.both(e1, b), (e2, b) => T.both(S.concat(e2)(e1), b)))))));
return (f) => (ma) => pipe(ma, M.chain(T.match(_left, f, (e1, a) => pipe(f(a), M.map(T.match((e2) => T.left(S.concat(e2)(e1)), (b) => T.both(e1, b), (e2, b) => T.both(S.concat(e2)(e1), b)))))));
}

@@ -40,4 +40,4 @@ export function bimap(F) {

}
export function fold(M) {
return (onLeft, onRight, onBoth) => M.chain(T.fold(onLeft, onRight, onBoth));
export function match(M) {
return (onLeft, onRight, onBoth) => M.chain(T.match(onLeft, onRight, onBoth));
}

@@ -44,0 +44,0 @@ export function swap(F) {

@@ -25,3 +25,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.toTuple2 = exports.swap = exports.fold = exports.mapLeft = exports.bimap = exports.chain = exports.ap = exports.map = exports.leftF = exports.rightF = exports.both = exports.left = exports.right = void 0;
exports.toTuple2 = exports.swap = exports.match = exports.mapLeft = exports.bimap = exports.chain = exports.ap = exports.map = exports.leftF = exports.rightF = exports.both = exports.left = exports.right = void 0;
var Apply_1 = require("../Apply");

@@ -62,4 +62,4 @@ var function_1 = require("../function");

return function (f) { return function (ma) {
return function_1.pipe(ma, M.chain(T.fold(_left, f, function (e1, a) {
return function_1.pipe(f(a), M.map(T.fold(function (e2) { return T.left(S.concat(e2)(e1)); }, function (b) { return T.both(e1, b); }, function (e2, b) { return T.both(S.concat(e2)(e1), b); })));
return function_1.pipe(ma, M.chain(T.match(_left, f, function (e1, a) {
return function_1.pipe(f(a), M.map(T.match(function (e2) { return T.left(S.concat(e2)(e1)); }, function (b) { return T.both(e1, b); }, function (e2, b) { return T.both(S.concat(e2)(e1), b); })));
})));

@@ -77,6 +77,6 @@ }; };

exports.mapLeft = mapLeft;
function fold(M) {
return function (onLeft, onRight, onBoth) { return M.chain(T.fold(onLeft, onRight, onBoth)); };
function match(M) {
return function (onLeft, onRight, onBoth) { return M.chain(T.match(onLeft, onRight, onBoth)); };
}
exports.fold = fold;
exports.match = match;
function swap(F) {

@@ -83,0 +83,0 @@ return F.map(T.swap);

@@ -134,3 +134,3 @@ /**

* @example
* import { fold, make } from 'fp-ts/Tree'
* import { match, make } from 'fp-ts/Tree'
* import { pipe } from 'fp-ts/function'

@@ -143,9 +143,9 @@ *

* // Sum the values in a tree:
* assert.deepStrictEqual(pipe(t, fold((a, bs) => a + sum(bs))), 6)
* assert.deepStrictEqual(pipe(t, match((a, bs) => a + sum(bs))), 6)
*
* // Find the maximum value in the tree:
* assert.deepStrictEqual(pipe(t, fold((a, bs) => bs.reduce((b, acc) => Math.max(b, acc), a))), 3)
* assert.deepStrictEqual(pipe(t, match((a, bs) => bs.reduce((b, acc) => Math.max(b, acc), a))), 3)
*
* // Count the number of leaves in the tree:
* assert.deepStrictEqual(pipe(t, fold((_, bs) => (bs.length === 0 ? 1 : sum(bs)))), 2)
* assert.deepStrictEqual(pipe(t, match((_, bs) => (bs.length === 0 ? 1 : sum(bs)))), 2)
*

@@ -155,3 +155,3 @@ * @category destructors

*/
export declare const fold: <A, B>(f: (a: A, bs: readonly B[]) => B) => (tree: Tree<A>) => B
export declare const match: <A, B>(f: (a: A, bs: readonly B[]) => B) => (tree: Tree<A>) => B
/**

@@ -158,0 +158,0 @@ * `map` can be used to turn functions `(a: A) => B` into functions `(fa: F<A>) => F<B>` whose argument and return types

@@ -57,3 +57,3 @@ import { apFirst as apFirst_, apS as apS_, apSecond as apSecond_, apT as apT_ } from '../Apply';

* @example
* import { fold, make } from 'fp-ts/Tree'
* import { match, make } from 'fp-ts/Tree'
* import { pipe } from 'fp-ts/function'

@@ -66,9 +66,9 @@ *

* // Sum the values in a tree:
* assert.deepStrictEqual(pipe(t, fold((a, bs) => a + sum(bs))), 6)
* assert.deepStrictEqual(pipe(t, match((a, bs) => a + sum(bs))), 6)
*
* // Find the maximum value in the tree:
* assert.deepStrictEqual(pipe(t, fold((a, bs) => bs.reduce((b, acc) => Math.max(b, acc), a))), 3)
* assert.deepStrictEqual(pipe(t, match((a, bs) => bs.reduce((b, acc) => Math.max(b, acc), a))), 3)
*
* // Count the number of leaves in the tree:
* assert.deepStrictEqual(pipe(t, fold((_, bs) => (bs.length === 0 ? 1 : sum(bs)))), 2)
* assert.deepStrictEqual(pipe(t, match((_, bs) => (bs.length === 0 ? 1 : sum(bs)))), 2)
*

@@ -78,3 +78,3 @@ * @category destructors

*/
export const fold = (f) => {
export const match = (f) => {
const go = (tree) => f(tree.value, tree.forest.map(go));

@@ -81,0 +81,0 @@ return go;

@@ -22,3 +22,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.apT = exports.tupled = exports.ApT = exports.apS = exports.bind = exports.bindTo = exports.Do = exports.drawTree = exports.drawForest = exports.elem = exports.Comonad = exports.Traversable = exports.Foldable = exports.chainFirst = exports.Monad = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.Pointed = exports.Functor = exports.getEq = exports.getShow = exports.of = exports.sequence = exports.traverse = exports.extract = exports.reduceRight = exports.foldMap = exports.reduce = exports.flatten = exports.duplicate = exports.extend = exports.chain = exports.ap = exports.map = exports.fold = exports.unfoldForestM = exports.unfoldTreeM = exports.unfoldForest = exports.unfoldTree = exports.make = void 0;
exports.apT = exports.tupled = exports.ApT = exports.apS = exports.bind = exports.bindTo = exports.Do = exports.drawTree = exports.drawForest = exports.elem = exports.Comonad = exports.Traversable = exports.Foldable = exports.chainFirst = exports.Monad = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.Pointed = exports.Functor = exports.getEq = exports.getShow = exports.of = exports.sequence = exports.traverse = exports.extract = exports.reduceRight = exports.foldMap = exports.reduce = exports.flatten = exports.duplicate = exports.extend = exports.chain = exports.ap = exports.map = exports.match = exports.unfoldForestM = exports.unfoldTreeM = exports.unfoldForest = exports.unfoldTree = exports.make = void 0;
var Apply_1 = require("../Apply");

@@ -95,3 +95,3 @@ var Eq_1 = require("../Eq");

* @example
* import { fold, make } from 'fp-ts/Tree'
* import { match, make } from 'fp-ts/Tree'
* import { pipe } from 'fp-ts/function'

@@ -104,9 +104,9 @@ *

* // Sum the values in a tree:
* assert.deepStrictEqual(pipe(t, fold((a, bs) => a + sum(bs))), 6)
* assert.deepStrictEqual(pipe(t, match((a, bs) => a + sum(bs))), 6)
*
* // Find the maximum value in the tree:
* assert.deepStrictEqual(pipe(t, fold((a, bs) => bs.reduce((b, acc) => Math.max(b, acc), a))), 3)
* assert.deepStrictEqual(pipe(t, match((a, bs) => bs.reduce((b, acc) => Math.max(b, acc), a))), 3)
*
* // Count the number of leaves in the tree:
* assert.deepStrictEqual(pipe(t, fold((_, bs) => (bs.length === 0 ? 1 : sum(bs)))), 2)
* assert.deepStrictEqual(pipe(t, match((_, bs) => (bs.length === 0 ? 1 : sum(bs)))), 2)
*

@@ -116,7 +116,7 @@ * @category destructors

*/
var fold = function (f) {
var match = function (f) {
var go = function (tree) { return f(tree.value, tree.forest.map(go)); };
return go;
};
exports.fold = fold;
exports.match = match;
// -------------------------------------------------------------------------------------

@@ -123,0 +123,0 @@ // type class members

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc