From 4951e828341b998fa5875a998df7330d67336ad8 Mon Sep 17 00:00:00 2001 From: Esdras Renan Date: Mon, 13 Oct 2025 11:45:34 -0300 Subject: [PATCH] fix: include slug helpers --- src/lib/slug.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/lib/slug.ts diff --git a/src/lib/slug.ts b/src/lib/slug.ts new file mode 100644 index 0000000..445f446 --- /dev/null +++ b/src/lib/slug.ts @@ -0,0 +1,17 @@ +export function slugify(value: string): string { + const ascii = value + .normalize("NFD") + .replace(/[\u0300-\u036f]/g, "") + .replace(/[\u2013\u2014]/g, "-") + const sanitized = ascii.replace(/[^a-zA-Z0-9\s-]/g, "") + const hyphenized = sanitized.replace(/[_\s]+/g, "-").replace(/-+/g, "-") + return hyphenized.replace(/^-+|-+$/g, "").toLowerCase() +} + +export function normalizeSlug(input?: string | null): string | undefined { + if (!input) return undefined + const trimmed = input.trim() + if (!trimmed) return undefined + const slug = slugify(trimmed) + return slug || undefined +}