numbers.js 451 B

1234567891011121314151617181920212223
  1. var MAX_UINT32 = Math.pow(2, 32);
  2. var getUint64 = function(uint8) {
  3. var dv = new DataView(uint8.buffer, uint8.byteOffset, uint8.byteLength);
  4. var value;
  5. if (dv.getBigUint64) {
  6. value = dv.getBigUint64(0);
  7. if (value < Number.MAX_SAFE_INTEGER) {
  8. return Number(value);
  9. }
  10. return value;
  11. }
  12. return (dv.getUint32(0) * MAX_UINT32) + dv.getUint32(4);
  13. };
  14. module.exports = {
  15. getUint64: getUint64,
  16. MAX_UINT32: MAX_UINT32
  17. };