-
Notifications
You must be signed in to change notification settings - Fork 326
Open
Description
π Feature request
Current Behavior
t.Int uses Number.isInteger which is unsafe to use outside of range <Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER> (non-integer inputs will return false positive). https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger
Desired Behavior
To be safe t.Int could fail validation of Numbers outside of range <Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER>
Suggested Solution
Use Number.isSafeInteger
instead of Number.isInteger
Who does this impact? Who is this for?
Everyone using t.Int
Describe alternatives you've considered
Provide a secondary type t.SafeInt?
Additional context
Thanks for a great library, this is something that perhaps could make using it safer :)
Your environment
Software | Version(s) |
---|---|
io-ts | 2.2.16 |
fp-ts | 2.10.5 |
TypeScript | 4.7.4 |
321paranoiawhy
Metadata
Metadata
Assignees
Labels
No labels