@composio/core
Version:

33 lines (31 loc) • 985 B
JavaScript
//#region src/utils/uuid.ts
function getRandomUUID() {
return globalThis.crypto.randomUUID();
}
function getRandomShortId() {
return getRandomUUID().slice(0, 8).replace(/-/g, "");
}
//#endregion
//#region src/utils/buffer.ts
/**
* Convert ArrayBuffer to base64.
*/
function arrayBufferToBase64(buffer) {
const bytes = new Uint8Array(buffer);
let binary = "";
for (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]);
return btoa(binary);
}
const base64ToUint8Array = (base64) => {
const binary = atob(base64);
const bytes = new Uint8Array(binary.length);
for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
return bytes;
};
const uint8ArrayToBase64 = (bytes) => {
let binary = "";
for (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]);
return btoa(binary);
};
//#endregion
export { getRandomUUID as a, getRandomShortId as i, base64ToUint8Array as n, uint8ArrayToBase64 as r, arrayBufferToBase64 as t };