UNPKG

@react-querybuilder/core

Version:

React Query Builder component for constructing queries and filters, with utilities for executing them in various database and evaluation contexts

31 lines (29 loc) 1.21 kB
const require_isRuleGroup = require('./isRuleGroup-DqAs2x4E.js'); let numeric_quantity = require("numeric-quantity"); numeric_quantity = require_isRuleGroup.__toESM(numeric_quantity); //#region src/utils/parseNumber.ts /** * Converts a string to a number. Uses native `parseFloat` if `parseNumbers` is "native", * otherwise uses [`numeric-quantity`](https://jakeboone02.github.io/numeric-quantity/). * If that returns `NaN`, the string is returned unchanged. Numeric values are returned * as-is regardless of the `parseNumbers` option. */ const parseNumber = (val, { parseNumbers, bigIntOnOverflow } = {}) => { if (!parseNumbers || typeof val === "bigint" || typeof val === "number") return val; if (parseNumbers === "native") return Number.parseFloat(val); const valAsNum = (0, numeric_quantity.numericQuantity)(val, { allowTrailingInvalid: parseNumbers === "enhanced", bigIntOnOverflow, romanNumerals: false, round: false }); return typeof valAsNum === "bigint" || !Number.isNaN(valAsNum) ? valAsNum : val; }; //#endregion Object.defineProperty(exports, 'parseNumber', { enumerable: true, get: function () { return parseNumber; } }); //# sourceMappingURL=parseNumber-D4iQDxK-.js.map