UNPKG

safe-integer-ts

Version:

Newtype wrapper of number type as safe-integer (53-bit precise integer)

49 lines (37 loc) 1.09 kB
# SafeInteger for TypeScript Provides `SafeInteger` type, a newtype wrapper of `number` as [safe-integer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger) or 53-bit precise integer. See [the implementations](src/index.ts) for more details. ## Example ```ts import { SafeInteger, asSafeInteger, isSafeInteger, toSafeInteger } from "safe-integer-ts" const unknownValue: unknown = JSON.parse("42") // As argument. const useSafeInteger = (_value: SafeInteger) => { // No need to validate in case of non-integer, NaN, integer-like string, etc. } // Validate. { if (isSafeInteger(unknownValue)) { useSafeInteger(unknownValue) } } // Cast. { const value: SafeInteger | null = asSafeInteger(unknownValue) if (value != null) { useSafeInteger(value) } } // Convert. { const value: SafeInteger | null = toSafeInteger("42") if (value != null) { useSafeInteger(value) } } ``` ### ES module ```ts import ... from "safe-integer-ts/esm" // ^^^^ ```