sluga
Version:
Slugify a string
2 lines (1 loc) • 869 B
JavaScript
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){var e=require("lodash.deburr"),r=require("escape-string-regexp"),t=require("./replacements");Object.keys||(Object.keys=function(e){if(e!==Object(e))throw new TypeError("Object.keys called on a non-object");var r,t=[];for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t}),module.exports=function(n,o){if("string"!=typeof n)throw new TypeError("Expected a string, got `"+typeof n+"`");var c=n,u=o||{};u=[{customReplacements:[]},u].reduce(function(e,r){try{var t=e;return Object.keys(r).forEach(function(e){t[e]=r[e]}),t}catch(r){return e}},{});var a=[].concat(t).concat(u.customReplacements).filter(Boolean);return c=function(e,t){return t.reduce(function(e,t){var n=t[0],o=t[1];return"string"!=typeof n?e:e.replace(new RegExp(r(n),"g"),o)},e)}(c=c.normalize(),a),e(c)}});