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>`.
19 lines (18 loc) • 682 B
TypeScript
import { type Result } from '../../plain_result/core/result.js';
import { type Option } from './option.js';
/**
* Transposes an `Option` of a `Result` into a `Result` of an `Option`.
*
* - `Some(Ok(x))` -> `Ok(Some(x))`
* - `Some(Err(e))` -> `Err(e)`
* - `None` => `Ok(None)`
*/
export declare function transposeOptionToResult<T, E>(input: Option<Result<T, E>>): Result<Option<T>, E>;
/**
* Transposes a `Result` of an `Option` into an `Option` of a `Result`.
*
* - `Ok(Some(v))` -> `Some(Ok(v))`
* - `Ok(None)` -> `None`
* - `Err(e)` -> `Some(Err(e))`
*/
export declare function transposeResultToOption<T, E>(input: Result<Option<T>, E>): Option<Result<T, E>>;