UNPKG

@msgpack/msgpack

Version:

MessagePack for ECMA-262/JavaScript/TypeScript

34 lines 1.18 kB
"use strict"; // Integer Utility Object.defineProperty(exports, "__esModule", { value: true }); exports.UINT32_MAX = void 0; exports.setUint64 = setUint64; exports.setInt64 = setInt64; exports.getInt64 = getInt64; exports.getUint64 = getUint64; exports.UINT32_MAX = 4294967295; // DataView extension to handle int64 / uint64, // where the actual range is 53-bits integer (a.k.a. safe integer) function setUint64(view, offset, value) { const high = value / 4294967296; const low = value; // high bits are truncated by DataView view.setUint32(offset, high); view.setUint32(offset + 4, low); } function setInt64(view, offset, value) { const high = Math.floor(value / 4294967296); const low = value; // high bits are truncated by DataView view.setUint32(offset, high); view.setUint32(offset + 4, low); } function getInt64(view, offset) { const high = view.getInt32(offset); const low = view.getUint32(offset + 4); return high * 4294967296 + low; } function getUint64(view, offset) { const high = view.getUint32(offset); const low = view.getUint32(offset + 4); return high * 4294967296 + low; } //# sourceMappingURL=int.cjs.map