UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

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