Innovenergy_trunk/frontend/node_modules/fp-ts
Kim 085d7c68ba adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
..
Alt adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Alternative adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Applicative adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Apply adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Array adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Bifunctor adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
BooleanAlgebra adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Bounded adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
BoundedDistributiveLattice adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
BoundedJoinSemilattice adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
BoundedLattice adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
BoundedMeetSemilattice adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Category adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Chain adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ChainRec adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Choice adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Comonad adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Compactable adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Console adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Const adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Contravariant adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Date adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
DistributiveLattice adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Either adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
EitherT adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Endomorphism adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Eq adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Extend adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Field adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Filterable adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
FilterableWithIndex adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Foldable adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
FoldableWithIndex adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
FromEither adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
FromIO adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
FromReader adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
FromState adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
FromTask adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
FromThese adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Functor adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
FunctorWithIndex adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Group adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
HKT adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
HeytingAlgebra adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
IO adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
IOEither adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
IOOption adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
IORef adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Identity adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Invariant adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
JoinSemilattice adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Json adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Lattice adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Magma adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Map adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
MeetSemilattice adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Monad adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
MonadIO adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
MonadTask adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
MonadThrow adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Monoid adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
NaturalTransformation adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
NonEmptyArray adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Option adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
OptionT adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Ord adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Ordering adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Pointed adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Predicate adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Profunctor adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Random adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Reader adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReaderEither adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReaderIO adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReaderT adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReaderTask adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReaderTaskEither adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReadonlyArray adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReadonlyMap adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReadonlyNonEmptyArray adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReadonlyRecord adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReadonlySet adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ReadonlyTuple adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Record adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Refinement adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Ring adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Semigroup adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Semigroupoid adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Semiring adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Separated adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Set adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Show adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
State adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
StateReaderTaskEither adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
StateT adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Store adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Strong adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Task adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
TaskEither adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
TaskOption adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
TaskThese adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
These adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
TheseT adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Traced adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Traversable adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
TraversableWithIndex adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Tree adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Tuple adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Unfoldable adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
ValidationT adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Witherable adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Writer adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
WriterT adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
Zero adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
boolean adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
es6 adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
function adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
internal adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
lib adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
number adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
pipeable adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
string adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
struct adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
void adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
CHANGELOG.md adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
HKT.d.ts adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
LICENSE adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
README.md adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00
package.json adding untracked frontend and typescript files 2023-02-21 07:27:20 +01:00

README.md

Functional programming in TypeScript

build status npm downloads

Typed functional programming in TypeScript

fp-ts is a library for typed functional programming in TypeScript.

fp-ts aims to allow developers to use popular patterns and abstractions that are available in most functional languages. For this, it includes the most popular data types, type classes and abstractions such as Option, Either, IO, Task, Functor, Applicative, Monad to empower users to write pure FP apps and libraries built atop higher order abstractions.

A distinctive feature of fp-ts with respect to other functional libraries is its implementation of Higher Kinded Types, which TypeScript doesn't support natively.

Inspired by

Installation

To install the stable version:

npm install fp-ts

Make sure to always have a single version of fp-ts installed in your project. Multiple versions are known to cause tsc to hang during compilation. You can check the versions currently installed using npm ls fp-ts (make sure there's a single version and all the others are marked as deduped).

TypeScript compatibility

Strictness This library is conceived, tested and is supposed to be consumed by TypeScript with the strict flag turned on.

fp-ts version required typescript version
2.0.x+ 3.5+
1.15.x+ 3.1+
<= 1.14.4 2.8+ (*)

(*) If you are running < typescript@3.0.1 you have to polyfill the unknown type. You can use unknown-ts as a polyfill.

Documentation

Disclaimer. Teaching functional programming is out of scope of this project, so the documentation assumes you already know what FP is.

Help

If you need help with fp-ts check out:

Development

License

The MIT License (MIT)