{"version":3,"file":"numbers.cjs","names":[],"sources":["../../src/core/numbers.ts"],"sourcesContent":["// ── Number helpers ────────────────────────────────────────────────────────────\n\n/**\n * Coerces `value` via `Number()` and returns it when finite, `undefined` otherwise.\n *\n * Caveat: `null` and `''` both coerce to `0` in JavaScript (`Number(null) === 0`,\n * `Number('') === 0`) and are therefore returned as the finite number `0`, not\n * `undefined` — this function does not treat \"absent\" values specially. Only\n * genuinely non-numeric input (`undefined`, `NaN`, non-numeric strings) yields\n * `undefined`. Callers that mean \"no bound set\" should pass `undefined`\n * explicitly rather than `null` or `''`.\n */\nexport const toFiniteNumber = (value: unknown): number | undefined => {\n  const parsed = Number(value);\n\n  return Number.isFinite(parsed) ? parsed : undefined;\n};\n\nexport const toFiniteNumberOr = (value: unknown, fallback: number): number => {\n  return toFiniteNumber(value) ?? fallback;\n};\n\nexport const toPositiveStep = (value: unknown, fallback: number): number => {\n  return Math.abs(toFiniteNumberOr(value, fallback)) || fallback;\n};\n"],"mappings":"AAYA,IAAa,EAAkB,GAAuC,CACpE,IAAM,EAAS,OAAO,CAAK,EAE3B,OAAO,OAAO,SAAS,CAAM,EAAI,EAAS,IAAA,EAC5C,EAEa,GAAoB,EAAgB,IACxC,EAAe,CAAK,GAAK,EAGrB,GAAkB,EAAgB,IACtC,KAAK,IAAI,EAAiB,EAAO,CAAQ,CAAC,GAAK"}