import * as plugins from './smartbuffer.plugins.js'; export const uInt8ArrayExtras = plugins.uInt8ArrayExtras; export function uInt8ArrayToBase64(uInt8Array: Uint8Array): string { return plugins.uInt8ArrayExtras.uint8ArrayToBase64(uInt8Array); } export function base64ToUint8Array(base64: string): Uint8Array { return plugins.uInt8ArrayExtras.base64ToUint8Array(base64); } export const isUint8Array = (obj: any): obj is Uint8Array => { return plugins.uInt8ArrayExtras.isUint8Array(obj); }; export function isBufferLike(obj: any): obj is ArrayBufferLike | Buffer { // Check for ArrayBufferLike objects in any environment if (obj && typeof obj.byteLength === 'number') { return true; } // Additional check specific to Node.js environment for Buffer objects if (typeof Buffer !== 'undefined' && Buffer.isBuffer) { return Buffer.isBuffer(obj); } return false; } export function ensurePureUint8Array(bufferArg: Uint8Array | Buffer): Uint8Array { // Create a new Uint8Array with the same length as the buffer const uint8Array: Uint8Array = new Uint8Array(bufferArg.length); // Copy the contents of the Buffer to the new Uint8Array uint8Array.set(bufferArg); return uint8Array; }