@copilotkit/shared
Version:
<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />
41 lines (40 loc) • 1.08 kB
JavaScript
// src/utils/random-id.ts
import { v4 as uuidv4, validate, v5 as uuidv5 } from "uuid";
function randomId() {
return "ck-" + uuidv4();
}
function randomUUID() {
return uuidv4();
}
function toSerializable(value) {
if (typeof value === "function") {
return value.toString();
}
if (Array.isArray(value)) {
return value.map(toSerializable);
}
if (value !== null && typeof value === "object") {
const result = {};
for (const key of Object.keys(value)) {
result[key] = toSerializable(value[key]);
}
return result;
}
return value;
}
function dataToUUID(input, namespace) {
const BASE_NAMESPACE = "e4b01160-ff74-4c6e-9b27-d53cd930fe8e";
const boundNamespace = namespace ? uuidv5(namespace, BASE_NAMESPACE) : BASE_NAMESPACE;
const stringInput = typeof input === "string" ? input : JSON.stringify(toSerializable(input));
return uuidv5(stringInput, boundNamespace);
}
function isValidUUID(uuid) {
return validate(uuid);
}
export {
randomId,
randomUUID,
dataToUUID,
isValidUUID
};
//# sourceMappingURL=chunk-BOKE4OKY.mjs.map