smartbuffer/ts/index.ts
2024-04-25 18:08:49 +02:00

39 lines
1.2 KiB
TypeScript

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