@samlevy/string-helpers
Version:
Basic string helper functions
3 lines (2 loc) • 1.51 kB
JavaScript
var r=function(r){return r.charAt(0).toLowerCase()+r.slice(1)},e=function(r){return r.charAt(0).toUpperCase()+r.slice(1)},n=function(r){return r.replace(/((?<=^|[^a-z])[a-z][A-Z]{2,}|(?<=^|[^A-Z])[A-Z][a-z]{2,}|(?<=^|[^a-zA-Z])[a-z]+|(?<=^|[^a-zA-Z])[A-Z]+)/g,function(r){return e(r.toLowerCase())})},t=function(r){return r.split(/[^a-z0-9]/gi).map(n).join("")},a=function(e){return r(t(e))},i=function(r){return t(r).replaceAll(/(?<=^|[a-z])([A-Z0-9])/g," $1").replaceAll(/(?<=^|[0-9])([A-Za-z])/g," $1").trim()},o=function(r){return void 0===r&&(r=16),Array.from(crypto.getRandomValues(new Uint8Array(Math.max(1,r))),function(r){return r.toString(36)}).join("").substring(0,Math.max(1,r))},u=function(r){return r.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")},l={sanitize:u,path:function(r,e,n){void 0===e&&(e="^"),void 0===n&&(n="$");var t=e,a=n,i=null!=r?r:"";return i.startsWith("*.")&&(t=e+"[a-zA-Z0-9-_]+",i=i.slice(1)),i.endsWith(".*")&&(a="[a-zA-Z0-9-_.]+"+n,i=i.slice(0,-1)),i=i.split(".*.").map(u).join(".[a-zA-Z0-9-_]+."),new RegExp(""+t+i+a)}},c=function(r){return t(r).replaceAll(/(?<=[a-z])([A-Z0-9])/g,"_$1").replaceAll(/(?<=[0-9])([A-Za-z])/g,"_$1").toLowerCase()},s=function(r){return r.replaceAll(/\s+/g," ").trim()},A={camel:a,headline:i,lcfirst:r,normalize:n,random:o,regex:l,snake:c,squish:s,studly:t,ucfirst:e};export{a as camel,A as default,i as headline,r as lcfirst,n as normalize,o as random,l as regex,c as snake,s as squish,t as studly,e as ucfirst};
//# sourceMappingURL=string-helpers.js.map