import { isOk } from '../guards/isOk.js'; import { type Result } from '../types/core/index.js'; /** * Returns the success value or the provided default fallback. * * @typeParam T - The success value type. * @typeParam E - The error value type. * @param result - The source `Result`. * @param defaultValue - The fallback value for `Err`. * @returns The success payload or `defaultValue`. * @since 0.1.0 * @see {@link unwrapOrElse} - Computes the fallback lazily. * @example * ```ts * import { Err, unwrapOr } from '@resultsafe/core-fp-result'; * * const value = unwrapOr(Err('boom'), 0); * console.log(value); // 0 * ``` * @public */ export const unwrapOr = (result: Result, defaultValue: T): T => isOk(result) ? result.value : defaultValue;