foxts
Version:
Opinionated collection of common TypeScript utils by @SukkaW
2 lines (1 loc) • 655 B
JavaScript
let e=/[$()*+.?[\\\]^{|}]/,a=/[$()*+.?[\\\]^{|}-]/;function c(r,s=!0){let b=(s?a:e).exec(r);if(null===b)return r;let k="",t="",l=b.index,n=0;for(let e=r.length;l<e;l++){switch(r.charCodeAt(l)){case 92:k="\\\\";break;case 94:k="\\^";break;case 36:k="\\$";break;case 46:k="\\.";break;case 42:k="\\*";break;case 43:k="\\+";break;case 63:k="\\?";break;case 40:k="\\(";break;case 41:k="\\)";break;case 91:k="\\[";break;case 93:k="\\]";break;case 123:k="\\{";break;case 125:k="\\}";break;case 124:k="\\|";break;case 45:k=s?"\\x2d":"-";break;default:continue}n!==l&&(t+=r.slice(n,l)),n=l+1,t+=k}return n!==l&&(t+=r.slice(n,l)),t}export{c as escapeStringRegexp};