datasquirel/dist/package-shared/utils/slugify.js
Benjamin Toby cd6bfdfc67 Updates
2025-04-23 13:20:44 +01:00

32 lines
775 B
JavaScript

"use strict";
// @ts-check
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = slugify;
/**
* # Return the slug of a string
*
* @example
* slugify("Hello World") // "hello-world"
* slugify("Yes!") // "yes"
* slugify("Hello!!! World!") // "hello-world"
*/
function slugify(str) {
try {
if (!str)
return "";
return String(str)
.trim()
.toLowerCase()
.replace(/ {2,}/g, " ")
.replace(/ /g, "-")
.replace(/[^a-z0-9]/g, "-")
.replace(/-{2,}/g, "-")
.replace(/^-/, "")
.replace(/-$/, "");
}
catch ( /** @type {any} */error) {
console.log(`Slugify ERROR: ${error.message}`);
return "";
}
}