This way most negative values will be correctly represented in JS and TS.
Still values between 2^53 and 2^63 will have their representation converted
to inexact doubles because the MAX_SAFE_INTEGER is 2^53-1
[x] There is an issue for the bug/feature this PR is for. To avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it.
.d.ts files define enum constants which have their 64th bit set as unsigned decimal integers
What is the new behavior?
.d.ts files define enum constants which have their 64th bit set as signed (negative) decimal integers to avoid misrepresenting them in JS due to the limitation that only integers up to 2^53-1(MAX_SAFE_INTEGER) can be represented exactly.
This way most negative values will be correctly represented in JS and TS. Still values between 2^53 and 2^63 will have their representation converted to inexact
double
s because the MAX_SAFE_INTEGER is 2^53-1PR Checklist
What is the current behavior?
.d.ts
files define enum constants which have their 64th bit set as unsigned decimal integersWhat is the new behavior?
.d.ts
files define enum constants which have their 64th bit set as signed (negative) decimal integers to avoid misrepresenting them in JS due to the limitation that only integers up to2^53-1
(MAX_SAFE_INTEGER) can be represented exactly.refs #1150