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.

28 lines (25 loc) 868 B
import { none } from '../../optional/impl/optional-none.mjs'; import { some } from '../../optional/impl/optional-some.mjs'; import { isOk } from './ternary-result-is-ok.mjs'; import { isWarn } from './ternary-result-is-warn.mjs'; /** * Converts a `TernaryResult` into an `Optional` by keeping only Ok values. * * @example * * ```ts * const okValue = TernaryResult.ok(7); * * const warnValue = TernaryResult.warn(7, 'warn'); * * assert.deepStrictEqual(TernaryResult.toOptional(okValue), Optional.some(7)); * * assert.deepStrictEqual(TernaryResult.toOptional(warnValue), Optional.some(7)); * ``` */ const toOptional = (result) => isOk(result) || isWarn(result) ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion some(result.value) : none; export { toOptional }; //# sourceMappingURL=ternary-result-to-optional.mjs.map