UNPKG

@beenotung/tslib

Version:
29 lines (28 loc) 905 B
"use strict"; /** * 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); } }