add readme
This commit is contained in:
parent
8d525d5392
commit
1224a8382c
1 changed files with 37 additions and 0 deletions
37
README.md
Normal file
37
README.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# kojima
|
||||
a small functional/monad library
|
||||
|
||||
# Usage
|
||||
## Example
|
||||
```js
|
||||
import { Identity, Some, None, Left, Right, Ok, Err } from 'kojima'
|
||||
|
||||
const i = Identity(1)
|
||||
const thou = Identity(1)
|
||||
i.bind(x => thou.map(y => x + y)) // Identity(2)
|
||||
|
||||
const maybe = Some('thing')
|
||||
maybe.isSome() // true
|
||||
const isnt = maybe.bind(() => None).map(_x => 'other') // None
|
||||
isnt.isSome() // false
|
||||
|
||||
const either = Right('neutron')
|
||||
|
||||
const value = either.match({
|
||||
Right(value) {
|
||||
return value
|
||||
},
|
||||
Left(value) {
|
||||
console.error('oh no')
|
||||
}
|
||||
}) // 'neutron'
|
||||
|
||||
const result = Ok('3:41am')
|
||||
result.isOk() // true
|
||||
|
||||
result.bind(() => new Error(-Infinity))
|
||||
.map(_x => '4:10am')
|
||||
|
||||
result.isErr() // true
|
||||
```
|
||||
|
Loading…
Add table
Reference in a new issue