@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);
    }
}