/**
* Slugifies a string by replacing spaces with hyphens and removing non-word characters.
*
* @param str - The string to slugify.
* @returns The slugified string.
*/
export default function slugify(str: string): string {
return str
.toString()
.toLowerCase()
.replace(/\s+/g, "-") // Replace spaces with -
.replace(/[^\w\-]+/g, "") // Remove all non-word chars
.replace(/\-\-+/g, "-") // Replace multiple - with single -
.replace(/^-+/, "") // Trim - from start of text
.replace(/-+$/, ""); // Trim - from end of text
}