UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

32 lines (30 loc) 745 B
import { dfdlT } from "@monstermann/dfdl"; //#region src/string/parseFloatOrElse.ts /** * `parseFloatOrElse(target, orElse)` * * Parses `target` string and returns a floating point number, or the result of calling `orElse` function with `target` if parsing fails. * * ```ts * parseFloatOrElse("3.14", () => 0); // 3.14 * parseFloatOrElse("abc", (str) => str.length); // 3 * ``` * * ```ts * pipe( * "3.14", * parseFloatOrElse(() => 0), * ); // 3.14 * * pipe( * "abc", * parseFloatOrElse((str) => str.length), * ); // 3 * ``` */ const parseFloatOrElse = dfdlT((target, orElse) => { const value = Number.parseFloat(target); return Number.isFinite(value) ? value : orElse(target); }, 2); //#endregion export { parseFloatOrElse };