From 60719ba83232660612208c4daaa61f8034470a5e Mon Sep 17 00:00:00 2001 From: gcanti Date: Wed, 11 Dec 2019 09:57:42 +0100 Subject: [PATCH] upgrade to latest docs-ts --- CHANGELOG.md | 13 + docs/modules/Alt.ts.md | 4 +- docs/modules/Alternative.ts.md | 4 +- docs/modules/Applicative.ts.md | 4 +- docs/modules/Apply.ts.md | 4 +- docs/modules/Array.ts.md | 4 +- docs/modules/Bifunctor.ts.md | 4 + docs/modules/BooleanAlgebra.ts.md | 4 +- docs/modules/Bounded.ts.md | 4 +- docs/modules/BoundedDistributiveLattice.ts.md | 4 +- docs/modules/BoundedJoinSemilattice.ts.md | 4 +- docs/modules/BoundedLattice.ts.md | 4 +- docs/modules/BoundedMeetSemilattice.ts.md | 4 +- docs/modules/Category.ts.md | 4 + docs/modules/Chain.ts.md | 4 +- docs/modules/ChainRec.ts.md | 4 + docs/modules/Choice.ts.md | 4 +- docs/modules/Comonad.ts.md | 4 + docs/modules/Compactable.ts.md | 4 +- docs/modules/Console.ts.md | 4 +- docs/modules/Const.ts.md | 4 + docs/modules/Contravariant.ts.md | 4 + docs/modules/Date.ts.md | 4 + docs/modules/DistributiveLattice.ts.md | 4 +- docs/modules/Either.ts.md | 4 +- docs/modules/EitherT.ts.md | 4 + docs/modules/Eq.ts.md | 14 + docs/modules/Extend.ts.md | 4 + docs/modules/Field.ts.md | 4 +- docs/modules/Filterable.ts.md | 4 +- docs/modules/FilterableWithIndex.ts.md | 4 + docs/modules/Foldable.ts.md | 4 + docs/modules/FoldableWithIndex.ts.md | 4 +- docs/modules/Functor.ts.md | 4 +- docs/modules/FunctorWithIndex.ts.md | 4 +- docs/modules/Group.ts.md | 4 +- docs/modules/HKT.ts.md | 6 +- docs/modules/HeytingAlgebra.ts.md | 4 +- docs/modules/IO.ts.md | 4 +- docs/modules/IOEither.ts.md | 4 +- docs/modules/IORef.ts.md | 4 +- docs/modules/Identity.ts.md | 4 + docs/modules/Invariant.ts.md | 4 + docs/modules/JoinSemilattice.ts.md | 4 +- docs/modules/Lattice.ts.md | 4 +- docs/modules/Magma.ts.md | 6 + docs/modules/Map.ts.md | 4 + docs/modules/MeetSemilattice.ts.md | 4 +- docs/modules/Monad.ts.md | 4 +- docs/modules/MonadIO.ts.md | 4 +- docs/modules/MonadTask.ts.md | 4 +- docs/modules/MonadThrow.ts.md | 4 +- docs/modules/Monoid.ts.md | 4 + docs/modules/NonEmptyArray.ts.md | 4 +- docs/modules/Option.ts.md | 4 +- docs/modules/OptionT.ts.md | 4 + docs/modules/Ord.ts.md | 4 +- docs/modules/Ordering.ts.md | 4 + docs/modules/Profunctor.ts.md | 4 + docs/modules/Random.ts.md | 4 +- docs/modules/Reader.ts.md | 4 + docs/modules/ReaderEither.ts.md | 4 + docs/modules/ReaderT.ts.md | 4 + docs/modules/ReaderTask.ts.md | 4 + docs/modules/ReaderTaskEither.ts.md | 4 + docs/modules/Record.ts.md | 4 + docs/modules/Ring.ts.md | 4 +- docs/modules/Semigroup.ts.md | 4 +- docs/modules/Semigroupoid.ts.md | 4 + docs/modules/Semiring.ts.md | 4 +- docs/modules/Set.ts.md | 4 + docs/modules/Show.ts.md | 11 + docs/modules/State.ts.md | 4 +- docs/modules/StateReaderTaskEither.ts.md | 4 + docs/modules/StateT.ts.md | 4 + docs/modules/Store.ts.md | 4 + docs/modules/Strong.ts.md | 4 +- docs/modules/Task.ts.md | 4 +- docs/modules/TaskEither.ts.md | 4 +- docs/modules/These.ts.md | 4 +- docs/modules/Traced.ts.md | 4 + docs/modules/Traversable.ts.md | 4 +- docs/modules/TraversableWithIndex.ts.md | 4 +- docs/modules/Tree.ts.md | 4 +- docs/modules/Tuple.ts.md | 4 +- docs/modules/Unfoldable.ts.md | 4 +- docs/modules/ValidationT.ts.md | 4 + docs/modules/Witherable.ts.md | 20 + docs/modules/Writer.ts.md | 4 + docs/modules/boolean.ts.md | 4 + docs/modules/function.ts.md | 4 + docs/modules/index.ts.md | 4 + docs/modules/pipeable.ts.md | 4 + package-lock.json | 450 +++++++++--------- package.json | 2 +- src/Alt.ts | 4 +- src/Alternative.ts | 4 +- src/Applicative.ts | 4 +- src/Apply.ts | 4 +- src/Array.ts | 4 +- src/Bifunctor.ts | 3 + src/BooleanAlgebra.ts | 4 +- src/Bounded.ts | 4 +- src/BoundedDistributiveLattice.ts | 4 +- src/BoundedJoinSemilattice.ts | 4 +- src/BoundedLattice.ts | 4 +- src/BoundedMeetSemilattice.ts | 4 +- src/Category.ts | 3 + src/Chain.ts | 4 +- src/ChainRec.ts | 3 + src/Choice.ts | 4 +- src/Comonad.ts | 3 + src/Compactable.ts | 4 +- src/Console.ts | 4 +- src/Const.ts | 3 + src/Contravariant.ts | 3 + src/Date.ts | 3 + src/DistributiveLattice.ts | 4 +- src/Either.ts | 4 +- src/EitherT.ts | 3 + src/Eq.ts | 25 +- src/Extend.ts | 3 + src/Field.ts | 4 +- src/Filterable.ts | 4 +- src/FilterableWithIndex.ts | 3 + src/Foldable.ts | 3 + src/FoldableWithIndex.ts | 4 +- src/Functor.ts | 4 +- src/FunctorWithIndex.ts | 4 +- src/Group.ts | 4 +- src/HKT.ts | 4 +- src/HeytingAlgebra.ts | 4 +- src/IO.ts | 4 +- src/IOEither.ts | 4 +- src/IORef.ts | 4 +- src/Identity.ts | 3 + src/Invariant.ts | 3 + src/JoinSemilattice.ts | 3 +- src/Lattice.ts | 4 +- src/Map.ts | 3 + src/MeetSemilattice.ts | 4 +- src/Monad.ts | 4 +- src/MonadIO.ts | 4 +- src/MonadTask.ts | 4 +- src/MonadThrow.ts | 4 +- src/Monoid.ts | 3 + src/NonEmptyArray.ts | 4 +- src/Option.ts | 4 +- src/OptionT.ts | 3 + src/Ord.ts | 4 +- src/Ordering.ts | 3 + src/Profunctor.ts | 3 + src/Random.ts | 4 +- src/Reader.ts | 3 + src/ReaderEither.ts | 3 + src/ReaderT.ts | 3 + src/ReaderTask.ts | 3 + src/ReaderTaskEither.ts | 3 + src/Record.ts | 3 + src/Ring.ts | 4 +- src/Semigroup.ts | 4 +- src/Semigroupoid.ts | 3 + src/Semiring.ts | 4 +- src/Set.ts | 3 + src/State.ts | 4 +- src/StateReaderTaskEither.ts | 3 + src/StateT.ts | 3 + src/Store.ts | 3 + src/Strong.ts | 4 +- src/Task.ts | 4 +- src/TaskEither.ts | 4 +- src/These.ts | 4 +- src/Traced.ts | 3 + src/Traversable.ts | 4 +- src/TraversableWithIndex.ts | 4 +- src/Tree.ts | 4 +- src/Tuple.ts | 4 +- src/Unfoldable.ts | 4 +- src/ValidationT.ts | 3 + src/Witherable.ts | 2 + src/Writer.ts | 3 + src/boolean.ts | 4 + src/function.ts | 4 + src/index.ts | 4 + src/pipeable.ts | 3 + 185 files changed, 872 insertions(+), 343 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 044da161b..3000086c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,19 @@ **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. +# 2.3.0 + +- **New Feature** + - add `ReaderTask` module (@sledorze) + - `ReaderTaskEither` + - add `getReaderTaskValidation` (@sledorze) + - `ReaderEither` + - add `getReaderValidation` (@gcanti) + - `TaskEither` + - improve `getTaskValidation` (@gcanti) + - `IOEither` + - improve `getIOValidation` (@gcanti) + # 2.2.0 - **New Feature** diff --git a/docs/modules/Alt.ts.md b/docs/modules/Alt.ts.md index d4eb89e1f..5c08ccff1 100644 --- a/docs/modules/Alt.ts.md +++ b/docs/modules/Alt.ts.md @@ -4,7 +4,7 @@ nav_order: 1 parent: Modules --- -# Overview +# Alt overview The `Alt` type class identifies an associative operation on a type constructor. It is similar to `Semigroup`, except that it applies to types of kind `* -> *`, like `Array` or `Option`, rather than concrete types like `string` or @@ -15,6 +15,8 @@ that it applies to types of kind `* -> *`, like `Array` or `Option`, rather than 1. Associativity: `A.alt(A.alt(fa, ga), ha) = A.alt(fa, A.alt(ga, ha))` 2. Distributivity: `A.map(A.alt(fa, ga), ab) = A.alt(A.map(fa, ab), A.map(ga, ab))` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Alternative.ts.md b/docs/modules/Alternative.ts.md index 1d80fc03e..34699bb90 100644 --- a/docs/modules/Alternative.ts.md +++ b/docs/modules/Alternative.ts.md @@ -4,7 +4,7 @@ nav_order: 2 parent: Modules --- -# Overview +# Alternative overview The `Alternative` type class extends the `Alt` type class with a value that should be the left and right identity for `alt`. @@ -19,6 +19,8 @@ concrete types like `string` or `number`. 4. Distributivity: `A.ap(A.alt(fab, gab), fa) = A.alt(A.ap(fab, fa), A.ap(gab, fa))` 5. Annihilation: `A.ap(zero, fa) = zero` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Applicative.ts.md b/docs/modules/Applicative.ts.md index 9fa3d163a..f3f5033a1 100644 --- a/docs/modules/Applicative.ts.md +++ b/docs/modules/Applicative.ts.md @@ -4,7 +4,7 @@ nav_order: 3 parent: Modules --- -# Overview +# Applicative overview The `Applicative` type class extends the `Apply` type class with a `of` function, which can be used to create values of type `f a` from values of type `a`. @@ -22,6 +22,8 @@ Instances must satisfy the following laws in addition to the `Apply` laws: Note. `Functor`'s `map` can be derived: `A.map(x, f) = A.ap(A.of(f), x)` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Apply.ts.md b/docs/modules/Apply.ts.md index 36f9ede78..8490fd5b2 100644 --- a/docs/modules/Apply.ts.md +++ b/docs/modules/Apply.ts.md @@ -4,7 +4,7 @@ nav_order: 4 parent: Modules --- -# Overview +# Apply overview The `Apply` class provides the `ap` which is used to apply a function to an argument under a type constructor. @@ -17,6 +17,8 @@ Instances must satisfy the following law in addition to the `Functor` laws: Formally, `Apply` represents a strong lax semi-monoidal endofunctor. +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Array.ts.md b/docs/modules/Array.ts.md index 3788f8ee3..1c276ef69 100644 --- a/docs/modules/Array.ts.md +++ b/docs/modules/Array.ts.md @@ -4,10 +4,12 @@ nav_order: 5 parent: Modules --- -# Overview +# Array overview Adapted from https://github.com/purescript/purescript-arrays +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Bifunctor.ts.md b/docs/modules/Bifunctor.ts.md index ca0c86c0d..e2608ef7e 100644 --- a/docs/modules/Bifunctor.ts.md +++ b/docs/modules/Bifunctor.ts.md @@ -4,6 +4,10 @@ nav_order: 6 parent: Modules --- +# Bifunctor overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/BooleanAlgebra.ts.md b/docs/modules/BooleanAlgebra.ts.md index 20aa4cda2..c1e4d3632 100644 --- a/docs/modules/BooleanAlgebra.ts.md +++ b/docs/modules/BooleanAlgebra.ts.md @@ -4,7 +4,7 @@ nav_order: 8 parent: Modules --- -# Overview +# BooleanAlgebra overview Boolean algebras are Heyting algebras with the additional constraint that the law of the excluded middle is true (equivalently, double-negation is true). @@ -15,6 +15,8 @@ Instances should satisfy the following laws in addition to the `HeytingAlgebra` Boolean algebras generalize classical logic: one is equivalent to "true" and zero is equivalent to "false". +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Bounded.ts.md b/docs/modules/Bounded.ts.md index 9db4bf9b3..3897f58f7 100644 --- a/docs/modules/Bounded.ts.md +++ b/docs/modules/Bounded.ts.md @@ -4,7 +4,7 @@ nav_order: 9 parent: Modules --- -# Overview +# Bounded overview The `Bounded` type class represents totally ordered types that have an upper and lower boundary. @@ -12,6 +12,8 @@ Instances should satisfy the following law in addition to the `Ord` laws: - Bounded: `bottom <= a <= top` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/BoundedDistributiveLattice.ts.md b/docs/modules/BoundedDistributiveLattice.ts.md index 640b66177..55950f10b 100644 --- a/docs/modules/BoundedDistributiveLattice.ts.md +++ b/docs/modules/BoundedDistributiveLattice.ts.md @@ -4,10 +4,12 @@ nav_order: 10 parent: Modules --- -# Overview +# BoundedDistributiveLattice overview A `BoundedDistributiveLattice` is a lattice that is both bounded and distributive +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/BoundedJoinSemilattice.ts.md b/docs/modules/BoundedJoinSemilattice.ts.md index ab325ae13..7fe0c8896 100644 --- a/docs/modules/BoundedJoinSemilattice.ts.md +++ b/docs/modules/BoundedJoinSemilattice.ts.md @@ -4,12 +4,14 @@ nav_order: 11 parent: Modules --- -# Overview +# BoundedJoinSemilattice overview A `BoundedJoinSemilattice` must satisfy the following laws in addition to `JoinSemilattice` laws: - `a ∨ 0 == a` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/BoundedLattice.ts.md b/docs/modules/BoundedLattice.ts.md index 219b09bc5..99cf0a6fb 100644 --- a/docs/modules/BoundedLattice.ts.md +++ b/docs/modules/BoundedLattice.ts.md @@ -4,13 +4,15 @@ nav_order: 12 parent: Modules --- -# Overview +# BoundedLattice overview A `BoundedLattice` must satisfy the following in addition to `BoundedMeetSemilattice` and `BoundedJoinSemilattice` laws: - Absorption law for meet: `a ∧ (a ∨ b) == a` - Absorption law for join: `a ∨ (a ∧ b) == a` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/BoundedMeetSemilattice.ts.md b/docs/modules/BoundedMeetSemilattice.ts.md index e6746fbed..fddbfe118 100644 --- a/docs/modules/BoundedMeetSemilattice.ts.md +++ b/docs/modules/BoundedMeetSemilattice.ts.md @@ -4,12 +4,14 @@ nav_order: 13 parent: Modules --- -# Overview +# BoundedMeetSemilattice overview A `BoundedMeetSemilattice` must satisfy the following laws in addition to `MeetSemilattice` laws: - `a ∧ 1 = a` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Category.ts.md b/docs/modules/Category.ts.md index 116dbca65..f4b011428 100644 --- a/docs/modules/Category.ts.md +++ b/docs/modules/Category.ts.md @@ -4,6 +4,10 @@ nav_order: 14 parent: Modules --- +# Category overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Chain.ts.md b/docs/modules/Chain.ts.md index d3d2dd7d1..99c1984e8 100644 --- a/docs/modules/Chain.ts.md +++ b/docs/modules/Chain.ts.md @@ -4,7 +4,7 @@ nav_order: 15 parent: Modules --- -# Overview +# Chain overview The `Chain` type class extends the `Apply` type class with a `chain` operation which composes computations in sequence, using the return value of one computation to determine the next computation. @@ -15,6 +15,8 @@ Instances must satisfy the following law in addition to the `Apply` laws: Note. `Apply`'s `ap` can be derived: `(fab, fa) => F.chain(fab, f => F.map(f, fa))` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/ChainRec.ts.md b/docs/modules/ChainRec.ts.md index 5967c84d0..8f6ea8d9a 100644 --- a/docs/modules/ChainRec.ts.md +++ b/docs/modules/ChainRec.ts.md @@ -4,6 +4,10 @@ nav_order: 16 parent: Modules --- +# ChainRec overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Choice.ts.md b/docs/modules/Choice.ts.md index f4e70e3c3..57889bb64 100644 --- a/docs/modules/Choice.ts.md +++ b/docs/modules/Choice.ts.md @@ -4,7 +4,7 @@ nav_order: 17 parent: Modules --- -# Overview +# Choice overview The `Choice` class extends `Profunctor` with combinators for working with sum types. @@ -33,6 +33,8 @@ left side of an `Either`, and `right` maps it over the right side (same as `map` Adapted from https://github.com/purescript/purescript-profunctor/blob/master/src/Data/Profunctor/Choice.purs +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Comonad.ts.md b/docs/modules/Comonad.ts.md index 678495cc9..56719db2e 100644 --- a/docs/modules/Comonad.ts.md +++ b/docs/modules/Comonad.ts.md @@ -4,6 +4,10 @@ nav_order: 18 parent: Modules --- +# Comonad overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Compactable.ts.md b/docs/modules/Compactable.ts.md index baf5f0da5..8eedeaad2 100644 --- a/docs/modules/Compactable.ts.md +++ b/docs/modules/Compactable.ts.md @@ -4,7 +4,7 @@ nav_order: 19 parent: Modules --- -# Overview +# Compactable overview `Compactable` represents data structures which can be _compacted_/_filtered_. This is a generalization of `catOptions` as a new function `compact`. `compact` has relations with `Functor`, `Applicative`, @@ -14,6 +14,8 @@ values, or failure. Adapted from https://github.com/LiamGoodacre/purescript-filterable/blob/master/src/Data/Compactable.purs +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Console.ts.md b/docs/modules/Console.ts.md index 6f960b01c..af843c4a9 100644 --- a/docs/modules/Console.ts.md +++ b/docs/modules/Console.ts.md @@ -4,10 +4,12 @@ nav_order: 20 parent: Modules --- -# Overview +# Console overview Adapted from https://github.com/purescript/purescript-console +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Const.ts.md b/docs/modules/Const.ts.md index e08a9151e..ac0d96c78 100644 --- a/docs/modules/Const.ts.md +++ b/docs/modules/Const.ts.md @@ -4,6 +4,10 @@ nav_order: 21 parent: Modules --- +# Const overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Contravariant.ts.md b/docs/modules/Contravariant.ts.md index 64e1d0614..3b404d5bd 100644 --- a/docs/modules/Contravariant.ts.md +++ b/docs/modules/Contravariant.ts.md @@ -4,6 +4,10 @@ nav_order: 22 parent: Modules --- +# Contravariant overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Date.ts.md b/docs/modules/Date.ts.md index 49b94162e..d80db50d8 100644 --- a/docs/modules/Date.ts.md +++ b/docs/modules/Date.ts.md @@ -4,6 +4,10 @@ nav_order: 23 parent: Modules --- +# Date overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/DistributiveLattice.ts.md b/docs/modules/DistributiveLattice.ts.md index 04ef66595..32912afe0 100644 --- a/docs/modules/DistributiveLattice.ts.md +++ b/docs/modules/DistributiveLattice.ts.md @@ -4,13 +4,15 @@ nav_order: 24 parent: Modules --- -# Overview +# DistributiveLattice overview A `DistributiveLattice` must satisfy the following laws in addition to `Lattice` laws: - Distributivity for meet: `a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)` - Distributivity for join: `a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Either.ts.md b/docs/modules/Either.ts.md index 5b73ccb86..b16472284 100644 --- a/docs/modules/Either.ts.md +++ b/docs/modules/Either.ts.md @@ -4,7 +4,7 @@ nav_order: 25 parent: Modules --- -# Overview +# Either overview Represents a value of one of two possible types (a disjoint union). @@ -33,6 +33,8 @@ either.map(right(12), double) // right(24) either.map(left(23), double) // left(23) ``` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/EitherT.ts.md b/docs/modules/EitherT.ts.md index c0610ab7a..b99bdaea2 100644 --- a/docs/modules/EitherT.ts.md +++ b/docs/modules/EitherT.ts.md @@ -4,6 +4,10 @@ nav_order: 26 parent: Modules --- +# EitherT overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Eq.ts.md b/docs/modules/Eq.ts.md index cb2e2500e..8f7556967 100644 --- a/docs/modules/Eq.ts.md +++ b/docs/modules/Eq.ts.md @@ -4,6 +4,20 @@ nav_order: 27 parent: Modules --- +# Eq overview + +The `Eq` type class represents types which support decidable equality. + +Instances must satisfy the following laws: + +1. Reflexivity: `E.equals(a, a) === true` +2. Symmetry: `E.equals(a, b) === E.equals(b, a)` +3. Transitivity: if `E.equals(a, b) === true` and `E.equals(b, c) === true`, then `E.equals(a, c) === true` + +See [Getting started with fp-ts: Eq](https://dev.to/gcanti/getting-started-with-fp-ts-eq-39f3) + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Extend.ts.md b/docs/modules/Extend.ts.md index 946bfcb5b..45d5e4fb9 100644 --- a/docs/modules/Extend.ts.md +++ b/docs/modules/Extend.ts.md @@ -4,6 +4,10 @@ nav_order: 28 parent: Modules --- +# Extend overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Field.ts.md b/docs/modules/Field.ts.md index 0abe8d0f5..f11b8ae76 100644 --- a/docs/modules/Field.ts.md +++ b/docs/modules/Field.ts.md @@ -4,10 +4,12 @@ nav_order: 29 parent: Modules --- -# Overview +# Field overview Adapted from https://github.com/purescript/purescript-prelude/blob/master/src/Data/Field.purs +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Filterable.ts.md b/docs/modules/Filterable.ts.md index 5b323d31d..3ce698aad 100644 --- a/docs/modules/Filterable.ts.md +++ b/docs/modules/Filterable.ts.md @@ -4,12 +4,14 @@ nav_order: 30 parent: Modules --- -# Overview +# Filterable overview `Filterable` represents data structures which can be _partitioned_/_filtered_. Adapted from https://github.com/LiamGoodacre/purescript-filterable/blob/master/src/Data/Filterable.purs +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/FilterableWithIndex.ts.md b/docs/modules/FilterableWithIndex.ts.md index 555c57a05..ef68d7d7a 100644 --- a/docs/modules/FilterableWithIndex.ts.md +++ b/docs/modules/FilterableWithIndex.ts.md @@ -4,6 +4,10 @@ nav_order: 31 parent: Modules --- +# FilterableWithIndex overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Foldable.ts.md b/docs/modules/Foldable.ts.md index f0d04b3de..e5ec0ef02 100644 --- a/docs/modules/Foldable.ts.md +++ b/docs/modules/Foldable.ts.md @@ -4,6 +4,10 @@ nav_order: 32 parent: Modules --- +# Foldable overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/FoldableWithIndex.ts.md b/docs/modules/FoldableWithIndex.ts.md index 9532c25e0..30c32646a 100644 --- a/docs/modules/FoldableWithIndex.ts.md +++ b/docs/modules/FoldableWithIndex.ts.md @@ -4,7 +4,7 @@ nav_order: 33 parent: Modules --- -# Overview +# FoldableWithIndex overview A `Foldable` with an additional index. A `FoldableWithIndex` instance must be compatible with its `Foldable` instance @@ -15,6 +15,8 @@ foldMap(M)(fa, f) = foldMapWithIndex(M)(fa, (_, a) => f(a)) reduceRight(fa, b, f) = reduceRightWithIndex(fa, b, (_, a, b) => f(a, b)) ``` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Functor.ts.md b/docs/modules/Functor.ts.md index f90725de3..221c3d84a 100644 --- a/docs/modules/Functor.ts.md +++ b/docs/modules/Functor.ts.md @@ -4,7 +4,7 @@ nav_order: 35 parent: Modules --- -# Overview +# Functor overview A `Functor` is a type constructor which supports a mapping operation `map`. @@ -16,6 +16,8 @@ Instances must satisfy the following laws: 1. Identity: `F.map(fa, a => a) = fa` 2. Composition: `F.map(fa, a => bc(ab(a))) = F.map(F.map(fa, ab), bc)` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/FunctorWithIndex.ts.md b/docs/modules/FunctorWithIndex.ts.md index bfe551036..0c6324c46 100644 --- a/docs/modules/FunctorWithIndex.ts.md +++ b/docs/modules/FunctorWithIndex.ts.md @@ -4,7 +4,7 @@ nav_order: 36 parent: Modules --- -# Overview +# FunctorWithIndex overview A `FunctorWithIndex` is a type constructor which supports a mapping operation `mapWithIndex`. @@ -16,6 +16,8 @@ Instances must satisfy the following laws: 1. Identity: `F.mapWithIndex(fa, (_i, a) => a) = fa` 2. Composition: `F.mapWithIndex(fa, (_i, a) => bc(ab(a))) = F.mapWithIndex(F.mapWithIndex(fa, ab), bc)` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Group.ts.md b/docs/modules/Group.ts.md index 7201245b7..b37a6829b 100644 --- a/docs/modules/Group.ts.md +++ b/docs/modules/Group.ts.md @@ -4,12 +4,14 @@ nav_order: 37 parent: Modules --- -# Overview +# Group overview A `Group` is a `Monoid` with inverses. Instances must satisfy the following law in addition to the monoid laws: - Inverse: `concat(inverse(a), a) = empty = concat(a, inverse(a))` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/HKT.ts.md b/docs/modules/HKT.ts.md index f71a81ef0..a93a0c1fc 100644 --- a/docs/modules/HKT.ts.md +++ b/docs/modules/HKT.ts.md @@ -4,10 +4,12 @@ nav_order: 39 parent: Modules --- -# Overview +# HKT overview Type defunctionalization (as describe in [Lightweight higher-kinded polymorphism](https://www.cl.cam.ac.uk/~jdy22/papers/lightweight-higher-kinded-polymorphism.pdf)) +Added in v2.0.0 + ---

