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