projen
Version:
CDK for software projects
1 lines • 2.08 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"getProperties",{enumerable:!0,get:function(){return q}});var _=function(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1},S=function(e){if(-1===e.indexOf("\\"))return e;for(var r=e.length,a="",t=0,c=0;c<r;)if(92===e.charCodeAt(c)){if(c>t&&(a+=e.slice(t,c)),++c>=r){a+="\\",t=c;break}switch(e.charCodeAt(c)){case 110:a+="\n",c++;break;case 116:a+="\t",c++;break;case 114:a+="\r",c++;break;case 102:a+="\f",c++;break;case 117:if(c+4>=r)throw new Error("malformed escaped unicode characters '".concat(e.slice(c-1,c+5),"'"));var o=_(e.charCodeAt(c+1)),i=_(e.charCodeAt(c+2)),n=_(e.charCodeAt(c+3)),f=_(e.charCodeAt(c+4));if(o<0||i<0||n<0||f<0)throw new Error("malformed escaped unicode characters '".concat(e.slice(c-1,c+5),"'"));a+=String.fromCharCode(o<<12|i<<8|n<<4|f),c+=5;break;default:a+=e.charAt(c),c++}t=c}else c++;return t<r&&(a+=e.slice(t,r)),a},H=function(e,r,a){for(;r<a;){var t=e.charCodeAt(r);if(32!==t&&9!==t&&12!==t)break;r++}return r},q=function(e){for(var r="string"==typeof e?e:e.toString(),a={},t=(r.length>0&&65279===r.charCodeAt(0)?r.slice(1):r).split(/\r\n|\r|\n/),c=t.length,o=0;o<c;){var i=t[o],n=i.length,f=H(i,0,n);if(f>=n)o++;else{var s=i.charCodeAt(f);if(35!==s&&33!==s){for(var d=0,l=n-1;l>=0&&92===i.charCodeAt(l);l--)d++;var h=d%2==1,v=void 0,u=void 0;if(h){var C=(f>0?i.slice(f):i).slice(0,-1),A=[C];for(u=-1!==C.indexOf("\\");h&&o+1<c;){var b=t[++o],g=b.length,p=H(b,0,g);d=0;for(var k=g-1;k>=p&&92===b.charCodeAt(k);k--)d++;var _=(h=d%2==1)?b.slice(p,g-1):b.slice(p);!u&&-1!==_.indexOf("\\")&&(u=!0),A.push(_)}v=A.join("")}else u=-1!==(v=f>0?i.slice(f):i).indexOf("\\");for(var m=v.length,x=0,O=!1;x<m;){var w=v.charCodeAt(x);if(92!==w){if(!O&&(61===w||58===w||32===w||9===w||12===w))break;O=!1,x++}else O=!O,x++}var j=x;if(j<m){var y=v.charCodeAt(j);(32===y||9===y||12===y)&&((j=H(v,j,m))<m&&(y=v.charCodeAt(j))),j<m&&(61===y||58===y)&&(j++,j=H(v,j,m))}var P=v.slice(0,x),q=v.slice(j);a[u?S(P):P]=u?S(q):q,o++}else o++}}return a};