UNPKG

es-arraybuffer-base64

Version:

An ES-spec-compliant shim/polyfill/replacement for ArrayBuffer base64 methods that works as far down as ES3

27 lines (18 loc) 811 B
'use strict'; var SetValueInBuffer = require('es-abstract/2024/SetValueInBuffer'); var ValidateUint8Array = require('./ValidateUint8Array'); var typedArrayBuffer = require('typed-array-buffer'); var typedArrayByteOffset = require('typed-array-byte-offset'); // https://tc39.es/proposal-arraybuffer-base64/spec/#sec-writeuint8arraybytes module.exports = function SetUint8ArrayBytes(into, bytes) { ValidateUint8Array(into); var offset = typedArrayByteOffset(into); // step 1 var len = bytes.length; // step 2 var index = 0; // step 3 while (index < len) { // step 4 var byte = bytes[index]; // step 4.a var byteIndexInBuffer = index + offset; // step 4.b SetValueInBuffer(typedArrayBuffer(into), byteIndexInBuffer, 'UINT8', byte, true, 'UNORDERED'); // step 4.c index += 1; // step 4.d } };