phantasy
v0.12.0
Published
[![Build Status](https://travis-ci.org/tkuminecz/phantasy.svg?branch=master)](https://travis-ci.org/tkuminecz/phantasy) [![Coverage Status](https://coveralls.io/repos/github/tkuminecz/phantasy/badge.svg)](https://coveralls.io/github/tkuminecz/phantasy)
Downloads
37
Readme
phantasy
A collection of Flow-aware algebraic data types for JavaScript
Installation
Run
$ npm install --save phantasy
or
$ yarn add phantasy
Usage
Data types can be imported directly from the phantasy
module
import { Maybe, Task } from 'phantasy';
Support for Flow is included for all types and should automatically integrate with existing projects.
Data Types
Identity
Simple monadic container values without any special behaviors
Maybe
Monad for safely handling nullable values
Result
Monad representing either a success or an error value
Reader
Monad that represents computations that can read data from a context
Writer
Monad that represents computations that can write data to a context
State
Monad that represents computations that can read and write data from a state
IO
Monad representing synchronous computations which may or may not be effectful
Task
Monad representing asynchronous computations that may succeed or fail and which may or may not be effectful
Eff
Monad representing dependency-injected, explicitly-effectful synchronous computations
EffResult
Monad representing dependency-injected, explicitly-effectful synchronous computations that may succeed or fail
EffTask
Monad representing dependency-injected, explicitly-effectful asynchronous computations that may succeed or fail