normalizePositiveNumber
Attempts to normalize a value into a positive number.
This helper never throws and never mutates input. Returns null if normalization fails.
Signature
function normalizePositiveNumber(value: unknown): number | null
Parameters
| Name | Type | Description |
|---|---|---|
| value | unknown |
The value to normalize. |
Returns
| Type | Description |
|---|---|---|
| number | null | Returns a positive number, or null if normalization fails. |
Examples
normalizePositiveNumber(0.1); // → 0.1
normalizePositiveNumber(5); // → 5
normalizePositiveNumber("3.14"); // → 3.14
normalizePositiveNumber(" 42 "); // → 42
normalizePositiveNumber(0); // → null
normalizePositiveNumber(-1); // → null
normalizePositiveNumber("-3.14"); // → null
normalizePositiveNumber("abc"); // → null
normalizePositiveNumber(NaN); // → null
normalizePositiveNumber(Infinity); // → null
normalizePositiveNumber(undefined); // → null
Notes
- Only numbers greater than zero (
0) are accepted. - Fractional numbers are allowed.
- Strings are trimmed and parsed; must represent a strictly positive number.
- Zero, negative numbers,
NaN,Infinity,-Infinity, and non-numeric types returnnull. - Use validatePositiveNumber for structured validation.