Table of contents

@@ -33,6 +35,8 @@ Type defunctionalization (as describe in [Lightweight higher-kinded polymorphism # HKT (interface) +`* -> *` constructors + **Signature** ```ts diff --git a/docs/modules/HeytingAlgebra.ts.md b/docs/modules/HeytingAlgebra.ts.md index 1c8a796aa..ddffacd42 100644 --- a/docs/modules/HeytingAlgebra.ts.md +++ b/docs/modules/HeytingAlgebra.ts.md @@ -4,7 +4,7 @@ nav_order: 38 parent: Modules --- -# Overview +# HeytingAlgebra overview Heyting algebras are bounded (distributive) lattices that are also equipped with an additional binary operation `implies` (also written as `→`). Heyting algebras also define a complement operation `not` (sometimes written as @@ -26,6 +26,8 @@ A `HeytingAlgebra` must satisfy the following laws in addition to `BoundedDistri - Complemented - `¬a = a → 0` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/IO.ts.md b/docs/modules/IO.ts.md index 5e5de62f8..b6ee50093 100644 --- a/docs/modules/IO.ts.md +++ b/docs/modules/IO.ts.md @@ -4,7 +4,7 @@ nav_order: 43 parent: Modules --- -# Overview +# IO overview `IO` represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `A` and **never fails**. If you want to represent a synchronous computation that may fail, please see @@ -96,6 +96,8 @@ const computation: IO = sequenceS(io)(computations) computation() // returns { name: 'Aristotle', age: 60 } ``` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/IOEither.ts.md b/docs/modules/IOEither.ts.md index dd5266fc4..88d09a77b 100644 --- a/docs/modules/IOEither.ts.md +++ b/docs/modules/IOEither.ts.md @@ -4,11 +4,13 @@ nav_order: 44 parent: Modules --- -# Overview +# IOEither overview `IOEither` represents a synchronous computation that either yields a value of type `A` or fails yielding an error of type `E`. If you want to represent a synchronous computation that never fails, please see `IO`. +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/IORef.ts.md b/docs/modules/IORef.ts.md index bc45d6a41..bd7d70b3a 100644 --- a/docs/modules/IORef.ts.md +++ b/docs/modules/IORef.ts.md @@ -4,10 +4,12 @@ nav_order: 45 parent: Modules --- -# Overview +# IORef overview Mutable references in the `IO` monad +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Identity.ts.md b/docs/modules/Identity.ts.md index f4efbd9f0..f99e92f25 100644 --- a/docs/modules/Identity.ts.md +++ b/docs/modules/Identity.ts.md @@ -4,6 +4,10 @@ nav_order: 40 parent: Modules --- +# Identity overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Invariant.ts.md b/docs/modules/Invariant.ts.md index 3db08999e..adcbe0cae 100644 --- a/docs/modules/Invariant.ts.md +++ b/docs/modules/Invariant.ts.md @@ -4,6 +4,10 @@ nav_order: 42 parent: Modules --- +# Invariant overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/JoinSemilattice.ts.md b/docs/modules/JoinSemilattice.ts.md index 324411dff..e41794fcc 100644 --- a/docs/modules/JoinSemilattice.ts.md +++ b/docs/modules/JoinSemilattice.ts.md @@ -4,7 +4,7 @@ nav_order: 46 parent: Modules --- -# Overview +# JoinSemilattice overview A join-semilattice (or upper semilattice) is a semilattice whose operation is called `join`, and which can be thought of as a least upper bound. @@ -15,6 +15,8 @@ A `JoinSemilattice` must satisfy the following laws: - Commutativity: `a ∨ b = b ∨ a` - Idempotency: `a ∨ a = a` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Lattice.ts.md b/docs/modules/Lattice.ts.md index 631d2bc97..8867ccc4c 100644 --- a/docs/modules/Lattice.ts.md +++ b/docs/modules/Lattice.ts.md @@ -4,13 +4,15 @@ nav_order: 47 parent: Modules --- -# Overview +# Lattice overview A `Lattice` must satisfy the following in addition to `JoinSemilattice` and `MeetSemilattice` laws: - Absorbtion law for meet: `a ∧ (a ∨ b) == a` - Absorbtion law for join: `a ∨ (a ∧ b) == a` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Magma.ts.md b/docs/modules/Magma.ts.md index 029193605..5dcfa87d9 100644 --- a/docs/modules/Magma.ts.md +++ b/docs/modules/Magma.ts.md @@ -4,6 +4,12 @@ nav_order: 48 parent: Modules --- +# Magma overview + +A `Magma` is a pair `(A, concat)` in which `A` is a non-empty set and `concat` is a binary operation on `A` + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Map.ts.md b/docs/modules/Map.ts.md index b81430e5e..77020c315 100644 --- a/docs/modules/Map.ts.md +++ b/docs/modules/Map.ts.md @@ -4,6 +4,10 @@ nav_order: 49 parent: Modules --- +# Map overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/MeetSemilattice.ts.md b/docs/modules/MeetSemilattice.ts.md index 731ccfbf7..2b7bb3bdf 100644 --- a/docs/modules/MeetSemilattice.ts.md +++ b/docs/modules/MeetSemilattice.ts.md @@ -4,7 +4,7 @@ nav_order: 50 parent: Modules --- -# Overview +# MeetSemilattice overview A meet-semilattice (or lower semilattice) is a semilattice whose operation is called `meet`, and which can be thought of as a greatest lower bound. @@ -15,6 +15,8 @@ A `MeetSemilattice` must satisfy the following laws: - Commutativity: `a ∧ b = b ∧ a` - Idempotency: `a ∧ a = a` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Monad.ts.md b/docs/modules/Monad.ts.md index d7f98eb9e..ea0be0929 100644 --- a/docs/modules/Monad.ts.md +++ b/docs/modules/Monad.ts.md @@ -4,7 +4,7 @@ nav_order: 51 parent: Modules --- -# Overview +# Monad overview The `Monad` type class combines the operations of the `Chain` and `Applicative` type classes. Therefore, `Monad` instances represent type @@ -18,6 +18,8 @@ Instances must satisfy the following laws in addition to the `Applicative` and ` Note. `Functor`'s `map` can be derived: `A.map = (fa, f) => A.chain(fa, a => A.of(f(a)))` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/MonadIO.ts.md b/docs/modules/MonadIO.ts.md index d0d004b52..4b79f63ff 100644 --- a/docs/modules/MonadIO.ts.md +++ b/docs/modules/MonadIO.ts.md @@ -4,10 +4,12 @@ nav_order: 52 parent: Modules --- -# Overview +# MonadIO overview Lift a computation from the `IO` monad +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/MonadTask.ts.md b/docs/modules/MonadTask.ts.md index 7e8cb9558..b26516380 100644 --- a/docs/modules/MonadTask.ts.md +++ b/docs/modules/MonadTask.ts.md @@ -4,10 +4,12 @@ nav_order: 53 parent: Modules --- -# Overview +# MonadTask overview Lift a computation from the `Task` monad +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/MonadThrow.ts.md b/docs/modules/MonadThrow.ts.md index 5bd4183a5..0769380fb 100644 --- a/docs/modules/MonadThrow.ts.md +++ b/docs/modules/MonadThrow.ts.md @@ -4,7 +4,7 @@ nav_order: 54 parent: Modules --- -# Overview +# MonadThrow overview The `MonadThrow` type class represents those monads which support errors via `throwError`, where `throwError(e)` halts, yielding the error `e`. @@ -13,6 +13,8 @@ Laws: - Left zero: `M.chain(M.throwError(e), f) = M.throwError(e)` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Monoid.ts.md b/docs/modules/Monoid.ts.md index fcdb911ed..3e8611c8e 100644 --- a/docs/modules/Monoid.ts.md +++ b/docs/modules/Monoid.ts.md @@ -4,6 +4,10 @@ nav_order: 55 parent: Modules --- +# Monoid overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/NonEmptyArray.ts.md b/docs/modules/NonEmptyArray.ts.md index 65c5192c5..49575a55b 100644 --- a/docs/modules/NonEmptyArray.ts.md +++ b/docs/modules/NonEmptyArray.ts.md @@ -4,10 +4,12 @@ nav_order: 56 parent: Modules --- -# Overview +# NonEmptyArray overview Data structure which represents non-empty arrays +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Option.ts.md b/docs/modules/Option.ts.md index 99ac4a85c..025ea0f5c 100644 --- a/docs/modules/Option.ts.md +++ b/docs/modules/Option.ts.md @@ -4,7 +4,7 @@ nav_order: 57 parent: Modules --- -# Overview +# Option overview If you have worked with JavaScript at all in the past, it is very likely that you have come across a `TypeError` at some time (other languages will throw similarly named errors in such a case). Usually this happens because some @@ -26,6 +26,8 @@ instance of `None`. An option could be looked at as a collection or foldable structure with either one or zero elements. Another way to look at option is: it represents the effect of a possibly failing computation. +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/OptionT.ts.md b/docs/modules/OptionT.ts.md index 9d0442ac7..f089be210 100644 --- a/docs/modules/OptionT.ts.md +++ b/docs/modules/OptionT.ts.md @@ -4,6 +4,10 @@ nav_order: 58 parent: Modules --- +# OptionT overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Ord.ts.md b/docs/modules/Ord.ts.md index 2cd838084..897fd311a 100644 --- a/docs/modules/Ord.ts.md +++ b/docs/modules/Ord.ts.md @@ -4,7 +4,7 @@ nav_order: 59 parent: Modules --- -# Overview +# Ord overview The `Ord` type class represents types which support comparisons with a _total order_. @@ -16,6 +16,8 @@ Instances should satisfy the laws of total orderings: See [Getting started with fp-ts: Ord](https://dev.to/gcanti/getting-started-with-fp-ts-ord-5f1e) +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Ordering.ts.md b/docs/modules/Ordering.ts.md index 89cd65815..42081044d 100644 --- a/docs/modules/Ordering.ts.md +++ b/docs/modules/Ordering.ts.md @@ -4,6 +4,10 @@ nav_order: 60 parent: Modules --- +# Ordering overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Profunctor.ts.md b/docs/modules/Profunctor.ts.md index cc623003d..3a23302e4 100644 --- a/docs/modules/Profunctor.ts.md +++ b/docs/modules/Profunctor.ts.md @@ -4,6 +4,10 @@ nav_order: 62 parent: Modules --- +# Profunctor overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Random.ts.md b/docs/modules/Random.ts.md index ff201d6b2..96cf0c2cd 100644 --- a/docs/modules/Random.ts.md +++ b/docs/modules/Random.ts.md @@ -4,10 +4,12 @@ nav_order: 63 parent: Modules --- -# Overview +# Random overview Adapted from https://github.com/purescript/purescript-random +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Reader.ts.md b/docs/modules/Reader.ts.md index b32ed7af0..c94453fe7 100644 --- a/docs/modules/Reader.ts.md +++ b/docs/modules/Reader.ts.md @@ -4,6 +4,10 @@ nav_order: 64 parent: Modules --- +# Reader overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/ReaderEither.ts.md b/docs/modules/ReaderEither.ts.md index 8aa3d4b86..ac53dd723 100644 --- a/docs/modules/ReaderEither.ts.md +++ b/docs/modules/ReaderEither.ts.md @@ -4,6 +4,10 @@ nav_order: 65 parent: Modules --- +# ReaderEither overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/ReaderT.ts.md b/docs/modules/ReaderT.ts.md index 2ec4fe539..2e8fd34d1 100644 --- a/docs/modules/ReaderT.ts.md +++ b/docs/modules/ReaderT.ts.md @@ -4,6 +4,10 @@ nav_order: 66 parent: Modules --- +# ReaderT overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/ReaderTask.ts.md b/docs/modules/ReaderTask.ts.md index de6bdbe8c..3cf8e410f 100644 --- a/docs/modules/ReaderTask.ts.md +++ b/docs/modules/ReaderTask.ts.md @@ -4,6 +4,10 @@ nav_order: 67 parent: Modules --- +# ReaderTask overview + +Added in v2.3.0 + ---

Table of contents

diff --git a/docs/modules/ReaderTaskEither.ts.md b/docs/modules/ReaderTaskEither.ts.md index 4bd27c80d..4dfd06596 100644 --- a/docs/modules/ReaderTaskEither.ts.md +++ b/docs/modules/ReaderTaskEither.ts.md @@ -4,6 +4,10 @@ nav_order: 68 parent: Modules --- +# ReaderTaskEither overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Record.ts.md b/docs/modules/Record.ts.md index 7e143c8da..b1299d2f0 100644 --- a/docs/modules/Record.ts.md +++ b/docs/modules/Record.ts.md @@ -4,6 +4,10 @@ nav_order: 69 parent: Modules --- +# Record overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Ring.ts.md b/docs/modules/Ring.ts.md index f400080f4..1e58793fb 100644 --- a/docs/modules/Ring.ts.md +++ b/docs/modules/Ring.ts.md @@ -4,7 +4,7 @@ nav_order: 70 parent: Modules --- -# Overview +# Ring overview The `Ring` class is for types that support addition, multiplication, and subtraction operations. @@ -14,6 +14,8 @@ Instances must satisfy the following law in addition to the `Semiring` laws: Adapted from https://github.com/purescript/purescript-prelude/blob/master/src/Data/Ring.purs +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Semigroup.ts.md b/docs/modules/Semigroup.ts.md index a3d289357..e2b6310f2 100644 --- a/docs/modules/Semigroup.ts.md +++ b/docs/modules/Semigroup.ts.md @@ -4,10 +4,12 @@ nav_order: 71 parent: Modules --- -# Overview +# Semigroup overview See [Getting started with fp-ts: Semigroup](https://dev.to/gcanti/getting-started-with-fp-ts-semigroup-2mf7) +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Semigroupoid.ts.md b/docs/modules/Semigroupoid.ts.md index 822fe737c..4c6a9f24d 100644 --- a/docs/modules/Semigroupoid.ts.md +++ b/docs/modules/Semigroupoid.ts.md @@ -4,6 +4,10 @@ nav_order: 72 parent: Modules --- +# Semigroupoid overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Semiring.ts.md b/docs/modules/Semiring.ts.md index 9f5726493..10fdc41e3 100644 --- a/docs/modules/Semiring.ts.md +++ b/docs/modules/Semiring.ts.md @@ -4,7 +4,7 @@ nav_order: 73 parent: Modules --- -# Overview +# Semiring overview The `Semiring` class is for types that support an addition and multiplication operation. @@ -26,6 +26,8 @@ Instances must satisfy the following laws: for arithmetic overflows, and the presence of `NaN` and `Infinity` values. The behaviour is unspecified in these cases. +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Set.ts.md b/docs/modules/Set.ts.md index aab84ff9c..74fe027dc 100644 --- a/docs/modules/Set.ts.md +++ b/docs/modules/Set.ts.md @@ -4,6 +4,10 @@ nav_order: 74 parent: Modules --- +# Set overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Show.ts.md b/docs/modules/Show.ts.md index 03364ab7d..05499338b 100644 --- a/docs/modules/Show.ts.md +++ b/docs/modules/Show.ts.md @@ -4,6 +4,17 @@ nav_order: 75 parent: Modules --- +# Show overview + +The `Show` type class represents those types which can be converted into +a human-readable `string` representation. + +While not required, it is recommended that for any expression `x`, the +string `show x` be executable TypeScript code which evaluates to the same +value as the expression `x`. + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/State.ts.md b/docs/modules/State.ts.md index bb91f2ab8..08ccbe109 100644 --- a/docs/modules/State.ts.md +++ b/docs/modules/State.ts.md @@ -4,13 +4,15 @@ nav_order: 76 parent: Modules --- -# Overview +# State overview The `State` monad is a synonym for the `StateT` monad transformer, applied to the `Identity` monad. For a good introduction to the state monad, see the following blog post by [@pfgray](https://github.com/pfgray): [The State monad](https://paulgray.net/the-state-monad/) +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/StateReaderTaskEither.ts.md b/docs/modules/StateReaderTaskEither.ts.md index 5fb6219e3..e817f1663 100644 --- a/docs/modules/StateReaderTaskEither.ts.md +++ b/docs/modules/StateReaderTaskEither.ts.md @@ -4,6 +4,10 @@ nav_order: 77 parent: Modules --- +# StateReaderTaskEither overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/StateT.ts.md b/docs/modules/StateT.ts.md index 412fa358c..2f3e6a3a4 100644 --- a/docs/modules/StateT.ts.md +++ b/docs/modules/StateT.ts.md @@ -4,6 +4,10 @@ nav_order: 78 parent: Modules --- +# StateT overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Store.ts.md b/docs/modules/Store.ts.md index cfdacc4b3..a690d4a1b 100644 --- a/docs/modules/Store.ts.md +++ b/docs/modules/Store.ts.md @@ -4,6 +4,10 @@ nav_order: 79 parent: Modules --- +# Store overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Strong.ts.md b/docs/modules/Strong.ts.md index 36f8b816c..06b7113d1 100644 --- a/docs/modules/Strong.ts.md +++ b/docs/modules/Strong.ts.md @@ -4,7 +4,7 @@ nav_order: 80 parent: Modules --- -# Overview +# Strong overview The `Strong` class extends `Profunctor` with combinators for working with product types. @@ -32,6 +32,8 @@ to the first element of a tuple, and `second` applies it to the second element ( Adapted from https://github.com/purescript/purescript-profunctor/blob/master/src/Data/Profunctor/Strong.purs +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Task.ts.md b/docs/modules/Task.ts.md index 74109ddf1..8e71566c3 100644 --- a/docs/modules/Task.ts.md +++ b/docs/modules/Task.ts.md @@ -4,11 +4,13 @@ nav_order: 81 parent: Modules --- -# Overview +# Task overview `Task
` represents an asynchronous computation that yields a value of type `A` and **never fails**. If you want to represent an asynchronous computation that may fail, please see `TaskEither`. +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/TaskEither.ts.md b/docs/modules/TaskEither.ts.md index 1f94bc57e..4bdc12ba9 100644 --- a/docs/modules/TaskEither.ts.md +++ b/docs/modules/TaskEither.ts.md @@ -4,11 +4,13 @@ nav_order: 82 parent: Modules --- -# Overview +# TaskEither overview `TaskEither` represents an asynchronous computation that either yields a value of type `A` or fails yielding an error of type `E`. If you want to represent an asynchronous computation that never fails, please see `Task`. +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/These.ts.md b/docs/modules/These.ts.md index 5055fba1f..37f61717c 100644 --- a/docs/modules/These.ts.md +++ b/docs/modules/These.ts.md @@ -4,7 +4,7 @@ nav_order: 83 parent: Modules --- -# Overview +# These overview A data structure providing "inclusive-or" as opposed to `Either`'s "exclusive-or". @@ -24,6 +24,8 @@ both `E` and `A` kind of data at the same time. This is particularly useful when Adapted from https://github.com/purescript-contrib/purescript-these +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Traced.ts.md b/docs/modules/Traced.ts.md index d19b2a509..b0dd441e4 100644 --- a/docs/modules/Traced.ts.md +++ b/docs/modules/Traced.ts.md @@ -4,6 +4,10 @@ nav_order: 84 parent: Modules --- +# Traced overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Traversable.ts.md b/docs/modules/Traversable.ts.md index a72783f0c..d9eb82ca2 100644 --- a/docs/modules/Traversable.ts.md +++ b/docs/modules/Traversable.ts.md @@ -4,7 +4,7 @@ nav_order: 85 parent: Modules --- -# Overview +# Traversable overview `Traversable` represents data structures which can be _traversed_ accumulating results and effects in some `Applicative` functor. @@ -21,6 +21,8 @@ parent: Modules (F: Applicative) =>
(ta: HKT>) => HKT> ``` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/TraversableWithIndex.ts.md b/docs/modules/TraversableWithIndex.ts.md index 04c852a7c..e1e052dc4 100644 --- a/docs/modules/TraversableWithIndex.ts.md +++ b/docs/modules/TraversableWithIndex.ts.md @@ -4,7 +4,7 @@ nav_order: 86 parent: Modules --- -# Overview +# TraversableWithIndex overview A `Traversable` with an additional index. A `TraversableWithIndex` instance must be compatible with its `Traversable` instance @@ -25,6 +25,8 @@ and with its `FunctorWithIndex` instance mapWithIndex(ta, f) = traverseWithIndex(identity)(ta, (i, a) => new Identity(f(i, a))).value ``` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Tree.ts.md b/docs/modules/Tree.ts.md index ffd657151..afcf8e176 100644 --- a/docs/modules/Tree.ts.md +++ b/docs/modules/Tree.ts.md @@ -4,7 +4,7 @@ nav_order: 87 parent: Modules --- -# Overview +# Tree overview Multi-way trees (aka rose trees) and forests, where a forest is @@ -12,6 +12,8 @@ Multi-way trees (aka rose trees) and forests, where a forest is type Forest
= Array> ``` +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Tuple.ts.md b/docs/modules/Tuple.ts.md index 1bf77988a..5998b6564 100644 --- a/docs/modules/Tuple.ts.md +++ b/docs/modules/Tuple.ts.md @@ -4,10 +4,12 @@ nav_order: 88 parent: Modules --- -# Overview +# Tuple overview Adapted from https://github.com/purescript/purescript-tuples +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Unfoldable.ts.md b/docs/modules/Unfoldable.ts.md index a2e33f33a..eccb28bd8 100644 --- a/docs/modules/Unfoldable.ts.md +++ b/docs/modules/Unfoldable.ts.md @@ -4,10 +4,12 @@ nav_order: 89 parent: Modules --- -# Overview +# Unfoldable overview This class identifies data structures which can be _unfolded_, generalizing `unfold` on arrays. +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/ValidationT.ts.md b/docs/modules/ValidationT.ts.md index 1fa5f0cb4..18d6566ff 100644 --- a/docs/modules/ValidationT.ts.md +++ b/docs/modules/ValidationT.ts.md @@ -4,6 +4,10 @@ nav_order: 90 parent: Modules --- +# ValidationT overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Witherable.ts.md b/docs/modules/Witherable.ts.md index ca50e78ad..232cc28be 100644 --- a/docs/modules/Witherable.ts.md +++ b/docs/modules/Witherable.ts.md @@ -4,6 +4,26 @@ nav_order: 91 parent: Modules --- +# Witherable overview + +`Witherable` represents data structures which can be _partitioned_ with effects in some `Applicative` functor. + +`wilt` signature (see `Compactable` `Separated`): + +```ts +(F: Applicative) => (wa: HKT, f: (a: A) => HKT>) => HKT, HKT>> +``` + +`wither` signature: + +```ts +(F: Applicative) => (ta: HKT, f: (a: A) => HKT>) => HKT> +``` + +Adapted from https://github.com/LiamGoodacre/purescript-filterable/blob/master/src/Data/Witherable.purs + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/Writer.ts.md b/docs/modules/Writer.ts.md index 9e60daca8..b509b59c7 100644 --- a/docs/modules/Writer.ts.md +++ b/docs/modules/Writer.ts.md @@ -4,6 +4,10 @@ nav_order: 92 parent: Modules --- +# Writer overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/boolean.ts.md b/docs/modules/boolean.ts.md index 159eb1876..21e361c5e 100644 --- a/docs/modules/boolean.ts.md +++ b/docs/modules/boolean.ts.md @@ -4,6 +4,10 @@ nav_order: 7 parent: Modules --- +# boolean overview + +Added in v2.2.0 + ---

Table of contents

diff --git a/docs/modules/function.ts.md b/docs/modules/function.ts.md index 177ba3e49..290c6d3bd 100644 --- a/docs/modules/function.ts.md +++ b/docs/modules/function.ts.md @@ -4,6 +4,10 @@ nav_order: 34 parent: Modules --- +# function overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/index.ts.md b/docs/modules/index.ts.md index 10b0826e3..8bc1f89f0 100644 --- a/docs/modules/index.ts.md +++ b/docs/modules/index.ts.md @@ -4,6 +4,10 @@ nav_order: 41 parent: Modules --- +# index overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/docs/modules/pipeable.ts.md b/docs/modules/pipeable.ts.md index 1c332bd97..bae3daf72 100644 --- a/docs/modules/pipeable.ts.md +++ b/docs/modules/pipeable.ts.md @@ -4,6 +4,10 @@ nav_order: 61 parent: Modules --- +# pipeable overview + +Added in v2.0.0 + ---

Table of contents

diff --git a/package-lock.json b/package-lock.json index b0ce921cc..fb24ae0ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -475,30 +475,28 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.1.tgz", - "integrity": "sha512-NT/skIZjgotDSiXs0WqYhgcuBKhUMgfekCmCGtkUAiLqZdOnrdjmZr9wRl3ll64J9NF79uZ4fk16Dx0yMc/Xbg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.1", + "@nodelib/fs.stat": "2.0.3", "run-parallel": "^1.1.9" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.1.tgz", - "integrity": "sha512-+RqhBlLn6YRBGOIoVYthsG0J9dfpO79eJyN7BYBkZJtfqrBwf2KK+rD/M/yjZR6WBmIhAgOV7S60eCgaSWtbFw==", - "dev": true - } } }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + }, "@nodelib/fs.walk": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.2.tgz", - "integrity": "sha512-J/DR3+W12uCzAJkw7niXDcqcKBg6+5G5Q/ZpThpGNzAUz70eOR6RV4XnnSN01qHZiVl0eavoxJsBypQoKsV2QQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.1", + "@nodelib/fs.scandir": "2.1.3", "fastq": "^1.6.0" } }, @@ -523,6 +521,40 @@ "unified": "^6.1.6" } }, + "@ts-morph/common": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.1.1.tgz", + "integrity": "sha512-8TLlC85CXgKNoTeqoXtrscPmKDbQCBfwZJ4hqli/QI4STa7sD2H6UqI9LSg8uBV5FYaD0QSdj/mtrCDrELvF+Q==", + "dev": true, + "requires": { + "@dsherret/to-absolute-glob": "^2.0.2", + "fs-extra": "^8.1.0", + "glob-parent": "^5.1.0", + "globby": "^10.0.1", + "is-negated-glob": "^1.0.0", + "multimatch": "^4.0.0", + "typescript": "~3.7.2" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + } + } + }, "@types/babel__core": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.2.tgz", @@ -784,18 +816,36 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true + }, "array-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -1367,6 +1417,12 @@ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, + "code-block-writer": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-10.1.0.tgz", + "integrity": "sha512-RG9hpXtWFeUWhuUav1YuP/vGcyncW+t90yJLk9fNZs1De2OuHTHKAKThVCokt29PYq5RoJ0QSZaIZ+rvPO23hA==", + "dev": true + }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -1675,10 +1731,27 @@ "integrity": "sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw==", "dev": true }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } + } + }, "docs-ts": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/docs-ts/-/docs-ts-0.2.1.tgz", - "integrity": "sha512-ewBCcx9t3VIKHTfN0e3CjL46nLSQ0BvusMvzh0fGn9tf3rEh5l9MgrTv0yoU5G/XNGEoO7MY6sJ185sz9aDVEg==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/docs-ts/-/docs-ts-0.3.0.tgz", + "integrity": "sha512-zDD2K7t5mRC5y8lgYXFht7QHUxVZUAp/WjG/3Q9sOfqn2xOS5XbxAWz4wuf2dH/hXjB4u0u22pQatHUtO7FQBQ==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -1687,9 +1760,8 @@ "fs-extra": "^7.0.1", "glob": "^7.1.3", "markdown-toc": "^1.2.0", - "prettier": "^1.16.4", "rimraf": "^2.6.3", - "ts-morph": "^3.1.2", + "ts-morph": "^5.0.0", "ts-node": "^8.0.2" }, "dependencies": { @@ -1713,15 +1785,6 @@ "supports-color": "^5.3.0" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -1740,9 +1803,9 @@ "dev": true }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" @@ -1781,6 +1844,15 @@ } } }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, "dom-serializer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", @@ -2238,6 +2310,64 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, + "fast-glob": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz", + "integrity": "sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -2329,9 +2459,9 @@ "dev": true }, "fp-ts": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.0.3.tgz", - "integrity": "sha512-b/WPo5AVPDYbdye/AGOMST/tqudtgbpMjm3TJGkd36ROihD67UEKFeUH83V3iSdrIG4wwoFsd6lLpjtpek1oVw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.2.0.tgz", + "integrity": "sha512-muJL9NOYluuoRezrvOyQvLAHIXrYg7u/Tc6cu4PP/Ed4TJKrm6BVSX8H1goT/4nhgP/yQ+Z4Xjjt4ijeKFX4Ng==", "dev": true }, "fragment-cache": { @@ -2940,9 +3070,9 @@ } }, "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -2954,6 +3084,22 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, + "globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", @@ -3188,6 +3334,12 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "dev": true + }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -3238,7 +3390,7 @@ "is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha1-OV4a6EsR8mrReV5zwXN45IowFXY=", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, "requires": { "is-relative": "^1.0.0", @@ -3443,7 +3595,7 @@ "is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha1-obtpNc6MXboei5dUubLcwCDiJg0=", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, "requires": { "is-unc-path": "^1.0.0" @@ -3473,7 +3625,7 @@ "is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, "requires": { "unc-path-regex": "^0.1.2" @@ -4589,9 +4741,9 @@ } }, "merge2": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", - "integrity": "sha1-fumdvWm7ZIFoklPwGEiKG5ArDtU=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", "dev": true }, "micromatch": { @@ -4760,6 +4912,19 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + } + }, "nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", @@ -5186,9 +5351,9 @@ "dev": true }, "picomatch": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", - "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz", + "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==", "dev": true }, "pify": { @@ -5738,6 +5903,12 @@ "integrity": "sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==", "dev": true }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -6284,187 +6455,14 @@ } }, "ts-morph": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-3.1.3.tgz", - "integrity": "sha512-CwjgyJTtd3f8vBi7Vr0IOgdOY6Wi/Tq0MhieXOE2B5ns5WWRD7BwMNHtv+ZufKI/S2U/lMrh+Q3bOauE4tsv2g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-5.0.0.tgz", + "integrity": "sha512-VP5dFnOzmlsDkSyuGczgVNtyJdYXMxFqMO2Rb0pIeni0o0Cy/nDljETBWhJs4FI4DIWv7Ftq69kgZO8p8w6LCw==", "dev": true, "requires": { "@dsherret/to-absolute-glob": "^2.0.2", - "code-block-writer": "9.4.1", - "fs-extra": "^8.1.0", - "glob-parent": "^5.0.0", - "globby": "^10.0.1", - "is-negated-glob": "^1.0.0", - "multimatch": "^4.0.0", - "typescript": "^3.0.1" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.1.tgz", - "integrity": "sha512-+RqhBlLn6YRBGOIoVYthsG0J9dfpO79eJyN7BYBkZJtfqrBwf2KK+rD/M/yjZR6WBmIhAgOV7S60eCgaSWtbFw==", - "dev": true - }, - "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "code-block-writer": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-9.4.1.tgz", - "integrity": "sha512-LHAB+DL4YZDcwK8y/kAxZ0Lf/ncwLh/Ux4cTVWbPwIdrf1gPxXiPcwpz8r8/KqXu1aD+Raz46EOxDjFlbyO6bA==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "fast-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz", - "integrity": "sha512-wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.1", - "@nodelib/fs.walk": "^1.2.1", - "glob-parent": "^5.0.0", - "is-glob": "^4.0.1", - "merge2": "^1.2.3", - "micromatch": "^4.0.2" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "globby": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", - "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", - "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", - "dev": true - }, - "ignore": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.2.tgz", - "integrity": "sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "multimatch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", - "dev": true, - "requires": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "typescript": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", - "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", - "dev": true - } + "@ts-morph/common": "~0.1.0", + "code-block-writer": "^10.0.0" } }, "ts-node": { diff --git a/package.json b/package.json index 1ab6eb2a9..1599eb748 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "@types/node": "^12.6.8", "@types/prettier": "1.10.0", "benchmark": "2.1.4", - "docs-ts": "^0.2.1", + "docs-ts": "^0.3.0", "doctoc": "^1.4.0", "dtslint": "github:gcanti/dtslint", "fast-check": "^1.12.1", diff --git a/src/Alt.ts b/src/Alt.ts index 11f918518..075fb9754 100644 --- a/src/Alt.ts +++ b/src/Alt.ts @@ -1,5 +1,5 @@ /** - * @file The `Alt` type class identifies an associative operation on a type constructor. It is similar to `Semigroup`, except + * The `Alt` type class identifies an associative operation on a type constructor. It is similar to `Semigroup`, except * that it applies to types of kind `* -> *`, like `Array` or `Option`, rather than concrete types like `string` or * `number`. * @@ -7,6 +7,8 @@ * * 1. Associativity: `A.alt(A.alt(fa, ga), ha) = A.alt(fa, A.alt(ga, ha))` * 2. Distributivity: `A.map(A.alt(fa, ga), ab) = A.alt(A.map(fa, ab), A.map(ga, ab))` + * + * @since 2.0.0 */ import { Functor, Functor1, Functor2, Functor2C, Functor3, Functor4, Functor3C } from './Functor' import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3, URIS4, Kind4 } from './HKT' diff --git a/src/Alternative.ts b/src/Alternative.ts index ba08aadbe..320d0844c 100644 --- a/src/Alternative.ts +++ b/src/Alternative.ts @@ -1,5 +1,5 @@ /** - * @file The `Alternative` type class extends the `Alt` type class with a value that should be the left and right identity for `alt`. + * The `Alternative` type class extends the `Alt` type class with a value that should be the left and right identity for `alt`. * * It is similar to `Monoid`, except that it applies to types of kind `* -> *`, like `Array` or `Option`, rather than * concrete types like `string` or `number`. @@ -11,6 +11,8 @@ * 3. Annihilation: `A.map(zero, f) == zero` * 4. Distributivity: `A.ap(A.alt(fab, gab), fa) = A.alt(A.ap(fab, fa), A.ap(gab, fa))` * 5. Annihilation: `A.ap(zero, fa) = zero` + * + * @since 2.0.0 */ import { Alt, Alt1, Alt2, Alt2C, Alt3 } from './Alt' import { Applicative, Applicative1, Applicative2, Applicative2C, Applicative3 } from './Applicative' diff --git a/src/Applicative.ts b/src/Applicative.ts index fb4ceb8a6..2dd0101aa 100644 --- a/src/Applicative.ts +++ b/src/Applicative.ts @@ -1,5 +1,5 @@ /** - * @file The `Applicative` type class extends the `Apply` type class with a `of` function, which can be used to create values + * The `Applicative` type class extends the `Apply` type class with a `of` function, which can be used to create values * of type `f a` from values of type `a`. * * Where `Apply` provides the ability to lift functions of two or more arguments to functions whose arguments are @@ -14,6 +14,8 @@ * 3. Interchange: `A.ap(fab, A.of(a)) = A.ap(A.of(ab => ab(a)), fab)` * * Note. `Functor`'s `map` can be derived: `A.map(x, f) = A.ap(A.of(f), x)` + * + * @since 2.0.0 */ import { Apply, Apply1, Apply2, Apply2C, Apply3, Apply4, Apply3C } from './Apply' import { diff --git a/src/Apply.ts b/src/Apply.ts index e7e4290c9..71e93cbf6 100644 --- a/src/Apply.ts +++ b/src/Apply.ts @@ -1,5 +1,5 @@ /** - * @file The `Apply` class provides the `ap` which is used to apply a function to an argument under a type constructor. + * The `Apply` class provides the `ap` which is used to apply a function to an argument under a type constructor. * * `Apply` can be used to lift functions of two or more arguments to work on values wrapped with the type constructor * `f`. @@ -9,6 +9,8 @@ * 1. Associative composition: `F.ap(F.ap(F.map(fbc, bc => ab => a => bc(ab(a))), fab), fa) = F.ap(fbc, F.ap(fab, fa))` * * Formally, `Apply` represents a strong lax semi-monoidal endofunctor. + * + * @since 2.0.0 */ import { Functor, Functor1, Functor2, Functor2C, Functor3, Functor4, Functor3C } from './Functor' import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT' diff --git a/src/Array.ts b/src/Array.ts index f60bf39e9..30fd1decc 100644 --- a/src/Array.ts +++ b/src/Array.ts @@ -1,5 +1,7 @@ /** - * @file Adapted from https://github.com/purescript/purescript-arrays + * Adapted from https://github.com/purescript/purescript-arrays + * + * @since 2.0.0 */ import { Alternative1 } from './Alternative' import { Applicative } from './Applicative' diff --git a/src/Bifunctor.ts b/src/Bifunctor.ts index 9f53d7dfd..01a6d64d9 100644 --- a/src/Bifunctor.ts +++ b/src/Bifunctor.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { HKT2, Kind2, Kind3, URIS2, URIS3, URIS4, Kind4 } from './HKT' /** diff --git a/src/BooleanAlgebra.ts b/src/BooleanAlgebra.ts index c66a135a5..fd44db85f 100644 --- a/src/BooleanAlgebra.ts +++ b/src/BooleanAlgebra.ts @@ -1,5 +1,5 @@ /** - * @file Boolean algebras are Heyting algebras with the additional constraint that the law of the excluded middle is true + * Boolean algebras are Heyting algebras with the additional constraint that the law of the excluded middle is true * (equivalently, double-negation is true). * * Instances should satisfy the following laws in addition to the `HeytingAlgebra` laws: @@ -7,6 +7,8 @@ * - Excluded middle: `a ∨ ¬a = 1` * * Boolean algebras generalize classical logic: one is equivalent to "true" and zero is equivalent to "false". + * + * @since 2.0.0 */ import { HeytingAlgebra } from './HeytingAlgebra' diff --git a/src/Bounded.ts b/src/Bounded.ts index 0f1b8246d..ef4d6c57b 100644 --- a/src/Bounded.ts +++ b/src/Bounded.ts @@ -1,9 +1,11 @@ /** - * @file The `Bounded` type class represents totally ordered types that have an upper and lower boundary. + * The `Bounded` type class represents totally ordered types that have an upper and lower boundary. * * Instances should satisfy the following law in addition to the `Ord` laws: * * - Bounded: `bottom <= a <= top` + * + * @since 2.0.0 */ import { Ord, ordNumber } from './Ord' diff --git a/src/BoundedDistributiveLattice.ts b/src/BoundedDistributiveLattice.ts index 15a63376e..fb8d31543 100644 --- a/src/BoundedDistributiveLattice.ts +++ b/src/BoundedDistributiveLattice.ts @@ -1,5 +1,7 @@ /** - * @file A `BoundedDistributiveLattice` is a lattice that is both bounded and distributive + * A `BoundedDistributiveLattice` is a lattice that is both bounded and distributive + * + * @since 2.0.0 */ import { BoundedLattice } from './BoundedLattice' import { DistributiveLattice, getMinMaxDistributiveLattice } from './DistributiveLattice' diff --git a/src/BoundedJoinSemilattice.ts b/src/BoundedJoinSemilattice.ts index d11b0b1e8..288197a82 100644 --- a/src/BoundedJoinSemilattice.ts +++ b/src/BoundedJoinSemilattice.ts @@ -1,7 +1,9 @@ /** - * @file A `BoundedJoinSemilattice` must satisfy the following laws in addition to `JoinSemilattice` laws: + * A `BoundedJoinSemilattice` must satisfy the following laws in addition to `JoinSemilattice` laws: * * - `a ∨ 0 == a` + * + * @since 2.0.0 */ import { JoinSemilattice } from './JoinSemilattice' diff --git a/src/BoundedLattice.ts b/src/BoundedLattice.ts index ffdfe039d..c14056691 100644 --- a/src/BoundedLattice.ts +++ b/src/BoundedLattice.ts @@ -1,8 +1,10 @@ /** - * @file A `BoundedLattice` must satisfy the following in addition to `BoundedMeetSemilattice` and `BoundedJoinSemilattice` laws: + * A `BoundedLattice` must satisfy the following in addition to `BoundedMeetSemilattice` and `BoundedJoinSemilattice` laws: * * - Absorption law for meet: `a ∧ (a ∨ b) == a` * - Absorption law for join: `a ∨ (a ∧ b) == a` + * + * @since 2.0.0 */ import { BoundedJoinSemilattice } from './BoundedJoinSemilattice' import { BoundedMeetSemilattice } from './BoundedMeetSemilattice' diff --git a/src/BoundedMeetSemilattice.ts b/src/BoundedMeetSemilattice.ts index 9effb8bc0..5624b0139 100644 --- a/src/BoundedMeetSemilattice.ts +++ b/src/BoundedMeetSemilattice.ts @@ -1,7 +1,9 @@ /** - * @file A `BoundedMeetSemilattice` must satisfy the following laws in addition to `MeetSemilattice` laws: + * A `BoundedMeetSemilattice` must satisfy the following laws in addition to `MeetSemilattice` laws: * * - `a ∧ 1 = a` + * + * @since 2.0.0 */ import { MeetSemilattice } from './MeetSemilattice' diff --git a/src/Category.ts b/src/Category.ts index 660c28435..4c229a738 100644 --- a/src/Category.ts +++ b/src/Category.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { HKT2, Kind2, Kind3, URIS2, URIS3, URIS4, Kind4 } from './HKT' import { Semigroupoid, Semigroupoid2, Semigroupoid3, Semigroupoid4 } from './Semigroupoid' diff --git a/src/Chain.ts b/src/Chain.ts index 3572db1cc..a68b935f0 100644 --- a/src/Chain.ts +++ b/src/Chain.ts @@ -1,5 +1,5 @@ /** - * @file The `Chain` type class extends the `Apply` type class with a `chain` operation which composes computations in + * The `Chain` type class extends the `Apply` type class with a `chain` operation which composes computations in * sequence, using the return value of one computation to determine the next computation. * * Instances must satisfy the following law in addition to the `Apply` laws: @@ -7,6 +7,8 @@ * 1. Associativity: `F.chain(F.chain(fa, afb), bfc) <-> F.chain(fa, a => F.chain(afb(a), bfc))` * * Note. `Apply`'s `ap` can be derived: `(fab, fa) => F.chain(fab, f => F.map(f, fa))` + * + * @since 2.0.0 */ import { Apply, Apply1, Apply2, Apply2C, Apply3, Apply4, Apply3C } from './Apply' import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT' diff --git a/src/ChainRec.ts b/src/ChainRec.ts index d38fafb66..5f0db5f1e 100644 --- a/src/ChainRec.ts +++ b/src/ChainRec.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Chain, Chain1, Chain2, Chain2C, Chain3 } from './Chain' import { Either } from './Either' import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' diff --git a/src/Choice.ts b/src/Choice.ts index fe1f71ffc..e522f6d79 100644 --- a/src/Choice.ts +++ b/src/Choice.ts @@ -1,5 +1,5 @@ /** - * @file The `Choice` class extends `Profunctor` with combinators for working with + * The `Choice` class extends `Profunctor` with combinators for working with * sum types. * * `left` and `right` lift values in a `Profunctor` to act on the `Left` and @@ -25,6 +25,8 @@ * left side of an `Either`, and `right` maps it over the right side (same as `map` would do). * * Adapted from https://github.com/purescript/purescript-profunctor/blob/master/src/Data/Profunctor/Choice.purs + * + * @since 2.0.0 */ import { Either } from './Either' import { HKT2, Kind2, Kind3, URIS2, URIS3, URIS4, Kind4 } from './HKT' diff --git a/src/Comonad.ts b/src/Comonad.ts index 0c4340570..3968dded2 100644 --- a/src/Comonad.ts +++ b/src/Comonad.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Extend, Extend1, Extend2, Extend2C, Extend3 } from './Extend' import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' diff --git a/src/Compactable.ts b/src/Compactable.ts index 97c9b1b81..767a5f8c4 100644 --- a/src/Compactable.ts +++ b/src/Compactable.ts @@ -1,11 +1,13 @@ /** - * @file `Compactable` represents data structures which can be _compacted_/_filtered_. This is a generalization of + * `Compactable` represents data structures which can be _compacted_/_filtered_. This is a generalization of * `catOptions` as a new function `compact`. `compact` has relations with `Functor`, `Applicative`, * `Monad`, `Alternative`, and `Traversable` in that we can use these classes to provide the ability to * operate on a data type by eliminating intermediate `None`s. This is useful for representing the filtering out of * values, or failure. * * Adapted from https://github.com/LiamGoodacre/purescript-filterable/blob/master/src/Data/Compactable.purs + * + * @since 2.0.0 */ import { Either } from './Either' import { diff --git a/src/Console.ts b/src/Console.ts index 613c18a92..ff065bcb1 100644 --- a/src/Console.ts +++ b/src/Console.ts @@ -1,5 +1,7 @@ /** - * @file Adapted from https://github.com/purescript/purescript-console + * Adapted from https://github.com/purescript/purescript-console + * + * @since 2.0.0 */ import { IO } from './IO' diff --git a/src/Const.ts b/src/Const.ts index 09416855e..135b51d83 100644 --- a/src/Const.ts +++ b/src/Const.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Applicative2C } from './Applicative' import { Apply2C } from './Apply' import { Contravariant2 } from './Contravariant' diff --git a/src/Contravariant.ts b/src/Contravariant.ts index df8b909f7..a906e4034 100644 --- a/src/Contravariant.ts +++ b/src/Contravariant.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3, URIS4, Kind4 } from './HKT' /** diff --git a/src/Date.ts b/src/Date.ts index d2e31f048..df302f372 100644 --- a/src/Date.ts +++ b/src/Date.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { IO } from './IO' /** diff --git a/src/DistributiveLattice.ts b/src/DistributiveLattice.ts index 61b9201c7..e8497fe58 100644 --- a/src/DistributiveLattice.ts +++ b/src/DistributiveLattice.ts @@ -1,8 +1,10 @@ /** - * @file A `DistributiveLattice` must satisfy the following laws in addition to `Lattice` laws: + * A `DistributiveLattice` must satisfy the following laws in addition to `Lattice` laws: * * - Distributivity for meet: `a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)` * - Distributivity for join: `a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)` + * + * @since 2.0.0 */ import { Lattice } from './Lattice' import { Ord, max, min } from './Ord' diff --git a/src/Either.ts b/src/Either.ts index a599360d6..6a02cd7df 100644 --- a/src/Either.ts +++ b/src/Either.ts @@ -1,5 +1,5 @@ /** - * @file Represents a value of one of two possible types (a disjoint union). + * Represents a value of one of two possible types (a disjoint union). * * An instance of `Either` is either an instance of `Left` or `Right`. * @@ -25,6 +25,8 @@ * either.map(right(12), double) // right(24) * either.map(left(23), double) // left(23) * ``` + * + * @since 2.0.0 */ import { Alt2, Alt2C } from './Alt' diff --git a/src/EitherT.ts b/src/EitherT.ts index 5de17ffc6..8bdfb20d4 100644 --- a/src/EitherT.ts +++ b/src/EitherT.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { ApplicativeComposition12, ApplicativeComposition22, diff --git a/src/Eq.ts b/src/Eq.ts index 5a58218c3..92f3e3943 100644 --- a/src/Eq.ts +++ b/src/Eq.ts @@ -1,3 +1,16 @@ +/** + * The `Eq` type class represents types which support decidable equality. + * + * Instances must satisfy the following laws: + * + * 1. Reflexivity: `E.equals(a, a) === true` + * 2. Symmetry: `E.equals(a, b) === E.equals(b, a)` + * 3. Transitivity: if `E.equals(a, b) === true` and `E.equals(b, c) === true`, then `E.equals(a, c) === true` + * + * See [Getting started with fp-ts: Eq](https://dev.to/gcanti/getting-started-with-fp-ts-eq-39f3) + * + * @since 2.0.0 + */ import { Contravariant1 } from './Contravariant' import { pipeable } from './pipeable' @@ -17,18 +30,6 @@ export const URI = 'Eq' */ export type URI = typeof URI -/** - * @file The `Eq` type class represents types which support decidable equality. - * - * Instances must satisfy the following laws: - * - * 1. Reflexivity: `E.equals(a, a) === true` - * 2. Symmetry: `E.equals(a, b) === E.equals(b, a)` - * 3. Transitivity: if `E.equals(a, b) === true` and `E.equals(b, c) === true`, then `E.equals(a, c) === true` - * - * See [Getting started with fp-ts: Eq](https://dev.to/gcanti/getting-started-with-fp-ts-eq-39f3) - */ - /** * @since 2.0.0 */ diff --git a/src/Extend.ts b/src/Extend.ts index d450c63fb..1685f42ca 100644 --- a/src/Extend.ts +++ b/src/Extend.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Functor, Functor1, Functor2, Functor2C, Functor3, Functor4, Functor3C } from './Functor' import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3, URIS4, Kind4 } from './HKT' diff --git a/src/Field.ts b/src/Field.ts index abaff8c3f..7ce74eaa6 100644 --- a/src/Field.ts +++ b/src/Field.ts @@ -1,5 +1,7 @@ /** - * @file Adapted from https://github.com/purescript/purescript-prelude/blob/master/src/Data/Field.purs + * Adapted from https://github.com/purescript/purescript-prelude/blob/master/src/Data/Field.purs + * + * @since 2.0.0 */ import { Ring } from './Ring' import { Eq } from './Eq' diff --git a/src/Filterable.ts b/src/Filterable.ts index fe8d8b2d9..8cedd2791 100644 --- a/src/Filterable.ts +++ b/src/Filterable.ts @@ -1,7 +1,9 @@ /** - * @file `Filterable` represents data structures which can be _partitioned_/_filtered_. + * `Filterable` represents data structures which can be _partitioned_/_filtered_. * * Adapted from https://github.com/LiamGoodacre/purescript-filterable/blob/master/src/Data/Filterable.purs + * + * @since 2.0.0 */ import { Compactable, diff --git a/src/FilterableWithIndex.ts b/src/FilterableWithIndex.ts index 49cddeb2f..aa8d063f8 100644 --- a/src/FilterableWithIndex.ts +++ b/src/FilterableWithIndex.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Separated } from './Compactable' import { Either } from './Either' import { diff --git a/src/Foldable.ts b/src/Foldable.ts index a27f085c5..f89e6ccf3 100644 --- a/src/Foldable.ts +++ b/src/Foldable.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Applicative, Applicative1, Applicative2, Applicative2C, Applicative3 } from './Applicative' import { constant } from './function' import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3, URIS4, Kind4 } from './HKT' diff --git a/src/FoldableWithIndex.ts b/src/FoldableWithIndex.ts index 58969d566..c4d7f716d 100644 --- a/src/FoldableWithIndex.ts +++ b/src/FoldableWithIndex.ts @@ -1,5 +1,5 @@ /** - * @file A `Foldable` with an additional index. + * A `Foldable` with an additional index. * A `FoldableWithIndex` instance must be compatible with its `Foldable` instance * * ```ts @@ -7,6 +7,8 @@ * foldMap(M)(fa, f) = foldMapWithIndex(M)(fa, (_, a) => f(a)) * reduceRight(fa, b, f) = reduceRightWithIndex(fa, b, (_, a, b) => f(a, b)) * ``` + * + * @since 2.0.0 */ import { Foldable, diff --git a/src/Functor.ts b/src/Functor.ts index 2997322e3..c7d6672b9 100644 --- a/src/Functor.ts +++ b/src/Functor.ts @@ -1,5 +1,5 @@ /** - * @file A `Functor` is a type constructor which supports a mapping operation `map`. + * A `Functor` is a type constructor which supports a mapping operation `map`. * * `map` can be used to turn functions `a -> b` into functions `f a -> f b` whose argument and return types use the type * constructor `f` to represent some computational context. @@ -8,6 +8,8 @@ * * 1. Identity: `F.map(fa, a => a) = fa` * 2. Composition: `F.map(fa, a => bc(ab(a))) = F.map(F.map(fa, ab), bc)` + * + * @since 2.0.0 */ import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT' diff --git a/src/FunctorWithIndex.ts b/src/FunctorWithIndex.ts index 44dad7142..94353d49e 100644 --- a/src/FunctorWithIndex.ts +++ b/src/FunctorWithIndex.ts @@ -1,5 +1,5 @@ /** - * @file A `FunctorWithIndex` is a type constructor which supports a mapping operation `mapWithIndex`. + * A `FunctorWithIndex` is a type constructor which supports a mapping operation `mapWithIndex`. * * `mapWithIndex` can be used to turn functions `i -> a -> b` into functions `f a -> f b` whose argument and return types use the type * constructor `f` to represent some computational context. @@ -8,6 +8,8 @@ * * 1. Identity: `F.mapWithIndex(fa, (_i, a) => a) = fa` * 2. Composition: `F.mapWithIndex(fa, (_i, a) => bc(ab(a))) = F.mapWithIndex(F.mapWithIndex(fa, ab), bc)` + * + * @since 2.0.0 */ import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT' import { diff --git a/src/Group.ts b/src/Group.ts index 5f26dd9ef..f9652010c 100644 --- a/src/Group.ts +++ b/src/Group.ts @@ -1,7 +1,9 @@ /** - * @file A `Group` is a `Monoid` with inverses. Instances must satisfy the following law in addition to the monoid laws: + * A `Group` is a `Monoid` with inverses. Instances must satisfy the following law in addition to the monoid laws: * * - Inverse: `concat(inverse(a), a) = empty = concat(a, inverse(a))` + * + * @since 2.0.0 */ import { Monoid } from './Monoid' diff --git a/src/HKT.ts b/src/HKT.ts index ef77754f8..d9ba0ec99 100644 --- a/src/HKT.ts +++ b/src/HKT.ts @@ -1,5 +1,7 @@ /** - * @file Type defunctionalization (as describe in [Lightweight higher-kinded polymorphism](https://www.cl.cam.ac.uk/~jdy22/papers/lightweight-higher-kinded-polymorphism.pdf)) + * Type defunctionalization (as describe in [Lightweight higher-kinded polymorphism](https://www.cl.cam.ac.uk/~jdy22/papers/lightweight-higher-kinded-polymorphism.pdf)) + * + * @since 2.0.0 */ /** diff --git a/src/HeytingAlgebra.ts b/src/HeytingAlgebra.ts index aa9a661c8..d7790a8ff 100644 --- a/src/HeytingAlgebra.ts +++ b/src/HeytingAlgebra.ts @@ -1,5 +1,5 @@ /** - * @file Heyting algebras are bounded (distributive) lattices that are also equipped with an additional binary operation + * Heyting algebras are bounded (distributive) lattices that are also equipped with an additional binary operation * `implies` (also written as `→`). Heyting algebras also define a complement operation `not` (sometimes written as * `¬a`) * @@ -18,6 +18,8 @@ * - `a → (b ∧ c) = (a → b) ∧ (a → c)` * - Complemented * - `¬a = a → 0` + * + * @since 2.0.0 */ import { BoundedDistributiveLattice } from './BoundedDistributiveLattice' diff --git a/src/IO.ts b/src/IO.ts index ca7a4908c..03d10e22a 100644 --- a/src/IO.ts +++ b/src/IO.ts @@ -1,5 +1,5 @@ /** - * @file `IO
` represents a non-deterministic synchronous computation that can cause side effects, yields a value of + * `IO` represents a non-deterministic synchronous computation that can cause side effects, yields a value of * type `A` and **never fails**. If you want to represent a synchronous computation that may fail, please see * `IOEither`. * @@ -88,6 +88,8 @@ * * computation() // returns { name: 'Aristotle', age: 60 } * ``` + * + * @since 2.0.0 */ import { identity } from './function' import { Monad1 } from './Monad' diff --git a/src/IOEither.ts b/src/IOEither.ts index 3add7211d..e5f378ef4 100644 --- a/src/IOEither.ts +++ b/src/IOEither.ts @@ -1,6 +1,8 @@ /** - * @file `IOEither` represents a synchronous computation that either yields a value of type `A` or fails yielding an + * `IOEither` represents a synchronous computation that either yields a value of type `A` or fails yielding an * error of type `E`. If you want to represent a synchronous computation that never fails, please see `IO`. + * + * @since 2.0.0 */ import { Alt2, Alt2C } from './Alt' import { Bifunctor2, Bifunctor2C } from './Bifunctor' diff --git a/src/IORef.ts b/src/IORef.ts index b8bbeaf5c..343f5ac7b 100644 --- a/src/IORef.ts +++ b/src/IORef.ts @@ -1,5 +1,7 @@ /** - * @file Mutable references in the `IO` monad + * Mutable references in the `IO` monad + * + * @since 2.0.0 */ import { IO } from './IO' diff --git a/src/Identity.ts b/src/Identity.ts index e35e89220..f07a21b92 100644 --- a/src/Identity.ts +++ b/src/Identity.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Alt1 } from './Alt' import { Applicative } from './Applicative' import { ChainRec1, tailRec } from './ChainRec' diff --git a/src/Invariant.ts b/src/Invariant.ts index 50de3e933..f62522c04 100644 --- a/src/Invariant.ts +++ b/src/Invariant.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { HKT, HKT2, HKT3, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' /** diff --git a/src/JoinSemilattice.ts b/src/JoinSemilattice.ts index e4808a223..6161571a8 100644 --- a/src/JoinSemilattice.ts +++ b/src/JoinSemilattice.ts @@ -1,5 +1,5 @@ /** - * @file A join-semilattice (or upper semilattice) is a semilattice whose operation is called `join`, and which can be thought + * A join-semilattice (or upper semilattice) is a semilattice whose operation is called `join`, and which can be thought * of as a least upper bound. * * A `JoinSemilattice` must satisfy the following laws: @@ -8,6 +8,7 @@ * - Commutativity: `a ∨ b = b ∨ a` * - Idempotency: `a ∨ a = a` * + * @since 2.0.0 */ /** diff --git a/src/Lattice.ts b/src/Lattice.ts index 5b91060e1..3616a70c9 100644 --- a/src/Lattice.ts +++ b/src/Lattice.ts @@ -1,8 +1,10 @@ /** - * @file A `Lattice` must satisfy the following in addition to `JoinSemilattice` and `MeetSemilattice` laws: + * A `Lattice` must satisfy the following in addition to `JoinSemilattice` and `MeetSemilattice` laws: * * - Absorbtion law for meet: `a ∧ (a ∨ b) == a` * - Absorbtion law for join: `a ∨ (a ∧ b) == a` + * + * @since 2.0.0 */ import { JoinSemilattice } from './JoinSemilattice' import { MeetSemilattice } from './MeetSemilattice' diff --git a/src/Map.ts b/src/Map.ts index acf398d25..b9e2968d1 100644 --- a/src/Map.ts +++ b/src/Map.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Applicative } from './Applicative' import { Separated } from './Compactable' import { Either, isLeft } from './Either' diff --git a/src/MeetSemilattice.ts b/src/MeetSemilattice.ts index 51b8a1e12..fb50c0f7d 100644 --- a/src/MeetSemilattice.ts +++ b/src/MeetSemilattice.ts @@ -1,5 +1,5 @@ /** - * @file A meet-semilattice (or lower semilattice) is a semilattice whose operation is called `meet`, and which can be thought + * A meet-semilattice (or lower semilattice) is a semilattice whose operation is called `meet`, and which can be thought * of as a greatest lower bound. * * A `MeetSemilattice` must satisfy the following laws: @@ -7,6 +7,8 @@ * - Associativity: `a ∧ (b ∧ c) = (a ∧ b) ∧ c` * - Commutativity: `a ∧ b = b ∧ a` * - Idempotency: `a ∧ a = a` + * + * @since 2.0.0 */ /** diff --git a/src/Monad.ts b/src/Monad.ts index 1f6ac061d..c371fdf66 100644 --- a/src/Monad.ts +++ b/src/Monad.ts @@ -1,5 +1,5 @@ /** - * @file The `Monad` type class combines the operations of the `Chain` and + * The `Monad` type class combines the operations of the `Chain` and * `Applicative` type classes. Therefore, `Monad` instances represent type * constructors which support sequential composition, and also lifting of * functions of arbitrary arity. @@ -10,6 +10,8 @@ * 2. Right identity: `M.chain(fa, M.of) = fa` * * Note. `Functor`'s `map` can be derived: `A.map = (fa, f) => A.chain(fa, a => A.of(f(a)))` + * + * @since 2.0.0 */ import { Applicative, diff --git a/src/MonadIO.ts b/src/MonadIO.ts index 3038e3fbc..63cdc65b2 100644 --- a/src/MonadIO.ts +++ b/src/MonadIO.ts @@ -1,5 +1,7 @@ /** - * @file Lift a computation from the `IO` monad + * Lift a computation from the `IO` monad + * + * @since 2.0.0 */ import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' import { IO } from './IO' diff --git a/src/MonadTask.ts b/src/MonadTask.ts index 1e32c897e..6d3cf28be 100644 --- a/src/MonadTask.ts +++ b/src/MonadTask.ts @@ -1,5 +1,7 @@ /** - * @file Lift a computation from the `Task` monad + * Lift a computation from the `Task` monad + * + * @since 2.0.0 */ import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' import { MonadIO, MonadIO1, MonadIO2, MonadIO2C, MonadIO3, MonadIO3C } from './MonadIO' diff --git a/src/MonadThrow.ts b/src/MonadThrow.ts index a282ce9cf..06665f451 100644 --- a/src/MonadThrow.ts +++ b/src/MonadThrow.ts @@ -1,10 +1,12 @@ /** - * @file The `MonadThrow` type class represents those monads which support errors via + * The `MonadThrow` type class represents those monads which support errors via * `throwError`, where `throwError(e)` halts, yielding the error `e`. * * Laws: * * - Left zero: `M.chain(M.throwError(e), f) = M.throwError(e)` + * + * @since 2.0.0 */ import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT' import { Monad, Monad1, Monad2, Monad2C, Monad3, Monad4, Monad3C } from './Monad' diff --git a/src/Monoid.ts b/src/Monoid.ts index 507ab7ac0..693f6bd22 100644 --- a/src/Monoid.ts +++ b/src/Monoid.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Bounded } from './Bounded' import { Endomorphism, identity } from './function' import { diff --git a/src/NonEmptyArray.ts b/src/NonEmptyArray.ts index 5efe6f1dd..4d2885c5d 100644 --- a/src/NonEmptyArray.ts +++ b/src/NonEmptyArray.ts @@ -1,5 +1,7 @@ /** - * @file Data structure which represents non-empty arrays + * Data structure which represents non-empty arrays + * + * @since 2.0.0 */ import { Monad1 } from './Monad' import * as A from './Array' diff --git a/src/Option.ts b/src/Option.ts index de8791194..78cf2a1de 100644 --- a/src/Option.ts +++ b/src/Option.ts @@ -1,5 +1,5 @@ /** - * @file If you have worked with JavaScript at all in the past, it is very likely that you have come across a `TypeError` at + * If you have worked with JavaScript at all in the past, it is very likely that you have come across a `TypeError` at * some time (other languages will throw similarly named errors in such a case). Usually this happens because some * function returns `null` or `undefined` when you were not expecting it and thus not dealing with that possibility in * your client code. @@ -18,6 +18,8 @@ * * An option could be looked at as a collection or foldable structure with either one or zero elements. * Another way to look at option is: it represents the effect of a possibly failing computation. + * + * @since 2.0.0 */ import { Alternative1 } from './Alternative' import { Applicative } from './Applicative' diff --git a/src/OptionT.ts b/src/OptionT.ts index 876246995..87e8ec9a8 100644 --- a/src/OptionT.ts +++ b/src/OptionT.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { ApplicativeComposition11, ApplicativeComposition21, diff --git a/src/Ord.ts b/src/Ord.ts index 3012a4af5..38ab57c7b 100644 --- a/src/Ord.ts +++ b/src/Ord.ts @@ -1,5 +1,5 @@ /** - * @file The `Ord` type class represents types which support comparisons with a _total order_. + * The `Ord` type class represents types which support comparisons with a _total order_. * * Instances should satisfy the laws of total orderings: * @@ -8,6 +8,8 @@ * 3. Transitivity: if `S.compare(a, b) <= 0` and `S.compare(b, c) <= 0` then `S.compare(a, c) <= 0` * * See [Getting started with fp-ts: Ord](https://dev.to/gcanti/getting-started-with-fp-ts-ord-5f1e) + * + * @since 2.0.0 */ import { Ordering, semigroupOrdering } from './Ordering' import { Semigroup } from './Semigroup' diff --git a/src/Ordering.ts b/src/Ordering.ts index ac23c3b86..9496a5f50 100644 --- a/src/Ordering.ts +++ b/src/Ordering.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Semigroup } from './Semigroup' import { Eq } from './Eq' diff --git a/src/Profunctor.ts b/src/Profunctor.ts index 4b54b67b9..e27d757f2 100644 --- a/src/Profunctor.ts +++ b/src/Profunctor.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Functor2, Functor2C, Functor3, Functor4, Functor3C } from './Functor' import { HKT, HKT2, Kind2, Kind3, Kind4, URIS2, URIS3, URIS4 } from './HKT' diff --git a/src/Random.ts b/src/Random.ts index d26d2742f..09294fe51 100644 --- a/src/Random.ts +++ b/src/Random.ts @@ -1,5 +1,7 @@ /** - * @file Adapted from https://github.com/purescript/purescript-random + * Adapted from https://github.com/purescript/purescript-random + * + * @since 2.0.0 */ import { IO, io } from './IO' diff --git a/src/Reader.ts b/src/Reader.ts index edf1e7f51..ce1f4554a 100644 --- a/src/Reader.ts +++ b/src/Reader.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Category2 } from './Category' import { Choice2 } from './Choice' import * as E from './Either' diff --git a/src/ReaderEither.ts b/src/ReaderEither.ts index cdaad9fee..a9a95d91e 100644 --- a/src/ReaderEither.ts +++ b/src/ReaderEither.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Alt3, Alt3C } from './Alt' import { Bifunctor3, Bifunctor3C } from './Bifunctor' import * as E from './Either' diff --git a/src/ReaderT.ts b/src/ReaderT.ts index 8f700c2f2..d0bbed263 100644 --- a/src/ReaderT.ts +++ b/src/ReaderT.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' import { Monad, Monad1, Monad2, Monad2C, Monad3 } from './Monad' import { Reader } from './Reader' diff --git a/src/ReaderTask.ts b/src/ReaderTask.ts index ec4dc0a19..9eb566201 100644 --- a/src/ReaderTask.ts +++ b/src/ReaderTask.ts @@ -1,3 +1,6 @@ +/** + * @since 2.3.0 + */ import { IO } from './IO' import { Monad2 } from './Monad' import { MonadTask2 } from './MonadTask' diff --git a/src/ReaderTaskEither.ts b/src/ReaderTaskEither.ts index ec5fb8fac..34d01a668 100644 --- a/src/ReaderTaskEither.ts +++ b/src/ReaderTaskEither.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Alt3, Alt3C } from './Alt' import { Bifunctor3, Bifunctor3C } from './Bifunctor' import { Either } from './Either' diff --git a/src/Record.ts b/src/Record.ts index 0f95ff604..e22745200 100644 --- a/src/Record.ts +++ b/src/Record.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Applicative, Applicative1, Applicative2, Applicative2C, Applicative3, Applicative3C } from './Applicative' import { Compactable1, Separated } from './Compactable' import { Either } from './Either' diff --git a/src/Ring.ts b/src/Ring.ts index a7479d08b..7394d54f3 100644 --- a/src/Ring.ts +++ b/src/Ring.ts @@ -1,11 +1,13 @@ /** - * @file The `Ring` class is for types that support addition, multiplication, and subtraction operations. + * The `Ring` class is for types that support addition, multiplication, and subtraction operations. * * Instances must satisfy the following law in addition to the `Semiring` laws: * * - Additive inverse: `a - a = (zero - a) + a = zero` * * Adapted from https://github.com/purescript/purescript-prelude/blob/master/src/Data/Ring.purs + * + * @since 2.0.0 */ import { Semiring, getFunctionSemiring } from './Semiring' diff --git a/src/Semigroup.ts b/src/Semigroup.ts index 6d541b2f6..9dd85d9ef 100644 --- a/src/Semigroup.ts +++ b/src/Semigroup.ts @@ -1,5 +1,7 @@ /** - * @file See [Getting started with fp-ts: Semigroup](https://dev.to/gcanti/getting-started-with-fp-ts-semigroup-2mf7) + * See [Getting started with fp-ts: Semigroup](https://dev.to/gcanti/getting-started-with-fp-ts-semigroup-2mf7) + * + * @since 2.0.0 */ import { Ord, max, min } from './Ord' import { identity } from './function' diff --git a/src/Semigroupoid.ts b/src/Semigroupoid.ts index 52d37409a..ba63a0185 100644 --- a/src/Semigroupoid.ts +++ b/src/Semigroupoid.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { HKT2, Kind2, Kind3, Kind4, URIS2, URIS3, URIS4 } from './HKT' /** diff --git a/src/Semiring.ts b/src/Semiring.ts index 919c2f21e..c55e7ff39 100644 --- a/src/Semiring.ts +++ b/src/Semiring.ts @@ -1,5 +1,5 @@ /** - * @file The `Semiring` class is for types that support an addition and multiplication operation. + * The `Semiring` class is for types that support an addition and multiplication operation. * * Instances must satisfy the following laws: * @@ -18,6 +18,8 @@ * **Note:** The `number` type is not fully law abiding members of this class hierarchy due to the potential * for arithmetic overflows, and the presence of `NaN` and `Infinity` values. The behaviour is * unspecified in these cases. + * + * @since 2.0.0 */ /** diff --git a/src/Set.ts b/src/Set.ts index 5edd3d202..88dc0ab83 100644 --- a/src/Set.ts +++ b/src/Set.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Either } from './Either' import { Monoid } from './Monoid' import { Ord } from './Ord' diff --git a/src/State.ts b/src/State.ts index 5872d6c73..5a769b756 100644 --- a/src/State.ts +++ b/src/State.ts @@ -1,8 +1,10 @@ /** - * @file The `State` monad is a synonym for the `StateT` monad transformer, applied to the `Identity` monad. + * The `State` monad is a synonym for the `StateT` monad transformer, applied to the `Identity` monad. * * For a good introduction to the state monad, see the following blog post by [@pfgray](https://github.com/pfgray): [The * State monad](https://paulgray.net/the-state-monad/) + * + * @since 2.0.0 */ import { Monad2 } from './Monad' import { getStateM } from './StateT' diff --git a/src/StateReaderTaskEither.ts b/src/StateReaderTaskEither.ts index 3951be81c..c34ebf5f1 100644 --- a/src/StateReaderTaskEither.ts +++ b/src/StateReaderTaskEither.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Either } from './Either' import { IO } from './IO' import { IOEither } from './IOEither' diff --git a/src/StateT.ts b/src/StateT.ts index 586128053..8d0435d4b 100644 --- a/src/StateT.ts +++ b/src/StateT.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' import { Monad, Monad1, Monad2, Monad3 } from './Monad' import { State } from './State' diff --git a/src/Store.ts b/src/Store.ts index 437277b45..ab96818cd 100644 --- a/src/Store.ts +++ b/src/Store.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Comonad2 } from './Comonad' import { Endomorphism } from './function' import { Functor, Functor1, Functor2, Functor2C, Functor3, Functor3C } from './Functor' diff --git a/src/Strong.ts b/src/Strong.ts index 1670aa7ff..0ca0ba6b1 100644 --- a/src/Strong.ts +++ b/src/Strong.ts @@ -1,5 +1,5 @@ /** - * @file The `Strong` class extends `Profunctor` with combinators for working with product types. + * The `Strong` class extends `Profunctor` with combinators for working with product types. * * `first` and `second` lift values in a `Profunctor` to act on the first and second components of a tuple, * respectively. @@ -24,6 +24,8 @@ * to the first element of a tuple, and `second` applies it to the second element (same as `map` would do). * * Adapted from https://github.com/purescript/purescript-profunctor/blob/master/src/Data/Profunctor/Strong.purs + * + * @since 2.0.0 */ import { Category, Category2, Category3, Category4 } from './Category' import { identity } from './function' diff --git a/src/Task.ts b/src/Task.ts index cd203fd70..38e280c1c 100644 --- a/src/Task.ts +++ b/src/Task.ts @@ -1,6 +1,8 @@ /** - * @file `Task` represents an asynchronous computation that yields a value of type `A` and **never fails**. + * `Task` represents an asynchronous computation that yields a value of type `A` and **never fails**. * If you want to represent an asynchronous computation that may fail, please see `TaskEither`. + * + * @since 2.0.0 */ import { IO } from './IO' import { Monad1 } from './Monad' diff --git a/src/TaskEither.ts b/src/TaskEither.ts index 39d44bc22..d3fb543a7 100644 --- a/src/TaskEither.ts +++ b/src/TaskEither.ts @@ -1,6 +1,8 @@ /** - * @file `TaskEither` represents an asynchronous computation that either yields a value of type `A` or fails yielding an + * `TaskEither` represents an asynchronous computation that either yields a value of type `A` or fails yielding an * error of type `E`. If you want to represent an asynchronous computation that never fails, please see `Task`. + * + * @since 2.0.0 */ import { Alt2, Alt2C } from './Alt' import { Bifunctor2, Bifunctor2C } from './Bifunctor' diff --git a/src/These.ts b/src/These.ts index 361c46527..2a46a335a 100644 --- a/src/These.ts +++ b/src/These.ts @@ -1,5 +1,5 @@ /** - * @file A data structure providing "inclusive-or" as opposed to `Either`'s "exclusive-or". + * A data structure providing "inclusive-or" as opposed to `Either`'s "exclusive-or". * * If you interpret `Either` as suggesting the computation may either fail or succeed (exclusively), then * `These` may fail, succeed, or do both at the same time. @@ -16,6 +16,8 @@ * (description adapted from https://package.elm-lang.org/packages/joneshf/elm-these) * * Adapted from https://github.com/purescript-contrib/purescript-these + * + * @since 2.0.0 */ import { Applicative } from './Applicative' import { Bifunctor2 } from './Bifunctor' diff --git a/src/Traced.ts b/src/Traced.ts index eb321975f..9d661f91e 100644 --- a/src/Traced.ts +++ b/src/Traced.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Comonad2C } from './Comonad' import { Monoid } from './Monoid' import { Functor2 } from './Functor' diff --git a/src/Traversable.ts b/src/Traversable.ts index b57223903..60195eb85 100644 --- a/src/Traversable.ts +++ b/src/Traversable.ts @@ -1,5 +1,5 @@ /** - * @file `Traversable` represents data structures which can be _traversed_ accumulating results and effects in some + * `Traversable` represents data structures which can be _traversed_ accumulating results and effects in some * `Applicative` functor. * * `traverse` signature: @@ -13,6 +13,8 @@ * ```ts * (F: Applicative) => (ta: HKT>) => HKT> * ``` + * + * @since 2.0.0 */ import { Applicative, Applicative1, Applicative2, Applicative2C, Applicative3, Applicative3C } from './Applicative' import { diff --git a/src/TraversableWithIndex.ts b/src/TraversableWithIndex.ts index e71a00893..8bc81e480 100644 --- a/src/TraversableWithIndex.ts +++ b/src/TraversableWithIndex.ts @@ -1,5 +1,5 @@ /** - * @file A `Traversable` with an additional index. + * A `Traversable` with an additional index. * A `TraversableWithIndex` instance must be compatible with its `Traversable` instance * * ```ts @@ -17,6 +17,8 @@ * ```purescript * mapWithIndex(ta, f) = traverseWithIndex(identity)(ta, (i, a) => new Identity(f(i, a))).value * ``` + * + * @since 2.0.0 */ import { Applicative, Applicative1, Applicative2, Applicative2C, Applicative3, Applicative3C } from './Applicative' import { FoldableWithIndex, FoldableWithIndex1, FoldableWithIndex2, FoldableWithIndex2C } from './FoldableWithIndex' diff --git a/src/Tree.ts b/src/Tree.ts index dc67e5ff6..4f26e0dd4 100644 --- a/src/Tree.ts +++ b/src/Tree.ts @@ -1,9 +1,11 @@ /** - * @file Multi-way trees (aka rose trees) and forests, where a forest is + * Multi-way trees (aka rose trees) and forests, where a forest is * * ```ts * type Forest = Array> * ``` + * + * @since 2.0.0 */ import { Applicative } from './Applicative' import { array, empty, getEq as getArrayEq, getMonoid } from './Array' diff --git a/src/Tuple.ts b/src/Tuple.ts index 0eb45c28b..dd1cbdbd0 100644 --- a/src/Tuple.ts +++ b/src/Tuple.ts @@ -1,5 +1,7 @@ /** - * @file Adapted from https://github.com/purescript/purescript-tuples + * Adapted from https://github.com/purescript/purescript-tuples + * + * @since 2.0.0 */ import { Applicative, Applicative2C } from './Applicative' import { Apply2C } from './Apply' diff --git a/src/Unfoldable.ts b/src/Unfoldable.ts index cf13fdb91..d261ecb9c 100644 --- a/src/Unfoldable.ts +++ b/src/Unfoldable.ts @@ -1,5 +1,7 @@ /** - * @file This class identifies data structures which can be _unfolded_, generalizing `unfold` on arrays. + * This class identifies data structures which can be _unfolded_, generalizing `unfold` on arrays. + * + * @since 2.0.0 */ import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' import { Option } from './Option' diff --git a/src/ValidationT.ts b/src/ValidationT.ts index 26ce250c0..c17ff22b5 100644 --- a/src/ValidationT.ts +++ b/src/ValidationT.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { ApplicativeCompositionHKT2C, ApplicativeComposition12C, diff --git a/src/Witherable.ts b/src/Witherable.ts index e5dff7f8f..adca2d8b7 100644 --- a/src/Witherable.ts +++ b/src/Witherable.ts @@ -14,6 +14,8 @@ * ``` * * Adapted from https://github.com/LiamGoodacre/purescript-filterable/blob/master/src/Data/Witherable.purs + * + * @since 2.0.0 */ import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from './HKT' import { Option } from './Option' diff --git a/src/Writer.ts b/src/Writer.ts index eb64fc70c..0b45ed2c9 100644 --- a/src/Writer.ts +++ b/src/Writer.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Functor2 } from './Functor' import { Monad2C } from './Monad' import { Monoid } from './Monoid' diff --git a/src/boolean.ts b/src/boolean.ts index 1f8b88d2a..74611b7ff 100644 --- a/src/boolean.ts +++ b/src/boolean.ts @@ -1,3 +1,7 @@ +/** + * @since 2.2.0 + */ + /** * Defines the fold over a boolean value. * Takes two thunks `onTrue`, `onFalse` and a `boolean` value. diff --git a/src/function.ts b/src/function.ts index 4b188306f..b47373516 100644 --- a/src/function.ts +++ b/src/function.ts @@ -1,3 +1,7 @@ +/** + * @since 2.0.0 + */ + /** * A *thunk* * diff --git a/src/index.ts b/src/index.ts index 555546fe3..ab90ce855 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,7 @@ +/** + * @since 2.0.0 + */ + import * as alt from './Alt' import * as alternative from './Alternative' import * as applicative from './Applicative' diff --git a/src/pipeable.ts b/src/pipeable.ts index 1c7838161..e02fd5fc6 100644 --- a/src/pipeable.ts +++ b/src/pipeable.ts @@ -1,3 +1,6 @@ +/** + * @since 2.0.0 + */ import { Alt, Alt1, Alt2, Alt2C, Alt3, Alt4, Alt3C } from './Alt' import { Apply, Apply1, Apply2, Apply2C, Apply3, Apply4, Apply3C } from './Apply' import { Bifunctor, Bifunctor2, Bifunctor3, Bifunctor4, Bifunctor3C } from './Bifunctor'