UNPKG

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>`.

31 lines (30 loc) 1.94 kB
import type { EffectFn } from '../internal/function.js'; import { type Result } from './result.js'; /** * * Return _input_ directly. * * This value is passed as the input. But it maybe mutated by calling _effector_. * * Call _effector_ with the inner value of _input_ if _input_ is `Ok(T)`. * * This main purpose is to inspect an inner value in a chained function calling. * If you don't have to do it, you should not mutate the inner value. * if-else statement might be sufficient to mutate the inner value instead of calling this function. */ export declare function inspectOkForResult<T, E>(input: Result<T, E>, effector: EffectFn<T>): Result<T, E>; /** * * Return _input_ directly. * * This value is passed as the input. But it maybe mutated by calling _effector_. * * Call _effector_ with the inner value of _input_ if _input_ is `Err(E)`. * * This main purpose is to inspect an inner value in a chained function calling. * If you don't have to do it, you should not mutate the inner value. * if-else statement might be sufficient to mutate the inner value instead of calling this function. */ export declare function inspectErrForResult<T, E>(input: Result<T, E>, effector: EffectFn<E>): Result<T, E>; /** * * Return _input_ directly. * * This value is passed as the input. But it maybe mutated by calling _effector_. * * Call _okEffector_ with the inner value of _input_ if _input_ is `Ok(T)`. * Otherwise, call _errEffector_ with the inner value if _input_ is `Err(E)` * * This main purpose is to inspect an inner value in a chained function calling. * If you don't have to do it, you should not mutate the inner value. * if-else statement might be sufficient to mutate the inner value instead of calling this function. */ export declare function inspectBothForResult<T, E>(input: Result<T, E>, okEffector: EffectFn<T>, errEffector: EffectFn<E>): Result<T, E>;