Skip to content

AkaraChen/sakiko

Repository files navigation

sakiko

Deprecated, use Effect-ts instead.

Some monad implement with js.

Document

Option

Use to handle null or undefined value.

import { Option } from 'sakiko'

const value = Option.some(1)
    .map(v => v + 1)
    .map(v => v * 2)
    .unwrapOr(0)

Result

Use to handle error.

import { Result } from 'sakiko'

const value = Result.ok(1)
    .isOkAnd(v => v >= 0)
    .map(v => v + 1)
    .unwrapOr(0)

Future

A wrapper of Promise. Provide a powerful way to handle async code.

import { Future } from 'sakiko'

const future = Future.from(async () => {
    // do something async
})

// at any time
future.isOk() // true if the future is resolved

// Or you can map to `Result`
const result = await future.result()
result.unwrapOr(0)

About

Some monad implement with js.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors