sed-lite
Version:
`sed` compiler for JavaScript
1 lines • 866 B
JavaScript
var sed=function(r){var n=function(n){var t;if("string"!=typeof n&&(n=String(n)),n=n.replace(/^(\s+|;|#[^\r\n]*([\r\n]+|$))*/g,"")){var a,f,o=(n[1]||"/").replace(/([^\w\/#:])/,"\\$1"),u="((?:\\\\.|[^\\\\\\\\"+o+"])*)",i="^s"+o+u+o+u+o+"([^;#\\s]*)";if(n=n.replace(new RegExp(i),(function(r,n,a,f){var o=new RegExp(n,f),u=function(r){return r.replace(/\\(x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|.)/g,(function(r,n){return r.length>2?String.fromCharCode(parseInt(r.substr(2),16)):e[n]||n}))}(a);return t=function(r){return r.replace(o,u)},""})),!t)throw new SyntaxError("Invalid: "+n);if(n=n.replace(/^(\s+|#[^\r\n]*([\r\n]+|$))*/g,"")){if(";"!==n[0])throw new SyntaxError("Add ';' before: "+n);var c=(0,r.sed)(n);c&&(a=t,f=c,t=function(r){return f(a(r))})}return t}};r.sed=n;var e={b:"\b",f:"\f",n:"\n",r:"\r",t:"\t",v:"\v"};return n}("undefined"!=typeof exports?exports:{});