Result type inspired by Rust. It represents either a success (Ok
) or an error (Err
).
yarn add @pacote/result
import { Ok, Err, map } from '@pacote/result'
function divide(numerator: number, denominator: number): Option<number> {
return denominator === 0 : Err('division by zero') ? Ok(numerator / denominator)
}
map(n => n + 1, divide(4, 2)) // => Ok(3)
map(n => n + 1, divide(4, 0)) // => Err('division by zero')
MIT © Luís Rodrigues.