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>`.
21 lines (20 loc) • 509 B
JavaScript
import { createOk, isOk } from '../../plain_result/core/result.js';
import { isNull } from '../core/nullable.js';
/**
* Transposes a `Nullable` of a `Result` into an `Result` of a `Nullable`.
*
* - `null` -> `Ok<null>`.
* - `Ok<T>` -> `Ok<T>`.
* - `Err<E>` -> `Err<E>`.
*/
export function transposeNullableToResult(input) {
if (isNull(input)) {
return createOk(null);
}
if (isOk(input)) {
const rv = input;
return rv;
}
const rv = input;
return rv;
}