@react-frontend-developer/buffers
Version:
Helper utilities for manipulating Buffers and TypedArrays
60 lines (53 loc) • 2 kB
JavaScript
var buffers = (function (exports) {
'use strict';
class Buffers {
static moveFromTypedArray(typedArray) {
return Buffer.from(typedArray.buffer);
}
static copyFromTypedArray(typedArray) {
return Buffer.from(typedArray);
}
static fromString(str, encoding = 'utf8') {
return Buffer.from(str, encoding);
}
static toString(buffer, encoding = 'utf8') {
return buffer.toString(encoding);
}
static copyToArrayBuffer(nodeBuffer) {
return nodeBuffer.buffer.slice(nodeBuffer.byteOffset, nodeBuffer.byteOffset + nodeBuffer.byteLength);
}
static moveToArrayBuffer(nodeBuffer) {
if (nodeBuffer.length === nodeBuffer.buffer.byteLength) {
return nodeBuffer.buffer;
}
return Buffers.copyToArrayBuffer(nodeBuffer);
}
static copyToUint8Array(nodeBuffer) {
return new Uint8Array(Buffers.copyToArrayBuffer(nodeBuffer));
}
static moveToUint8Array(nodeBuffer) {
return new Uint8Array(Buffers.moveToArrayBuffer(nodeBuffer));
}
}
class TypedArrays {
static string2ab(str, encoding = 'utf8') {
const buffer = Buffer.from(str, encoding);
return Buffers.copyToArrayBuffer(buffer);
}
static ab2string(ab, encoding = 'utf8') {
return Buffer.from(ab).toString(encoding);
}
static string2Uint8Array(str, encoding = 'utf8') {
const buffer = Buffer.from(str, encoding);
return Buffers.copyToUint8Array(buffer);
}
static uint8Array2string(arr, encoding = 'utf8') {
return Buffer.from(arr).toString(encoding);
}
}
exports.Buffers = Buffers;
exports.TypedArrays = TypedArrays;
Object.defineProperty(exports, '__esModule', { value: true });
return exports;
})({});
//# sourceMappingURL=buffers.js.map