feat: menambahkan kolom slug dan implement slug di module project

This commit is contained in:
Muhammad Zhafran Ilham
2026-06-23 22:07:21 +07:00
parent 08f7ca8319
commit b630ebbe3c
6 changed files with 138 additions and 11 deletions
+30
View File
@@ -0,0 +1,30 @@
function slugify(value, fallback = 'item') {
if (!value || typeof value !== 'string') {
return fallback;
}
let slug = value
.toString()
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.toLowerCase()
.trim()
.replace(/[^a-z0-9\s-]/g, '')
.replace(/\s+/g, '-')
.replace(/-+/g, '-')
.replace(/^-|-$/g, '');
if (!slug) {
slug = fallback;
}
if (/^\d+$/.test(slug)) {
slug = `${fallback}-${slug}`;
}
return slug;
}
module.exports = {
slugify,
};