UNPKG

ts-data-forge

Version:

[![npm version](https://img.shields.io/npm/v/ts-data-forge.svg)](https://www.npmjs.com/package/ts-data-forge) [![npm downloads](https://img.shields.io/npm/dm/ts-data-forge.svg)](https://www.npmjs.com/package/ts-data-forge) [![License](https://img.shields.

35 lines 1.14 kB
import { type UnwrapErr, type UnwrapOk, type UnwrapWarn } from './types.mjs'; /** * Maps the Ok variant while leaving Warn/Err untouched. * * @example * * ```ts * const okNumber = TernaryResult.ok(5); * * const warnValue = TernaryResult.warn(5, 'slow'); * * const errValue = TernaryResult.err('bad'); * * const doubled = TernaryResult.map(okNumber, (value) => value * 2); * * const warnPassthrough = TernaryResult.map( * warnValue, * (value: number) => value * 2, * ); * * const errPassthrough = TernaryResult.map( * errValue, * (value: number) => value * 2, * ); * * assert.deepStrictEqual(doubled, TernaryResult.ok(10)); * * assert.deepStrictEqual(warnPassthrough, TernaryResult.warn(10, 'slow')); * * assert.deepStrictEqual(errPassthrough, errValue); * ``` */ export declare function map<R extends UnknownTernaryResult, S2>(result: R, mapFn: (value: UnwrapOk<R>) => S2): TernaryResult<S2, UnwrapErr<R>, UnwrapWarn<R>>; export declare function map<S, S2>(mapFn: (value: S) => S2): <W, E>(result: TernaryResult<S, E, W>) => TernaryResult<S2, E, W>; //# sourceMappingURL=ternary-result-map.d.mts.map