UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

27 lines (25 loc) 745 B
import { FnError } from "../function/FnError.js"; import { dfdlT } from "@monstermann/dfdl"; //#region src/string/parseFloatOrThrow.ts /** * `parseFloatOrThrow(target)` * * Parses `target` string and returns a floating point number, or throws an error if parsing fails. * * ```ts * parseFloatOrThrow("3.14"); // 3.14 * parseFloatOrThrow("abc"); // throws FnError * ``` * * ```ts * pipe("3.14", parseFloatOrThrow()); // 3.14 * pipe("abc", parseFloatOrThrow()); // throws FnError * ``` */ const parseFloatOrThrow = dfdlT((target) => { const value = Number.parseFloat(target); if (Number.isFinite(value)) return value; throw new FnError("String.parseFloatOrThrow: Failed to parse.", [target]); }, 1); //#endregion export { parseFloatOrThrow };