Fix introspected (u)int64 types to use BigInt
Opened this issue · 2 comments
peat-psuwit commented
Currently, we're unable to precisely represent a value bigger than Number.MAX_SAFE_INTEGER = 2 ** 53
.
const gi = require('node-gtk')
const Gst = gi.require('Gst', '1.0')
console.log(Gst.CLOCK_TIME_NONE)
// Should print: 18446744073709551615
// Currently print: 18446744073709552000
Gjs also has this issue [1], so I'm filing this bug to bring awareness to this problem.
Note that on the argument side, it's simple: just accept both Number and BigInt (see #322).
peat-psuwit commented
Err... Sorry, should have been more clear. This issue is about getting big uint64 value from introspected object/call. The PR (#322), however, only solve passing BigInt as an argument to introspected call. (It doesn't even have support for setting BigInt to a property.)
Please re-open this issue.