@monstermann/fn
Version:
A utility library for TypeScript.
25 lines (23 loc) • 570 B
JavaScript
import { dfdlT } from "@monstermann/dfdl";
//#region src/string/parseFloatOr.ts
/**
* `parseFloatOr(target, or)`
*
* Parses `target` string and returns a floating point number, or the `or` value if parsing fails.
*
* ```ts
* parseFloatOr("3.14", 0); // 3.14
* parseFloatOr("abc", 0); // 0
* ```
*
* ```ts
* pipe("3.14", parseFloatOr(0)); // 3.14
* pipe("abc", parseFloatOr(0)); // 0
* ```
*/
const parseFloatOr = dfdlT((target, or) => {
const value = Number.parseFloat(target);
return Number.isFinite(value) ? value : or;
}, 2);
//#endregion
export { parseFloatOr };