@bsv/wallet-toolbox
Version:
BRC100 conforming wallet, wallet storage and wallet signer components
37 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.swapByteOrder = swapByteOrder;
exports.convertUint32ToBuffer = convertUint32ToBuffer;
exports.convertBufferToUint32 = convertBufferToUint32;
/**
* Returns a copy of a Buffer with byte order reversed.
* @returns new buffer with byte order reversed.
* @publicbody
*/
function swapByteOrder(buffer) {
return Buffer.from(buffer).reverse();
}
/**
* @param num a number value in the Uint32 value range
* @param littleEndian true for little-endian byte order in Buffer
* @returns four byte buffer with Uint32 number encoded
* @publicbody
*/
function convertUint32ToBuffer(num, littleEndian = true) {
const arr = new ArrayBuffer(4);
const view = new DataView(arr);
view.setUint32(0, num, littleEndian); // byteOffset = 0
return Buffer.from(arr);
}
/**
* @param buffer four byte buffer with Uint32 number encoded
* @param littleEndian true for little-endian byte order in Buffer
* @returns a number value in the Uint32 value range
* @publicbody
*/
function convertBufferToUint32(buffer, littleEndian = true) {
const arr = buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
const view = new DataView(arr);
return view.getUint32(0, littleEndian);
}
//# sourceMappingURL=utils.Buffer.js.map