Previously, when encoding a plain JavaScript Number for a i64 with the (js.type
= 'Long') annotation, the high four bits would be masked out to zero, resulting
in a large 32 bit integer. This change runs the number through the Long library
to ensure that the high bits are all set for negative numbers less than 32 bits
wide.
Previously, when encoding a plain JavaScript Number for a i64 with the (js.type = 'Long') annotation, the high four bits would be masked out to zero, resulting in a large 32 bit integer. This change runs the number through the Long library to ensure that the high bits are all set for negative numbers less than 32 bits wide.
r @jakemh