prettier 3.0.0-alpha.0 → 3.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +51 -67
- package/{bin-prettier.js → bin/prettier.cjs} +2 -2
- package/doc.js +438 -221
- package/doc.mjs +1490 -0
- package/index.cjs +532 -0
- package/{index.js → index.mjs} +4411 -5763
- package/{cli.mjs → internal/cli.mjs} +150 -94
- package/{third-party.js → internal/third-party.mjs} +129 -100
- package/package.json +139 -6
- package/plugins/acorn-and-espree.js +13 -0
- package/plugins/acorn-and-espree.mjs +13 -0
- package/plugins/angular.js +2 -0
- package/plugins/angular.mjs +2 -0
- package/plugins/babel.js +16 -0
- package/plugins/babel.mjs +16 -0
- package/plugins/flow.js +21 -0
- package/plugins/flow.mjs +21 -0
- package/{parser-glimmer.js → plugins/glimmer.js} +9 -9
- package/{esm/parser-glimmer.mjs → plugins/glimmer.mjs} +10 -10
- package/plugins/graphql.js +9 -0
- package/plugins/graphql.mjs +9 -0
- package/plugins/html.js +29 -0
- package/plugins/html.mjs +29 -0
- package/plugins/markdown.js +39 -0
- package/plugins/markdown.mjs +39 -0
- package/plugins/meriyah.js +6 -0
- package/plugins/meriyah.mjs +6 -0
- package/plugins/postcss.js +50 -0
- package/plugins/postcss.mjs +50 -0
- package/plugins/typescript.js +242 -0
- package/plugins/typescript.mjs +242 -0
- package/{parser-yaml.js → plugins/yaml.js} +1 -1
- package/{esm/parser-yaml.mjs → plugins/yaml.mjs} +1 -1
- package/standalone.js +70 -87
- package/standalone.mjs +107 -0
- package/esm/parser-angular.mjs +0 -2
- package/esm/parser-babel.mjs +0 -18
- package/esm/parser-espree.mjs +0 -15
- package/esm/parser-flow.mjs +0 -23
- package/esm/parser-graphql.mjs +0 -9
- package/esm/parser-html.mjs +0 -28
- package/esm/parser-markdown.mjs +0 -60
- package/esm/parser-meriyah.mjs +0 -8
- package/esm/parser-postcss.mjs +0 -53
- package/esm/parser-typescript.mjs +0 -269
- package/esm/standalone.mjs +0 -124
- package/parser-angular.js +0 -2
- package/parser-babel.js +0 -18
- package/parser-espree.js +0 -15
- package/parser-flow.js +0 -23
- package/parser-graphql.js +0 -9
- package/parser-html.js +0 -28
- package/parser-markdown.js +0 -60
- package/parser-meriyah.js +0 -8
- package/parser-postcss.js +0 -53
- package/parser-typescript.js +0 -269
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var ot=Object.defineProperty;var Xt=(r,e,t)=>e in r?ot(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var $=(r,e)=>()=>(r&&(e=r(r=0)),e);var Zt=(r,e)=>{for(var t in e)ot(r,t,{get:e[t],enumerable:!0})};var ye=(r,e,t)=>(Xt(r,typeof e!="symbol"?e+"":e,t),t);var g=$(()=>{});var Ee,pt,ut,lt=$(()=>{g();Ee=`
|
|
2
|
+
`,pt="\r",ut=function(){function r(e){this.length=e.length;for(var t=[0],s=0;s<e.length;)switch(e[s]){case Ee:s+=Ee.length,t.push(s);break;case pt:s+=pt.length,e[s]===Ee&&(s+=Ee.length),t.push(s);break;default:s++;break}this.offsets=t}return r.prototype.locationForIndex=function(e){if(e<0||e>this.length)return null;for(var t=0,s=this.offsets;s[t+1]<=e;)t++;var n=e-s[t];return{line:t,column:n}},r.prototype.indexForLocation=function(e){var t=e.line,s=e.column;return t<0||t>=this.offsets.length||s<0||s>this.lengthOfLine(t)?null:this.offsets[t]+s},r.prototype.lengthOfLine=function(e){var t=this.offsets[e],s=e===this.offsets.length-1?this.length:this.offsets[e+1];return s-t},r}()});var xe,Ue,xt=$(()=>{g();lt();xe=class{constructor(e){ye(this,"text");ye(this,"locator");this.text=e,this.locator=new Ue(this.text)}},Ue=class{constructor(e){ye(this,"_linesAndColumns");this._linesAndColumns=new ut(e)}locationForIndex(e){let{line:t,column:s}=this._linesAndColumns.locationForIndex(e);return{line:t+1,column:s,index:e}}}});var W,K,w,Q,C,T,Ae,j,H,M,z,q,X,$e,Z,J,O,Y,ee,Ce,N,L,te,re,se,ne,b,B,F,ie,Oe,ft,De=$(()=>{g();W=class{constructor(e,t,s,n){this.input=t,this.errLocation=s,this.ctxLocation=n,this.message=`Parser Error: ${e} ${s} [${t}] in ${n}`}},K=class{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new b(e+this.start,e+this.end)}},w=class{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},Q=class extends w{constructor(e,t,s){super(e,t),this.nameSpan=s}},C=class extends w{visit(e,t=null){}},T=class extends w{visit(e,t=null){return e.visitImplicitReceiver(this,t)}},Ae=class extends T{visit(e,t=null){var s;return(s=e.visitThisReceiver)==null?void 0:s.call(e,this,t)}},j=class extends w{constructor(e,t,s){super(e,t),this.expressions=s}visit(e,t=null){return e.visitChain(this,t)}},H=class extends w{constructor(e,t,s,n,i){super(e,t),this.condition=s,this.trueExp=n,this.falseExp=i}visit(e,t=null){return e.visitConditional(this,t)}},M=class extends Q{constructor(e,t,s,n,i){super(e,t,s),this.receiver=n,this.name=i}visit(e,t=null){return e.visitPropertyRead(this,t)}},z=class extends Q{constructor(e,t,s,n,i,a){super(e,t,s),this.receiver=n,this.name=i,this.value=a}visit(e,t=null){return e.visitPropertyWrite(this,t)}},q=class extends Q{constructor(e,t,s,n,i){super(e,t,s),this.receiver=n,this.name=i}visit(e,t=null){return e.visitSafePropertyRead(this,t)}},X=class extends w{constructor(e,t,s,n){super(e,t),this.receiver=s,this.key=n}visit(e,t=null){return e.visitKeyedRead(this,t)}},$e=class extends w{constructor(e,t,s,n){super(e,t),this.receiver=s,this.key=n}visit(e,t=null){return e.visitSafeKeyedRead(this,t)}},Z=class extends w{constructor(e,t,s,n,i){super(e,t),this.receiver=s,this.key=n,this.value=i}visit(e,t=null){return e.visitKeyedWrite(this,t)}},J=class extends Q{constructor(e,t,s,n,i,a){super(e,t,a),this.exp=s,this.name=n,this.args=i}visit(e,t=null){return e.visitPipe(this,t)}},O=class extends w{constructor(e,t,s){super(e,t),this.value=s}visit(e,t=null){return e.visitLiteralPrimitive(this,t)}},Y=class extends w{constructor(e,t,s){super(e,t),this.expressions=s}visit(e,t=null){return e.visitLiteralArray(this,t)}},ee=class extends w{constructor(e,t,s,n){super(e,t),this.keys=s,this.values=n}visit(e,t=null){return e.visitLiteralMap(this,t)}},Ce=class extends w{constructor(e,t,s,n){super(e,t),this.strings=s,this.expressions=n}visit(e,t=null){return e.visitInterpolation(this,t)}},N=class extends w{constructor(e,t,s,n,i){super(e,t),this.operation=s,this.left=n,this.right=i}visit(e,t=null){return e.visitBinary(this,t)}},L=class extends N{constructor(e,t,s,n,i,a,h){super(e,t,i,a,h),this.operator=s,this.expr=n,this.left=null,this.right=null,this.operation=null}static createMinus(e,t,s){return new L(e,t,"-",s,"-",new O(e,t,0),s)}static createPlus(e,t,s){return new L(e,t,"+",s,"-",s,new O(e,t,0))}visit(e,t=null){return e.visitUnary!==void 0?e.visitUnary(this,t):e.visitBinary(this,t)}},te=class extends w{constructor(e,t,s){super(e,t),this.expression=s}visit(e,t=null){return e.visitPrefixNot(this,t)}},re=class extends w{constructor(e,t,s){super(e,t),this.expression=s}visit(e,t=null){return e.visitNonNullAssert(this,t)}},se=class extends w{constructor(e,t,s,n,i){super(e,t),this.receiver=s,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitCall(this,t)}},ne=class extends w{constructor(e,t,s,n,i){super(e,t),this.receiver=s,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitSafeCall(this,t)}},b=class{constructor(e,t){this.start=e,this.end=t}},B=class extends w{constructor(e,t,s,n,i){super(new K(0,t===null?0:t.length),new b(n,t===null?n:n+t.length)),this.ast=e,this.source=t,this.location=s,this.errors=i}visit(e,t=null){return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return`${this.source} in ${this.location}`}},F=class{constructor(e,t,s){this.sourceSpan=e,this.key=t,this.value=s}},ie=class{constructor(e,t,s){this.sourceSpan=e,this.key=t,this.value=s}},Oe=class{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitAll(e,t){for(let s of e)this.visit(s,t)}};(function(r){r[r.DEFAULT=0]="DEFAULT",r[r.LITERAL_ATTR=1]="LITERAL_ATTR",r[r.ANIMATION=2]="ANIMATION"})(ft||(ft={}))});function dt(r){return r>=9&&r<=32||r==160}function _(r){return 48<=r&&r<=57}function vt(r){return r>=97&&r<=122||r>=65&&r<=90}function Ge(r){return r===39||r===34||r===96}var Ve=$(()=>{g();});function yt(r,e,t){return new P(r,e,v.Character,t,String.fromCharCode(t))}function Ir(r,e,t){return new P(r,e,v.Identifier,0,t)}function Pr(r,e,t){return new P(r,e,v.PrivateIdentifier,0,t)}function Rr(r,e,t){return new P(r,e,v.Keyword,0,t)}function Qe(r,e,t){return new P(r,e,v.Operator,0,t)}function Lr(r,e,t){return new P(r,e,v.String,0,t)}function br(r,e,t){return new P(r,e,v.Number,t,"")}function Br(r,e,t){return new P(r,e,v.Error,0,t)}function Et(r){return 97<=r&&r<=122||65<=r&&r<=90||r==95||r==36}function At(r){return vt(r)||_(r)||r==95||r==36}function Kr(r){return r==101||r==69}function Tr(r){return r==45||r==43}function _r(r){switch(r){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return r}}function Mr(r){let e=parseInt(r);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+r);return e}var v,kr,fe,P,Pe,je,ze=$(()=>{g();Ve();(function(r){r[r.Character=0]="Character",r[r.Identifier=1]="Identifier",r[r.PrivateIdentifier=2]="PrivateIdentifier",r[r.Keyword=3]="Keyword",r[r.String=4]="String",r[r.Operator=5]="Operator",r[r.Number=6]="Number",r[r.Error=7]="Error"})(v||(v={}));kr=["var","let","as","null","undefined","true","false","if","else","this"],fe=class{tokenize(e){let t=new je(e),s=[],n=t.scanToken();for(;n!=null;)s.push(n),n=t.scanToken();return s}},P=class{constructor(e,t,s,n,i){this.index=e,this.end=t,this.type=s,this.numValue=n,this.strValue=i}isCharacter(e){return this.type==v.Character&&this.numValue==e}isNumber(){return this.type==v.Number}isString(){return this.type==v.String}isOperator(e){return this.type==v.Operator&&this.strValue==e}isIdentifier(){return this.type==v.Identifier}isPrivateIdentifier(){return this.type==v.PrivateIdentifier}isKeyword(){return this.type==v.Keyword}isKeywordLet(){return this.type==v.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==v.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==v.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==v.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==v.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==v.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==v.Keyword&&this.strValue=="this"}isError(){return this.type==v.Error}toNumber(){return this.type==v.Number?this.numValue:-1}toString(){switch(this.type){case v.Character:case v.Identifier:case v.Keyword:case v.Operator:case v.PrivateIdentifier:case v.String:case v.Error:return this.strValue;case v.Number:return this.numValue.toString();default:return null}}};Pe=new P(-1,-1,v.Character,0,""),je=class{constructor(e){this.input=e,this.peek=0,this.index=-1,this.length=e.length,this.advance()}advance(){this.peek=++this.index>=this.length?0:this.input.charCodeAt(this.index)}scanToken(){let e=this.input,t=this.length,s=this.peek,n=this.index;for(;s<=32;)if(++n>=t){s=0;break}else s=e.charCodeAt(n);if(this.peek=s,this.index=n,n>=t)return null;if(Et(s))return this.scanIdentifier();if(_(s))return this.scanNumber(n);let i=n;switch(s){case 46:return this.advance(),_(this.peek)?this.scanNumber(i):yt(i,this.index,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(i,s);case 39:case 34:return this.scanString();case 35:return this.scanPrivateIdentifier();case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(i,String.fromCharCode(s));case 63:return this.scanQuestion(i);case 60:case 62:return this.scanComplexOperator(i,String.fromCharCode(s),61,"=");case 33:case 61:return this.scanComplexOperator(i,String.fromCharCode(s),61,"=",61,"=");case 38:return this.scanComplexOperator(i,"&",38,"&");case 124:return this.scanComplexOperator(i,"|",124,"|");case 160:for(;dt(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(s)}]`,0)}scanCharacter(e,t){return this.advance(),yt(e,this.index,t)}scanOperator(e,t){return this.advance(),Qe(e,this.index,t)}scanComplexOperator(e,t,s,n,i,a){this.advance();let h=t;return this.peek==s&&(this.advance(),h+=n),i!=null&&this.peek==i&&(this.advance(),h+=a),Qe(e,this.index,h)}scanIdentifier(){let e=this.index;for(this.advance();At(this.peek);)this.advance();let t=this.input.substring(e,this.index);return kr.indexOf(t)>-1?Rr(e,this.index,t):Ir(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!Et(this.peek))return this.error("Invalid character [#]",-1);for(;At(this.peek);)this.advance();let t=this.input.substring(e,this.index);return Pr(e,this.index,t)}scanNumber(e){let t=this.index===e,s=!1;for(this.advance();;){if(!_(this.peek))if(this.peek===95){if(!_(this.input.charCodeAt(this.index-1))||!_(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);s=!0}else if(this.peek===46)t=!1;else if(Kr(this.peek)){if(this.advance(),Tr(this.peek)&&this.advance(),!_(this.peek))return this.error("Invalid exponent",-1);t=!1}else break;this.advance()}let n=this.input.substring(e,this.index);s&&(n=n.replace(/_/g,""));let i=t?Mr(n):parseFloat(n);return br(e,this.index,i)}scanString(){let e=this.index,t=this.peek;this.advance();let s="",n=this.index,i=this.input;for(;this.peek!=t;)if(this.peek==92){s+=i.substring(n,this.index),this.advance();let h;if(this.peek=this.peek,this.peek==117){let d=i.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(d))h=parseInt(d,16);else return this.error(`Invalid unicode escape [\\u${d}]`,0);for(let f=0;f<5;f++)this.advance()}else h=_r(this.peek),this.advance();s+=String.fromCharCode(h),n=this.index}else{if(this.peek==0)return this.error("Unterminated quote",0);this.advance()}let a=i.substring(n,this.index);return this.advance(),Lr(e,this.index,s+a)}scanQuestion(e){this.advance();let t="?";return(this.peek===63||this.peek===46)&&(t+=this.peek===46?".":"?",this.advance()),Qe(e,this.index,t)}error(e,t){let s=this.index+t;return Br(s,this.index,`Lexer Error: ${e} at column ${s} in expression [${this.input}]`)}}});function Nt(r,e){if(e!=null&&!(Array.isArray(e)&&e.length==2))throw new Error(`Expected '${r}' to be an array, [start, end].`);if(e!=null){let t=e[0],s=e[1];Fr.forEach(n=>{if(n.test(t)||n.test(s))throw new Error(`['${t}', '${s}'] contains unusable interpolation symbol.`)})}}var Fr,kt=$(()=>{g();Fr=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]});var me,G,It=$(()=>{g();kt();me=class{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(Nt("interpolation",e),new me(e[0],e[1])):G}},G=new me("{{","}}")});function Ur(r){let e=new Map,t=0,s=0,n=0;for(;n<r.length;){let i=r[n];if(i.type===9){let[a,h]=i.parts;t+=h.length,s+=a.length}else{let a=i.parts.reduce((h,d)=>h+d.length,0);s+=a,t+=a}e.set(s,t),n++}return e}var qe,Xe,Se,pe,V,Ze,Pt=$(()=>{g();Ve();It();De();ze();qe=class{constructor(e,t,s){this.strings=e,this.expressions=t,this.offsets=s}},Xe=class{constructor(e,t,s){this.templateBindings=e,this.warnings=t,this.errors=s}},Se=class{constructor(e){this._lexer=e,this.errors=[]}parseAction(e,t,s,n,i=G){this._checkNoInterpolation(e,s,i);let a=this._stripComments(e),h=this._lexer.tokenize(a),d=1;t&&(d|=2);let f=new V(e,s,n,h,d,this.errors,0).parseChain();return new B(f,e,s,n,this.errors)}parseBinding(e,t,s,n=G){let i=this._parseBindingAst(e,t,s,n);return new B(i,e,t,s,this.errors)}checkSimpleExpression(e){let t=new Ze;return e.visit(t),t.errors}parseSimpleBinding(e,t,s,n=G){let i=this._parseBindingAst(e,t,s,n),a=this.checkSimpleExpression(i);return a.length>0&&this._reportError(`Host binding expression cannot contain ${a.join(" ")}`,e,t),new B(i,e,t,s,this.errors)}_reportError(e,t,s,n){this.errors.push(new W(e,t,s,n))}_parseBindingAst(e,t,s,n){this._checkNoInterpolation(e,t,n);let i=this._stripComments(e),a=this._lexer.tokenize(i);return new V(e,t,s,a,0,this.errors,0).parseChain()}parseTemplateBindings(e,t,s,n,i){let a=this._lexer.tokenize(t);return new V(t,s,i,a,0,this.errors,0).parseTemplateBindings({source:e,span:new b(n,n+e.length)})}parseInterpolation(e,t,s,n,i=G){let{strings:a,expressions:h,offsets:d}=this.splitInterpolation(e,t,n,i);if(h.length===0)return null;let f=[];for(let S=0;S<h.length;++S){let R=h[S].text,k=this._stripComments(R),E=this._lexer.tokenize(k),y=new V(e,t,s,E,0,this.errors,d[S]).parseChain();f.push(y)}return this.createInterpolationAst(a.map(S=>S.text),f,e,t,s)}parseInterpolationExpression(e,t,s){let n=this._stripComments(e),i=this._lexer.tokenize(n),a=new V(e,t,s,i,0,this.errors,0).parseChain(),h=["",""];return this.createInterpolationAst(h,[a],e,t,s)}createInterpolationAst(e,t,s,n,i){let a=new K(0,s.length),h=new Ce(a,a.toAbsolute(i),e,t);return new B(h,s,n,i,this.errors)}splitInterpolation(e,t,s,n=G){var y;let i=[],a=[],h=[],d=s?Ur(s):null,f=0,S=!1,R=!1,{start:k,end:E}=n;for(;f<e.length;)if(S){let o=f,c=o+k.length,x=this._getInterpolationEndIndex(e,E,c);if(x===-1){S=!1,R=!0;break}let u=x+E.length,l=e.substring(c,x);l.trim().length===0&&this._reportError("Blank expressions are not allowed in interpolated strings",e,`at column ${f} in`,t),a.push({text:l,start:o,end:u});let p=((y=d==null?void 0:d.get(o))!=null?y:o)+k.length;h.push(p),f=u,S=!1}else{let o=f;f=e.indexOf(k,f),f===-1&&(f=e.length);let c=e.substring(o,f);i.push({text:c,start:o,end:f}),S=!0}if(!S)if(R){let o=i[i.length-1];o.text+=e.substring(f),o.end=e.length}else i.push({text:e.substring(f),start:f,end:e.length});return new qe(i,a,h)}wrapLiteralPrimitive(e,t,s){let n=new K(0,e==null?0:e.length);return new B(new O(n,n.toAbsolute(s),e),e,t,s,this.errors)}_stripComments(e){let t=this._commentStart(e);return t!=null?e.substring(0,t):e}_commentStart(e){let t=null;for(let s=0;s<e.length-1;s++){let n=e.charCodeAt(s),i=e.charCodeAt(s+1);if(n===47&&i==47&&t==null)return s;t===n?t=null:t==null&&Ge(n)&&(t=n)}return null}_checkNoInterpolation(e,t,{start:s,end:n}){let i=-1,a=-1;for(let h of this._forEachUnquotedChar(e,0))if(i===-1)e.startsWith(s)&&(i=h);else if(a=this._getInterpolationEndIndex(e,n,h),a>-1)break;i>-1&&a>-1&&this._reportError(`Got interpolation (${s}${n}) where expression was expected`,e,`at column ${i} in`,t)}_getInterpolationEndIndex(e,t,s){for(let n of this._forEachUnquotedChar(e,s)){if(e.startsWith(t,n))return n;if(e.startsWith("//",n))return e.indexOf(t,n)}return-1}*_forEachUnquotedChar(e,t){let s=null,n=0;for(let i=t;i<e.length;i++){let a=e[i];Ge(e.charCodeAt(i))&&(s===null||s===a)&&n%2===0?s=s===null?a:null:s===null&&(yield i),n=a==="\\"?n+1:0}}};(function(r){r[r.None=0]="None",r[r.Writable=1]="Writable"})(pe||(pe={}));V=class{constructor(e,t,s,n,i,a,h){this.input=e,this.location=t,this.absoluteOffset=s,this.tokens=n,this.parseFlags=i,this.errors=a,this.offset=h,this.rparensExpected=0,this.rbracketsExpected=0,this.rbracesExpected=0,this.context=pe.None,this.sourceSpanCache=new Map,this.index=0}peek(e){let t=this.index+e;return t<this.tokens.length?this.tokens[t]:Pe}get next(){return this.peek(0)}get atEOF(){return this.index>=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.input.length+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let s=this.currentEndIndex;if(t!==void 0&&t>this.currentEndIndex&&(s=t),e>s){let n=s;s=e,e=n}return new K(e,s)}sourceSpan(e,t){let s=`${e}@${this.inputIndex}:${t}`;return this.sourceSpanCache.has(s)||this.sourceSpanCache.set(s,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(s)}advance(){this.index++}withContext(e,t){this.context|=e;let s=t();return this.context^=e,s}consumeOptionalCharacter(e){return this.next.isCharacter(e)?(this.advance(),!0):!1}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error(`Missing expected ${String.fromCharCode(e)}`)}consumeOptionalOperator(e){return this.next.isOperator(e)?(this.advance(),!0):!1}expectOperator(e){this.consumeOptionalOperator(e)||this.error(`Missing expected operator ${e}`)}prettyPrintToken(e){return e===Pe?"end of input":`token ${e}`}expectIdentifierOrKeyword(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier or keyword`),null):(this.advance(),e.toString())}expectIdentifierOrKeywordOrString(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()&&!e.isString()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier, keyword, or string`),""):(this.advance(),e.toString())}parseChain(){let e=[],t=this.inputIndex;for(;this.index<this.tokens.length;){let s=this.parsePipe();if(e.push(s),this.consumeOptionalCharacter(59))for(this.parseFlags&1||this.error("Binding expression cannot contain chained expression");this.consumeOptionalCharacter(59););else if(this.index<this.tokens.length){let n=this.index;if(this.error(`Unexpected token '${this.next}'`),this.index===n)break}}if(e.length===0){let s=this.offset,n=this.offset+this.input.length;return new C(this.span(s,n),this.sourceSpan(s,n))}return e.length==1?e[0]:new j(this.span(t),this.sourceSpan(t),e)}parsePipe(){let e=this.inputIndex,t=this.parseExpression();if(this.consumeOptionalOperator("|")){this.parseFlags&1&&this.error("Cannot have a pipe in an action expression");do{let s=this.inputIndex,n=this.expectIdentifierOrKeyword(),i,a;n!==null?i=this.sourceSpan(s):(n="",a=this.next.index!==-1?this.next.index:this.input.length+this.offset,i=new K(a,a).toAbsolute(this.absoluteOffset));let h=[];for(;this.consumeOptionalCharacter(58);)h.push(this.parseExpression());t=new J(this.span(e),this.sourceSpan(e,a),t,n,h,i)}while(this.consumeOptionalOperator("|"))}return t}parseExpression(){return this.parseConditional()}parseConditional(){let e=this.inputIndex,t=this.parseLogicalOr();if(this.consumeOptionalOperator("?")){let s=this.parsePipe(),n;if(this.consumeOptionalCharacter(58))n=this.parsePipe();else{let i=this.inputIndex,a=this.input.substring(e,i);this.error(`Conditional expression ${a} requires all 3 expressions`),n=new C(this.span(e),this.sourceSpan(e))}return new H(this.span(e),this.sourceSpan(e),t,s,n)}else return t}parseLogicalOr(){let e=this.inputIndex,t=this.parseLogicalAnd();for(;this.consumeOptionalOperator("||");){let s=this.parseLogicalAnd();t=new N(this.span(e),this.sourceSpan(e),"||",t,s)}return t}parseLogicalAnd(){let e=this.inputIndex,t=this.parseNullishCoalescing();for(;this.consumeOptionalOperator("&&");){let s=this.parseNullishCoalescing();t=new N(this.span(e),this.sourceSpan(e),"&&",t,s)}return t}parseNullishCoalescing(){let e=this.inputIndex,t=this.parseEquality();for(;this.consumeOptionalOperator("??");){let s=this.parseEquality();t=new N(this.span(e),this.sourceSpan(e),"??",t,s)}return t}parseEquality(){let e=this.inputIndex,t=this.parseRelational();for(;this.next.type==v.Operator;){let s=this.next.strValue;switch(s){case"==":case"===":case"!=":case"!==":this.advance();let n=this.parseRelational();t=new N(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parseRelational(){let e=this.inputIndex,t=this.parseAdditive();for(;this.next.type==v.Operator;){let s=this.next.strValue;switch(s){case"<":case">":case"<=":case">=":this.advance();let n=this.parseAdditive();t=new N(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parseAdditive(){let e=this.inputIndex,t=this.parseMultiplicative();for(;this.next.type==v.Operator;){let s=this.next.strValue;switch(s){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new N(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parseMultiplicative(){let e=this.inputIndex,t=this.parsePrefix();for(;this.next.type==v.Operator;){let s=this.next.strValue;switch(s){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new N(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parsePrefix(){if(this.next.type==v.Operator){let e=this.inputIndex,t=this.next.strValue,s;switch(t){case"+":return this.advance(),s=this.parsePrefix(),L.createPlus(this.span(e),this.sourceSpan(e),s);case"-":return this.advance(),s=this.parsePrefix(),L.createMinus(this.span(e),this.sourceSpan(e),s);case"!":return this.advance(),s=this.parsePrefix(),new te(this.span(e),this.sourceSpan(e),s)}}return this.parseCallChain()}parseCallChain(){let e=this.inputIndex,t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(46))t=this.parseAccessMember(t,e,!1);else if(this.consumeOptionalOperator("?."))this.consumeOptionalCharacter(40)?t=this.parseCall(t,e,!0):t=this.consumeOptionalCharacter(91)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMember(t,e,!0);else if(this.consumeOptionalCharacter(91))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(40))t=this.parseCall(t,e,!1);else if(this.consumeOptionalOperator("!"))t=new re(this.span(e),this.sourceSpan(e),t);else return t}parsePrimary(){let e=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;let t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),t}else{if(this.next.isKeywordNull())return this.advance(),new O(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new O(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new O(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new O(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Ae(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;let t=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new Y(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMember(new T(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new O(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new O(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new C(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new C(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new C(this.span(e),this.sourceSpan(e)))}}}parseExpressionList(e){let t=[];do if(!this.next.isCharacter(e))t.push(this.parsePipe());else break;while(this.consumeOptionalCharacter(44));return t}parseLiteralMap(){let e=[],t=[],s=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(125)){this.rbracesExpected++;do{let n=this.inputIndex,i=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();if(e.push({key:a,quoted:i}),i)this.expectCharacter(58),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(58))t.push(this.parsePipe());else{let h=this.span(n),d=this.sourceSpan(n);t.push(new M(h,d,d,new T(h,d),a))}}while(this.consumeOptionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new ee(this.span(s),this.sourceSpan(s),e,t)}parseAccessMember(e,t,s){let n=this.inputIndex,i=this.withContext(pe.Writable,()=>{var f;let d=(f=this.expectIdentifierOrKeyword())!=null?f:"";return d.length===0&&this.error("Expected identifier for property access",e.span.end),d}),a=this.sourceSpan(n),h;if(s)this.consumeOptionalAssignment()?(this.error("The '?.' operator cannot be used in the assignment"),h=new C(this.span(t),this.sourceSpan(t))):h=new q(this.span(t),this.sourceSpan(t),a,e,i);else if(this.consumeOptionalAssignment()){if(!(this.parseFlags&1))return this.error("Bindings cannot contain assignments"),new C(this.span(t),this.sourceSpan(t));let d=this.parseConditional();h=new z(this.span(t),this.sourceSpan(t),a,e,i,d)}else h=new M(this.span(t),this.sourceSpan(t),a,e,i);return h}parseCall(e,t,s){let n=this.inputIndex;this.rparensExpected++;let i=this.parseCallArguments(),a=this.span(n,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(41),this.rparensExpected--;let h=this.span(t),d=this.sourceSpan(t);return s?new ne(h,d,e,i,a):new se(h,d,e,i,a)}consumeOptionalAssignment(){return this.parseFlags&2&&this.next.isOperator("!")&&this.peek(1).isOperator("=")?(this.advance(),this.advance(),!0):this.consumeOptionalOperator("=")}parseCallArguments(){if(this.next.isCharacter(41))return[];let e=[];do e.push(this.parsePipe());while(this.consumeOptionalCharacter(44));return e}expectTemplateBindingKey(){let e="",t=!1,s=this.currentAbsoluteOffset;do e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-");while(t);return{source:e,span:new b(s,s+e.length)}}parseTemplateBindings(e){let t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index<this.tokens.length;){let s=this.parseLetBinding();if(s)t.push(s);else{let n=this.expectTemplateBindingKey(),i=this.parseAsBinding(n);i?t.push(i):(n.source=e.source+n.source.charAt(0).toUpperCase()+n.source.substring(1),t.push(...this.parseDirectiveKeywordBindings(n)))}this.consumeStatementTerminator()}return new Xe(t,[],this.errors)}parseKeyedReadOrWrite(e,t,s){return this.withContext(pe.Writable,()=>{this.rbracketsExpected++;let n=this.parsePipe();if(n instanceof C&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(93),this.consumeOptionalOperator("="))if(s)this.error("The '?.' operator cannot be used in the assignment");else{let i=this.parseConditional();return new Z(this.span(t),this.sourceSpan(t),e,n,i)}else return s?new $e(this.span(t),this.sourceSpan(t),e,n):new X(this.span(t),this.sourceSpan(t),e,n);return new C(this.span(t),this.sourceSpan(t))})}parseDirectiveKeywordBindings(e){let t=[];this.consumeOptionalCharacter(58);let s=this.getDirectiveBoundTarget(),n=this.currentAbsoluteOffset,i=this.parseAsBinding(e);i||(this.consumeStatementTerminator(),n=this.currentAbsoluteOffset);let a=new b(e.span.start,n);return t.push(new ie(a,e,s)),i&&t.push(i),t}getDirectiveBoundTarget(){if(this.next===Pe||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:s}=e.span,n=this.input.substring(t,s);return new B(e,n,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();let t=this.expectTemplateBindingKey();this.consumeStatementTerminator();let s=new b(e.span.start,this.currentAbsoluteOffset);return new F(s,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;let e=this.currentAbsoluteOffset;this.advance();let t=this.expectTemplateBindingKey(),s=null;this.consumeOptionalOperator("=")&&(s=this.expectTemplateBindingKey()),this.consumeStatementTerminator();let n=new b(e,this.currentAbsoluteOffset);return new F(n,t,s)}consumeStatementTerminator(){this.consumeOptionalCharacter(59)||this.consumeOptionalCharacter(44)}error(e,t=null){this.errors.push(new W(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(e=null){return e==null&&(e=this.index),e<this.tokens.length?`at column ${this.tokens[e].index+1} in`:"at the end of the expression"}_reportErrorForPrivateIdentifier(e,t){let s=`Private identifiers are not supported. Unexpected private identifier: ${e}`;t!==null&&(s+=`, ${t}`),this.error(s)}skip(){let e=this.next;for(;this.index<this.tokens.length&&!e.isCharacter(59)&&!e.isOperator("|")&&(this.rparensExpected<=0||!e.isCharacter(41))&&(this.rbracesExpected<=0||!e.isCharacter(125))&&(this.rbracketsExpected<=0||!e.isCharacter(93))&&(!(this.context&pe.Writable)||!e.isOperator("="));)this.next.isError()&&this.errors.push(new W(this.next.toString(),this.input,this.locationText(),this.location)),this.advance(),e=this.next}},Ze=class extends Oe{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push("pipes")}}});var Re=$(()=>{g();De();ze();Pt()});function tt(){return new Se(new fe)}function rt(r,e){let t=tt(),{astInput:s,comments:n}=Mt(r,t),{ast:i,errors:a}=e(s,t);return st(a),{ast:i,comments:n}}function bt(r){return rt(r,(e,t)=>t.parseBinding(e,...Le))}function Bt(r){return rt(r,(e,t)=>t.parseSimpleBinding(e,...Le))}function Kt(r){return rt(r,(e,t)=>t.parseAction(e,!1,...Le))}function Tt(r){let e=tt(),{templateBindings:t,errors:s}=e.parseTemplateBindings(et,r,Lt,Je,Je);return st(s),t}function _t(r){let e=tt(),{astInput:t,comments:s}=Mt(r,e),n="{{",i="}}",{ast:a,errors:h}=e.parseInterpolation(n+t+i,...Le,null);st(h);let d=a.expressions[0],f=new Set;return Ye(d,S=>{f.has(S)||(S.start-=n.length,S.end-=n.length,f.add(S))}),{ast:d,comments:s}}function Ye(r,e){if(!(!r||typeof r!="object")){if(Array.isArray(r))return r.forEach(t=>Ye(t,e));for(let t of Object.keys(r)){let s=r[t];t==="span"?e(s):Ye(s,e)}}}function st(r){if(r.length!==0){let[{message:e}]=r;throw new SyntaxError(e.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function Mt(r,e){let t=e._commentStart(r);return t===null?{astInput:r,comments:[]}:{astInput:r.slice(0,t),comments:[{type:"Comment",value:r.slice(t+2),span:{start:t,end:r.length}}]}}function Ft(r){return r instanceof L?"Unary":r instanceof N?"Binary":r instanceof J?"BindingPipe":r instanceof se?"Call":r instanceof j?"Chain":r instanceof H?"Conditional":r instanceof C?"EmptyExpr":r instanceof T?"ImplicitReceiver":r instanceof X?"KeyedRead":r instanceof Z?"KeyedWrite":r instanceof Y?"LiteralArray":r instanceof ee?"LiteralMap":r instanceof O?"LiteralPrimitive":r instanceof re?"NonNullAssert":r instanceof te?"PrefixNot":r instanceof M?"PropertyRead":r instanceof z?"PropertyWrite":r instanceof ne?"SafeCall":r instanceof q?"SafePropertyRead":r.type}function Rt({start:r,end:e},t){let s=r,n=e;for(;n!==s&&/\s/.test(t[n-1]);)n--;for(;s!==n&&/\s/.test(t[s]);)s++;return{start:s,end:n}}function Gr({start:r,end:e},t){let s=r,n=e;for(;n!==t.length&&/\s/.test(t[n]);)n++;for(;s!==0&&/\s/.test(t[s-1]);)s--;return{start:s,end:n}}function Vr(r,e){return e[r.start-1]==="("&&e[r.end]===")"?{start:r.start-1,end:r.end+1}:r}function Ut(r,e,t){let s=0,n={start:r.start,end:r.end};for(;;){let i=Gr(n,e),a=Vr(i,e);if(i.start===a.start&&i.end===a.end)break;n.start=a.start,n.end=a.end,s++}return{hasParens:(t?s-1:s)!==0,outerSpan:Rt(t?{start:n.start+1,end:n.end-1}:n,e),innerSpan:Rt(r,e)}}function Dt(r,e,t){let s=e;for(;!r.test(t[s]);)if(--s<0)throw new Error(`Cannot find front char ${r} from index ${e} in ${JSON.stringify(t)}`);return s}function be(r,e,t){let s=e;for(;!r.test(t[s]);)if(++s>=t.length)throw new Error(`Cannot find back char ${r} from index ${e} in ${JSON.stringify(t)}`);return s}function Gt(r){return r.slice(0,1).toLowerCase()+r.slice(1)}function Vt(r){return r.length===0?void 0:r[r.length-1]}var Lt,et,Je,Le,Be=$(()=>{g();Re();Re();Lt="angular-estree-parser",et="NgEstreeParser",Je=0,Le=[Lt,Je]});function Ke(r,e,t=!1,s=!1){if(!t){let{start:h,end:d}=r;return{start:h,end:d,loc:{start:e.locator.locationForIndex(h),end:e.locator.locationForIndex(d)}}}let{outerSpan:n,innerSpan:i,hasParens:a}=Ut(r,e.text,s);return{start:i.start,end:i.end,loc:{start:e.locator.locationForIndex(i.start),end:e.locator.locationForIndex(i.end)},...a&&{extra:{parenthesized:!0,parenStart:n.start,parenEnd:n.end}}}}var ue,nt=$(()=>{g();Be();ue=(r,e,t=!1)=>{let s=Ft(r);switch(s){case"Unary":{let{operator:o,expr:c}=r,x=n(c);return a("UnaryExpression",{prefix:!0,argument:x,operator:o},r.span,{hasParentParens:t})}case"Binary":{let{left:o,operation:c,right:x}=r,u=n(o),l=n(x);return a(c==="&&"||c==="||"?"LogicalExpression":"BinaryExpression",{left:u,right:l,operator:c},{start:E(u),end:y(l)},{hasParentParens:t})}case"BindingPipe":{let{exp:o,name:c,args:x}=r,u=n(o),l=f(/\S/,f(/\|/,y(u))+1),m=a("Identifier",{name:c},{start:l,end:l+c.length}),p=x.map(n);return a("NGPipeExpression",{left:u,right:m,arguments:p},{start:E(u),end:y(p.length===0?m:Vt(p))},{hasParentParens:t})}case"Chain":{let{expressions:o}=r;return a("NGChainedExpression",{expressions:o.map(n)},r.span,{hasParentParens:t})}case"Comment":{let{value:o}=r;return a("CommentLine",{value:o},r.span,{processSpan:!1})}case"Conditional":{let{condition:o,trueExp:c,falseExp:x}=r,u=n(o),l=n(c),m=n(x);return a("ConditionalExpression",{test:u,consequent:l,alternate:m},{start:E(u),end:y(m)},{hasParentParens:t})}case"EmptyExpr":return a("NGEmptyExpression",{},r.span,{hasParentParens:t});case"ImplicitReceiver":return a("ThisExpression",{},r.span,{hasParentParens:t});case"KeyedRead":{let{key:o}=r,c=Object.prototype.hasOwnProperty.call(r,"receiver")?r.receiver:r.obj,x=n(o);return h(c,x,{computed:!0,optional:!1},{end:r.span.end,hasParentParens:t})}case"LiteralArray":{let{expressions:o}=r;return a("ArrayExpression",{elements:o.map(n)},r.span,{hasParentParens:t})}case"LiteralMap":{let{keys:o,values:c}=r,x=c.map(l=>n(l)),u=o.map(({key:l,quoted:m},p)=>{let I=x[p],le=E(I),it=y(I),Me=f(/\S/,p===0?r.span.start+1:f(/,/,y(x[p-1]))+1),zt=le===Me?it:d(/\S/,d(/:/,le-1)-1)+1,at={start:Me,end:zt},we=m?a("StringLiteral",{value:l},at):a("Identifier",{name:l},at),qt=we.end<we.start||Me===le;return a("ObjectProperty",{key:we,value:I,method:!1,shorthand:qt,computed:!1},{start:E(we),end:it})});return a("ObjectExpression",{properties:u},r.span,{hasParentParens:t})}case"LiteralPrimitive":{let{value:o}=r;switch(typeof o){case"boolean":return a("BooleanLiteral",{value:o},r.span,{hasParentParens:t});case"number":return a("NumericLiteral",{value:o},r.span,{hasParentParens:t});case"object":return a("NullLiteral",{},r.span,{hasParentParens:t});case"string":return a("StringLiteral",{value:o},r.span,{hasParentParens:t});case"undefined":return a("Identifier",{name:"undefined"},r.span,{hasParentParens:t});default:throw new Error(`Unexpected LiteralPrimitive value type ${typeof o}`)}}case"Call":case"SafeCall":{let o=s==="SafeCall",{receiver:c,args:x}=r,u=x.length===1?[i(x[0])]:x.map(n),l=n(c),m=R(l),p=o||m?"OptionalCallExpression":"CallExpression";return a(p,{callee:l,arguments:u,optional:p==="OptionalCallExpression"?o:void 0},{start:E(l),end:r.span.end},{hasParentParens:t})}case"NonNullAssert":{let{expression:o}=r,c=n(o);return a("TSNonNullExpression",{expression:c},{start:E(c),end:r.span.end},{hasParentParens:t})}case"PrefixNot":{let{expression:o}=r,c=n(o);return a("UnaryExpression",{prefix:!0,operator:"!",argument:c},{start:r.span.start,end:y(c)},{hasParentParens:t})}case"PropertyRead":case"SafePropertyRead":{let o=s==="SafePropertyRead",{receiver:c,name:x}=r,u=d(/\S/,r.span.end-1)+1,l=a("Identifier",{name:x},{start:u-x.length,end:u},S(c)?{hasParentParens:t}:{});return h(c,l,{computed:!1,optional:o},{hasParentParens:t})}case"KeyedWrite":{let{key:o,value:c}=r,x=Object.prototype.hasOwnProperty.call(r,"receiver")?r.receiver:r.obj,u=n(o),l=n(c),m=h(x,u,{computed:!0,optional:!1},{end:f(/\]/,y(u))+1});return a("AssignmentExpression",{left:m,operator:"=",right:l},{start:E(m),end:y(l)},{hasParentParens:t})}case"PropertyWrite":{let{receiver:o,name:c,value:x}=r,u=n(x),l=d(/\S/,d(/=/,E(u)-1)-1)+1,m=a("Identifier",{name:c},{start:l-c.length,end:l}),p=h(o,m,{computed:!1,optional:!1});return a("AssignmentExpression",{left:p,operator:"=",right:u},{start:E(p),end:y(u)},{hasParentParens:t})}default:throw new Error(`Unexpected node ${s}`)}function n(o){return ue(o,e)}function i(o){return ue(o,e,!0)}function a(o,c,x,{processSpan:u=!0,hasParentParens:l=!1}={}){let m={type:o,...Ke(x,e,u,l),...c};switch(o){case"Identifier":{let p=m;p.loc.identifierName=p.name;break}case"NumericLiteral":{let p=m;p.extra={...p.extra,raw:e.text.slice(p.start,p.end),rawValue:p.value};break}case"StringLiteral":{let p=m;p.extra={...p.extra,raw:e.text.slice(p.start,p.end),rawValue:p.value};break}case"ObjectProperty":{let p=m;p.shorthand&&(p.extra={...p.extra,shorthand:p.shorthand});break}}return m}function h(o,c,x,{end:u=y(c),hasParentParens:l=!1}={}){if(S(o)||o.span.start===c.start)return c;let m=n(o),p=R(m);return a(x.optional||p?"OptionalMemberExpression":"MemberExpression",{object:m,property:c,computed:x.computed,...x.optional?{optional:!0}:p?{optional:!1}:null},{start:E(m),end:u},{hasParentParens:l})}function d(o,c){return Dt(o,c,e.text)}function f(o,c){return be(o,c,e.text)}function S(o){return o.span.start>=o.span.end||/^\s+$/.test(e.text.slice(o.span.start,o.span.end))}function R(o){return(o.type==="OptionalCallExpression"||o.type==="OptionalMemberExpression")&&!k(o)}function k(o){return o.extra&&o.extra.parenthesized}function E(o){return k(o)?o.extra.parenStart:o.start}function y(o){return k(o)?o.extra.parenEnd:o.end}}});function Wt(r,e){r.forEach(E);let[t]=r,{key:s}=t,n=e.text.slice(t.sourceSpan.start,t.sourceSpan.end).trim().length===0?r.slice(1):r,i=[],a=null;for(let c=0;c<n.length;c++){let x=n[c];if(a&&R(a)&&k(x)&&x.value&&x.value.source===a.key.source){let u=f("NGMicrosyntaxKey",{name:x.key.source},x.key.span),l=(I,le)=>({...I,...Ke({start:I.start,end:le},e)}),m=I=>({...l(I,u.end),alias:u}),p=i.pop();if(p.type==="NGMicrosyntaxExpression")i.push(m(p));else if(p.type==="NGMicrosyntaxKeyedExpression"){let I=m(p.expression);i.push(l({...p,expression:I},I.end))}else throw new Error(`Unexpected type ${p.type}`)}else i.push(h(x,c));a=x}return f("NGMicrosyntax",{body:i},i.length===0?r[0].sourceSpan:{start:i[0].start,end:i[i.length-1].end});function h(c,x){if(R(c)){let{key:u,value:l}=c;return l?x===0?f("NGMicrosyntaxExpression",{expression:d(l.ast),alias:null},l.sourceSpan):f("NGMicrosyntaxKeyedExpression",{key:f("NGMicrosyntaxKey",{name:S(u.source)},u.span),expression:f("NGMicrosyntaxExpression",{expression:d(l.ast),alias:null},l.sourceSpan)},{start:u.span.start,end:l.sourceSpan.end}):f("NGMicrosyntaxKey",{name:S(u.source)},u.span)}else{let{key:u,sourceSpan:l}=c;if(/^let\s$/.test(e.text.slice(l.start,l.start+4))){let{value:p}=c;return f("NGMicrosyntaxLet",{key:f("NGMicrosyntaxKey",{name:u.source},u.span),value:p?f("NGMicrosyntaxKey",{name:p.source},p.span):null},{start:l.start,end:p?p.span.end:u.span.end})}else{let p=o(c);return f("NGMicrosyntaxAs",{key:f("NGMicrosyntaxKey",{name:p.source},p.span),alias:f("NGMicrosyntaxKey",{name:u.source},u.span)},{start:p.span.start,end:u.span.end})}}}function d(c){return ue(c,e)}function f(c,x,u,l=!0){return{type:c,...Ke(u,e,l),...x}}function S(c){return Gt(c.slice(s.source.length))}function R(c){return c instanceof ie}function k(c){return c instanceof F}function E(c){y(c.key.span),k(c)&&c.value&&y(c.value.span)}function y(c){if(e.text[c.start]!=='"'&&e.text[c.start]!=="'")return;let x=e.text[c.start],u=!1;for(let l=c.start+1;l<e.text.length;l++)switch(e.text[l]){case x:if(!u){c.end=l+1;return}default:u=!1;break;case"\\":u=!u;break}}function o(c){if(!c.value||c.value.source!==et)return c.value;let x=be(/\S/,c.sourceSpan.start,e.text);return{source:"$implicit",span:{start:x,end:x}}}}var Qt=$(()=>{g();Re();nt();Be()});var jt={};Zt(jt,{parseAction:()=>Hr,parseBinding:()=>Wr,parseInterpolation:()=>jr,parseSimpleBinding:()=>Qr,parseTemplateBindings:()=>zr});function Te(r,e){let{ast:t,comments:s}=e(r),n=new xe(r),i=h=>ue(h,n),a=i(t);return a.comments=s.map(h=>i(h)),a}function Wr(r){return Te(r,bt)}function Qr(r){return Te(r,Bt)}function jr(r){return Te(r,_t)}function Hr(r){return Te(r,Kt)}function zr(r){return Wt(Tt(r),new xe(r))}var Ht=$(()=>{g();xt();nt();Qt();Be()});g();g();g();function Jt(r){return Array.isArray(r)&&r.length>0}var ct=Jt;function Fe(r,e){let{ignoreDecorators:t}=e||{};if(!t){let s=r.declaration&&r.declaration.decorators||r.decorators;if(ct(s))return Fe(s[0])}return r.range?r.range[0]:r.start}function ht(r){return r.range?r.range[1]:r.end}function _e(r){return{astFormat:"estree",parse:async(t,s)=>{let n=await Promise.resolve().then(()=>(Ht(),jt)),i=r(t,n);return{type:"NGRoot",node:s.parser==="__ng_action"&&i.type!=="NGChainedExpression"?{...i,type:"NGChainedExpression",expressions:[i]}:i}},locStart:Fe,locEnd:ht}}var qr={parsers:{__ng_action:_e((r,e)=>e.parseAction(r)),__ng_binding:_e((r,e)=>e.parseBinding(r)),__ng_interpolation:_e((r,e)=>e.parseInterpolation(r)),__ng_directive:_e((r,e)=>e.parseTemplateBindings(r))}},js=qr;export{js as default};
|