An open API service indexing awesome lists of open source software.

https://github.com/mattphillips/ts-prelude


https://github.com/mattphillips/ts-prelude

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# ts-prelude

[![CI](https://github.com/mattphillips/ts-prelude/actions/workflows/all.yaml/badge.svg)](https://github.com/mattphillips/ts-prelude/actions/workflows/all.yaml)

Currently a collection of functional datatypes that I use on every project and will eventually expand further into a standard lib of fp utils / algebraic-data-types.

ADTs currently available:

- Maybe
- Result
- IO
- AsyncData
- AsyncResult
- Ref

Utils:

- match (pattern matching)
- TaggedUnion (builds discriminatred unions aka ADTs)
- Nominal (construct nominal datatypes)
- Phantom (constuct phantom datatypes)
- Function
- Property (sugar for a nicer `property` based test definition)
- Refined (a library to build refined types)

Inspiration for above:

- Haskell
- Purescript
- Scala
- Reason
- [Relude](https://github.com/reazen/relude/)
- [Refined scala](https://github.com/fthomas/refined)