@beenotung/tslib
Version:
utils library in Typescript
29 lines (28 loc) • 905 B
JavaScript
;
/**
* reference: https://github.com/miguelmota/arraybuffer-to-buffer
* modified to access Buffer only in run-time
* (original implementation access it in init time)
* */
Object.defineProperty(exports, "__esModule", { value: true });
exports.arrayBufferToBuffer = arrayBufferToBuffer;
const isArrayBufferSupported = () => new Buffer(new Uint8Array([1]).buffer)[0] === 1;
function arrayBufferToBufferAsArgument(ab) {
return new Buffer(ab);
}
function arrayBufferToBufferCycle(ab) {
const buffer = new Buffer(ab.byteLength);
const view = new Uint8Array(ab);
for (let i = 0; i < buffer.length; ++i) {
buffer[i] = view[i];
}
return buffer;
}
function arrayBufferToBuffer(arrayBuffer) {
if (isArrayBufferSupported()) {
return arrayBufferToBufferAsArgument(arrayBuffer);
}
else {
return arrayBufferToBufferCycle(arrayBuffer);
}
}