option-t
Version:
A toolkit of Nullable/Option/Result type implementation in ECMAScript. Their APIs are inspired by Rust's `Option<T>` and `Result<T, E>`.
25 lines (24 loc) • 646 B
JavaScript
import { isErr, isOk, unwrapErr, unwrapOk } from '../../plain_result/core/result.js';
import { createNone, createSome } from './option.js';
/**
* Convert to `Some(T)` if _input_ is `Ok(T)`.
* Otherwise, return `None`.
*/
export function fromOkToOption(input) {
if (isOk(input)) {
const val = unwrapOk(input);
return createSome(val);
}
return createNone();
}
/**
* Convert to `Some(E)` if _input_ is `Err(E)`.
* Otherwise, return `None`.
*/
export function fromErrToOption(input) {
if (isErr(input)) {
const err = unwrapErr(input);
return createSome(err);
}
return createNone();
}