Files
edgeever/apps/api/src/entity-utils.ts
T

22 lines
575 B
TypeScript

export const createId = (prefix: string) => `${prefix}_${crypto.randomUUID().replace(/-/g, "")}`;
export const isoNow = () => new Date().toISOString();
export const parseJsonArray = (json: string): string[] => {
try {
const value = JSON.parse(json);
return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
} catch {
return [];
}
};
export const slugify = (value: string) =>
value
.trim()
.toLowerCase()
.replace(/['"]/g, "")
.replace(/[^\p{L}\p{N}]+/gu, "-")
.replace(/^-+|-+$/g, "")
.slice(0, 80);