UNPKG

sluga

Version:
2 lines (1 loc) 554 B
var e=require("escape-string-regexp"),r=require("./transliterate");module.exports=function(a){if("string"!=typeof a)throw new TypeError("Expected a string, got `"+typeof a+"`");var p,t;return p=r(a,{customReplacements:[["&"," and "]]}).replace(/([A-Z]{2,})([a-z\d]+)/g,"$1 $2").replace(/([a-z\d]+)([A-Z]{2,})/g,"$1 $2").replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1 $2").toLowerCase().replace(/[^a-z\d]+/g,"-").replace(/\\/g,""),t=e("-"),p.replace(new RegExp(t+"{2,}","g"),"-").replace(new RegExp("^"+t+"|"+t+"$","g"),"")};