UNPKG

sluga

Version:
2 lines (1 loc) 790 B
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,c){if("string"!=typeof n)throw new TypeError("Expected a string, got `"+typeof n+"`");var o=n,a=c||{};a=[{customReplacements:[]},a].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 u=[].concat(t).concat(a.customReplacements).filter(Boolean);return o=function(e,t){return t.reduce(function(e,t){var n=t[0],c=t[1];return"string"!=typeof n?e:e.replace(new RegExp(r(n),"g"),c)},e)}(o=o.normalize(),u),e(o)};