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.
Files changed (56) hide show
  1. package/LICENSE +51 -67
  2. package/{bin-prettier.js → bin/prettier.cjs} +2 -2
  3. package/doc.js +438 -221
  4. package/doc.mjs +1490 -0
  5. package/index.cjs +532 -0
  6. package/{index.js → index.mjs} +4411 -5763
  7. package/{cli.mjs → internal/cli.mjs} +150 -94
  8. package/{third-party.js → internal/third-party.mjs} +129 -100
  9. package/package.json +139 -6
  10. package/plugins/acorn-and-espree.js +13 -0
  11. package/plugins/acorn-and-espree.mjs +13 -0
  12. package/plugins/angular.js +2 -0
  13. package/plugins/angular.mjs +2 -0
  14. package/plugins/babel.js +16 -0
  15. package/plugins/babel.mjs +16 -0
  16. package/plugins/flow.js +21 -0
  17. package/plugins/flow.mjs +21 -0
  18. package/{parser-glimmer.js → plugins/glimmer.js} +9 -9
  19. package/{esm/parser-glimmer.mjs → plugins/glimmer.mjs} +10 -10
  20. package/plugins/graphql.js +9 -0
  21. package/plugins/graphql.mjs +9 -0
  22. package/plugins/html.js +29 -0
  23. package/plugins/html.mjs +29 -0
  24. package/plugins/markdown.js +39 -0
  25. package/plugins/markdown.mjs +39 -0
  26. package/plugins/meriyah.js +6 -0
  27. package/plugins/meriyah.mjs +6 -0
  28. package/plugins/postcss.js +50 -0
  29. package/plugins/postcss.mjs +50 -0
  30. package/plugins/typescript.js +242 -0
  31. package/plugins/typescript.mjs +242 -0
  32. package/{parser-yaml.js → plugins/yaml.js} +1 -1
  33. package/{esm/parser-yaml.mjs → plugins/yaml.mjs} +1 -1
  34. package/standalone.js +70 -87
  35. package/standalone.mjs +107 -0
  36. package/esm/parser-angular.mjs +0 -2
  37. package/esm/parser-babel.mjs +0 -18
  38. package/esm/parser-espree.mjs +0 -15
  39. package/esm/parser-flow.mjs +0 -23
  40. package/esm/parser-graphql.mjs +0 -9
  41. package/esm/parser-html.mjs +0 -28
  42. package/esm/parser-markdown.mjs +0 -60
  43. package/esm/parser-meriyah.mjs +0 -8
  44. package/esm/parser-postcss.mjs +0 -53
  45. package/esm/parser-typescript.mjs +0 -269
  46. package/esm/standalone.mjs +0 -124
  47. package/parser-angular.js +0 -2
  48. package/parser-babel.js +0 -18
  49. package/parser-espree.js +0 -15
  50. package/parser-flow.js +0 -23
  51. package/parser-graphql.js +0 -9
  52. package/parser-html.js +0 -28
  53. package/parser-markdown.js +0 -60
  54. package/parser-meriyah.js +0 -8
  55. package/parser-postcss.js +0 -53
  56. package/parser-typescript.js +0 -269
@@ -1,2 +0,0 @@
1
- var cs=Object.create;var _e=Object.defineProperty;var hs=Object.getOwnPropertyDescriptor;var ps=Object.getOwnPropertyNames;var us=Object.getPrototypeOf,ls=Object.prototype.hasOwnProperty;var j=(r,e)=>()=>(r&&(e=r(r=0)),e);var le=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ze=(r,e)=>{for(var t in e)_e(r,t,{get:e[t],enumerable:!0})},Pt=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ps(e))!ls.call(r,n)&&n!==t&&_e(r,n,{get:()=>e[n],enumerable:!(s=hs(e,n))||s.enumerable});return r};var ds=(r,e,t)=>(t=r!=null?cs(us(r)):{},Pt(e||!r||!r.__esModule?_e(t,"default",{value:r,enumerable:!0}):t,r)),be=r=>Pt(_e({},"__esModule",{value:!0}),r);var m=j(()=>{});var bt=le(we=>{"use strict";m();we.__esModule=!0;we.LinesAndColumns=void 0;var Be=`
2
- `,Lt="\r",_t=function(){function r(e){this.string=e;for(var t=[0],s=0;s<e.length;)switch(e[s]){case Be:s+=Be.length,t.push(s);break;case Lt:s+=Lt.length,e[s]===Be&&(s+=Be.length),t.push(s);break;default:s++;break}this.offsets=t}return r.prototype.locationForIndex=function(e){if(e<0||e>this.string.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.string.length:this.offsets[e+1];return s-t},r}();we.LinesAndColumns=_t;we.default=_t});var Bt=le(Te=>{"use strict";m();Object.defineProperty(Te,"__esModule",{value:!0});Te.Context=void 0;var fs=bt(),Ye=class{constructor(e){this.text=e,this.locator=new et(this.text)}};Te.Context=Ye;var et=class{constructor(e){this._lineAndColumn=new fs.default(e)}locationForIndex(e){let{line:t,column:s}=this._lineAndColumn.locationForIndex(e);return{line:t+1,column:s}}}});var ot={};Ze(ot,{AST:()=>E,ASTWithName:()=>M,ASTWithSource:()=>K,AbsoluteSourceSpan:()=>B,AstMemoryEfficientTransformer:()=>st,AstTransformer:()=>tt,Binary:()=>I,BindingPipe:()=>Y,BoundElementProperty:()=>at,Chain:()=>V,Conditional:()=>q,EmptyExpr:()=>R,ExpressionBinding:()=>Ee,FunctionCall:()=>oe,ImplicitReceiver:()=>W,Interpolation:()=>se,KeyedRead:()=>X,KeyedWrite:()=>J,LiteralArray:()=>ee,LiteralMap:()=>te,LiteralPrimitive:()=>P,MethodCall:()=>ie,NonNullAssert:()=>ne,ParseSpan:()=>T,ParsedEvent:()=>nt,ParsedProperty:()=>rt,ParsedPropertyType:()=>Ce,ParsedVariable:()=>it,ParserError:()=>Q,PrefixNot:()=>re,PropertyRead:()=>F,PropertyWrite:()=>H,Quote:()=>de,RecursiveAstVisitor:()=>Ae,SafeKeyedRead:()=>Z,SafeMethodCall:()=>ae,SafePropertyRead:()=>z,ThisReceiver:()=>ye,Unary:()=>L,VariableBinding:()=>xe});var Q,T,E,M,de,R,W,ye,V,q,F,H,z,X,Z,J,Y,P,ee,te,se,I,L,re,ne,ie,ae,oe,B,K,xe,Ee,Ae,tt,st,rt,Ce,nt,it,at,Ke=j(()=>{m();Q=class{constructor(e,t,s,n){this.input=t,this.errLocation=s,this.ctxLocation=n,this.message=`Parser Error: ${e} ${s} [${t}] in ${n}`}},T=class{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new B(e+this.start,e+this.end)}},E=class{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},M=class extends E{constructor(e,t,s){super(e,t),this.nameSpan=s}},de=class extends E{constructor(e,t,s,n,i){super(e,t),this.prefix=s,this.uninterpretedExpression=n,this.location=i}visit(e,t=null){return e.visitQuote(this,t)}toString(){return"Quote"}},R=class extends E{visit(e,t=null){}},W=class extends E{visit(e,t=null){return e.visitImplicitReceiver(this,t)}},ye=class extends W{visit(e,t=null){var s;return(s=e.visitThisReceiver)===null||s===void 0?void 0:s.call(e,this,t)}},V=class extends E{constructor(e,t,s){super(e,t),this.expressions=s}visit(e,t=null){return e.visitChain(this,t)}},q=class extends E{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)}},F=class extends M{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)}},H=class extends M{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)}},z=class extends M{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 E{constructor(e,t,s,n){super(e,t),this.receiver=s,this.key=n}visit(e,t=null){return e.visitKeyedRead(this,t)}},Z=class extends E{constructor(e,t,s,n){super(e,t),this.receiver=s,this.key=n}visit(e,t=null){return e.visitSafeKeyedRead(this,t)}},J=class extends E{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)}},Y=class extends M{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)}},P=class extends E{constructor(e,t,s){super(e,t),this.value=s}visit(e,t=null){return e.visitLiteralPrimitive(this,t)}},ee=class extends E{constructor(e,t,s){super(e,t),this.expressions=s}visit(e,t=null){return e.visitLiteralArray(this,t)}},te=class extends E{constructor(e,t,s,n){super(e,t),this.keys=s,this.values=n}visit(e,t=null){return e.visitLiteralMap(this,t)}},se=class extends E{constructor(e,t,s,n){super(e,t),this.strings=s,this.expressions=n}visit(e,t=null){return e.visitInterpolation(this,t)}},I=class extends E{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 I{constructor(e,t,s,n,i,a,h){super(e,t,i,a,h),this.operator=s,this.expr=n}static createMinus(e,t,s){return new L(e,t,"-",s,"-",new P(e,t,0),s)}static createPlus(e,t,s){return new L(e,t,"+",s,"-",s,new P(e,t,0))}visit(e,t=null){return e.visitUnary!==void 0?e.visitUnary(this,t):e.visitBinary(this,t)}},re=class extends E{constructor(e,t,s){super(e,t),this.expression=s}visit(e,t=null){return e.visitPrefixNot(this,t)}},ne=class extends E{constructor(e,t,s){super(e,t),this.expression=s}visit(e,t=null){return e.visitNonNullAssert(this,t)}},ie=class extends M{constructor(e,t,s,n,i,a,h){super(e,t,s),this.receiver=n,this.name=i,this.args=a,this.argumentSpan=h}visit(e,t=null){return e.visitMethodCall(this,t)}},ae=class extends M{constructor(e,t,s,n,i,a,h){super(e,t,s),this.receiver=n,this.name=i,this.args=a,this.argumentSpan=h}visit(e,t=null){return e.visitSafeMethodCall(this,t)}},oe=class extends E{constructor(e,t,s,n){super(e,t),this.target=s,this.args=n}visit(e,t=null){return e.visitFunctionCall(this,t)}},B=class{constructor(e,t){this.start=e,this.end=t}},K=class extends E{constructor(e,t,s,n,i){super(new T(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}`}},xe=class{constructor(e,t,s){this.sourceSpan=e,this.key=t,this.value=s}},Ee=class{constructor(e,t,s){this.sourceSpan=e,this.key=t,this.value=s}},Ae=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)}visitFunctionCall(e,t){e.target&&this.visit(e.target,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){}visitMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,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)}visitSafeMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitQuote(e,t){}visitAll(e,t){for(let s of e)this.visit(s,t)}},tt=class{visitImplicitReceiver(e,t){return e}visitThisReceiver(e,t){return e}visitInterpolation(e,t){return new se(e.span,e.sourceSpan,e.strings,this.visitAll(e.expressions))}visitLiteralPrimitive(e,t){return new P(e.span,e.sourceSpan,e.value)}visitPropertyRead(e,t){return new F(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitPropertyWrite(e,t){return new H(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,e.value.visit(this))}visitSafePropertyRead(e,t){return new z(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitMethodCall(e,t){return new ie(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitSafeMethodCall(e,t){return new ae(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitFunctionCall(e,t){return new oe(e.span,e.sourceSpan,e.target.visit(this),this.visitAll(e.args))}visitLiteralArray(e,t){return new ee(e.span,e.sourceSpan,this.visitAll(e.expressions))}visitLiteralMap(e,t){return new te(e.span,e.sourceSpan,e.keys,this.visitAll(e.values))}visitUnary(e,t){switch(e.operator){case"+":return L.createPlus(e.span,e.sourceSpan,e.expr.visit(this));case"-":return L.createMinus(e.span,e.sourceSpan,e.expr.visit(this));default:throw new Error(`Unknown unary operator ${e.operator}`)}}visitBinary(e,t){return new I(e.span,e.sourceSpan,e.operation,e.left.visit(this),e.right.visit(this))}visitPrefixNot(e,t){return new re(e.span,e.sourceSpan,e.expression.visit(this))}visitNonNullAssert(e,t){return new ne(e.span,e.sourceSpan,e.expression.visit(this))}visitConditional(e,t){return new q(e.span,e.sourceSpan,e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))}visitPipe(e,t){return new Y(e.span,e.sourceSpan,e.exp.visit(this),e.name,this.visitAll(e.args),e.nameSpan)}visitKeyedRead(e,t){return new X(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this))}visitKeyedWrite(e,t){return new J(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this),e.value.visit(this))}visitAll(e){let t=[];for(let s=0;s<e.length;++s)t[s]=e[s].visit(this);return t}visitChain(e,t){return new V(e.span,e.sourceSpan,this.visitAll(e.expressions))}visitQuote(e,t){return new de(e.span,e.sourceSpan,e.prefix,e.uninterpretedExpression,e.location)}visitSafeKeyedRead(e,t){return new Z(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this))}},st=class{visitImplicitReceiver(e,t){return e}visitThisReceiver(e,t){return e}visitInterpolation(e,t){let s=this.visitAll(e.expressions);return s!==e.expressions?new se(e.span,e.sourceSpan,e.strings,s):e}visitLiteralPrimitive(e,t){return e}visitPropertyRead(e,t){let s=e.receiver.visit(this);return s!==e.receiver?new F(e.span,e.sourceSpan,e.nameSpan,s,e.name):e}visitPropertyWrite(e,t){let s=e.receiver.visit(this),n=e.value.visit(this);return s!==e.receiver||n!==e.value?new H(e.span,e.sourceSpan,e.nameSpan,s,e.name,n):e}visitSafePropertyRead(e,t){let s=e.receiver.visit(this);return s!==e.receiver?new z(e.span,e.sourceSpan,e.nameSpan,s,e.name):e}visitMethodCall(e,t){let s=e.receiver.visit(this),n=this.visitAll(e.args);return s!==e.receiver||n!==e.args?new ie(e.span,e.sourceSpan,e.nameSpan,s,e.name,n,e.argumentSpan):e}visitSafeMethodCall(e,t){let s=e.receiver.visit(this),n=this.visitAll(e.args);return s!==e.receiver||n!==e.args?new ae(e.span,e.sourceSpan,e.nameSpan,s,e.name,n,e.argumentSpan):e}visitFunctionCall(e,t){let s=e.target&&e.target.visit(this),n=this.visitAll(e.args);return s!==e.target||n!==e.args?new oe(e.span,e.sourceSpan,s,n):e}visitLiteralArray(e,t){let s=this.visitAll(e.expressions);return s!==e.expressions?new ee(e.span,e.sourceSpan,s):e}visitLiteralMap(e,t){let s=this.visitAll(e.values);return s!==e.values?new te(e.span,e.sourceSpan,e.keys,s):e}visitUnary(e,t){let s=e.expr.visit(this);if(s!==e.expr)switch(e.operator){case"+":return L.createPlus(e.span,e.sourceSpan,s);case"-":return L.createMinus(e.span,e.sourceSpan,s);default:throw new Error(`Unknown unary operator ${e.operator}`)}return e}visitBinary(e,t){let s=e.left.visit(this),n=e.right.visit(this);return s!==e.left||n!==e.right?new I(e.span,e.sourceSpan,e.operation,s,n):e}visitPrefixNot(e,t){let s=e.expression.visit(this);return s!==e.expression?new re(e.span,e.sourceSpan,s):e}visitNonNullAssert(e,t){let s=e.expression.visit(this);return s!==e.expression?new ne(e.span,e.sourceSpan,s):e}visitConditional(e,t){let s=e.condition.visit(this),n=e.trueExp.visit(this),i=e.falseExp.visit(this);return s!==e.condition||n!==e.trueExp||i!==e.falseExp?new q(e.span,e.sourceSpan,s,n,i):e}visitPipe(e,t){let s=e.exp.visit(this),n=this.visitAll(e.args);return s!==e.exp||n!==e.args?new Y(e.span,e.sourceSpan,s,e.name,n,e.nameSpan):e}visitKeyedRead(e,t){let s=e.receiver.visit(this),n=e.key.visit(this);return s!==e.receiver||n!==e.key?new X(e.span,e.sourceSpan,s,n):e}visitKeyedWrite(e,t){let s=e.receiver.visit(this),n=e.key.visit(this),i=e.value.visit(this);return s!==e.receiver||n!==e.key||i!==e.value?new J(e.span,e.sourceSpan,s,n,i):e}visitAll(e){let t=[],s=!1;for(let n=0;n<e.length;++n){let i=e[n],a=i.visit(this);t[n]=a,s=s||a!==i}return s?t:e}visitChain(e,t){let s=this.visitAll(e.expressions);return s!==e.expressions?new V(e.span,e.sourceSpan,s):e}visitQuote(e,t){return e}visitSafeKeyedRead(e,t){let s=e.receiver.visit(this),n=e.key.visit(this);return s!==e.receiver||n!==e.key?new Z(e.span,e.sourceSpan,s,n):e}},rt=class{constructor(e,t,s,n,i,a){this.name=e,this.expression=t,this.type=s,this.sourceSpan=n,this.keySpan=i,this.valueSpan=a,this.isLiteral=this.type===Ce.LITERAL_ATTR,this.isAnimation=this.type===Ce.ANIMATION}};(function(r){r[r.DEFAULT=0]="DEFAULT",r[r.LITERAL_ATTR=1]="LITERAL_ATTR",r[r.ANIMATION=2]="ANIMATION"})(Ce||(Ce={}));nt=class{constructor(e,t,s,n,i,a,h){this.name=e,this.targetOrPhase=t,this.type=s,this.handler=n,this.sourceSpan=i,this.handlerSpan=a,this.keySpan=h}},it=class{constructor(e,t,s,n,i){this.name=e,this.value=t,this.sourceSpan=s,this.keySpan=n,this.valueSpan=i}},at=class{constructor(e,t,s,n,i,a,h,x){this.name=e,this.type=t,this.securityContext=s,this.value=n,this.unit=i,this.sourceSpan=a,this.keySpan=h,this.valueSpan=x}}});function Tt(r){return r>=9&&r<=32||r==160}function U(r){return 48<=r&&r<=57}function Kt(r){return r>=97&&r<=122||r>=65&&r<=90}function ct(r){return r===39||r===34||r===96}var ht=j(()=>{m();});var Vt={};Ze(Vt,{EOF:()=>ke,Lexer:()=>ut,Token:()=>_,TokenType:()=>f,isIdentifier:()=>ft});function Dt(r,e,t){return new _(r,e,f.Character,t,String.fromCharCode(t))}function Vs(r,e,t){return new _(r,e,f.Identifier,0,t)}function qs(r,e,t){return new _(r,e,f.PrivateIdentifier,0,t)}function Hs(r,e,t){return new _(r,e,f.Keyword,0,t)}function pt(r,e,t){return new _(r,e,f.Operator,0,t)}function zs(r,e,t){return new _(r,e,f.String,0,t)}function Xs(r,e,t){return new _(r,e,f.Number,t,"")}function Zs(r,e,t){return new _(r,e,f.Error,0,t)}function lt(r){return 97<=r&&r<=122||65<=r&&r<=90||r==95||r==36}function ft(r){if(r.length==0)return!1;let e=new Ue(r);if(!lt(e.peek))return!1;for(e.advance();e.peek!==0;){if(!dt(e.peek))return!1;e.advance()}return!0}function dt(r){return Kt(r)||U(r)||r==95||r==36}function Js(r){return r==101||r==69}function Ys(r){return r==45||r==43}function er(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 tr(r){let e=parseInt(r);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+r);return e}var f,Ws,ut,_,ke,Ue,vt=j(()=>{m();ht();(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"})(f||(f={}));Ws=["var","let","as","null","undefined","true","false","if","else","this"],ut=class{tokenize(e){let t=new Ue(e),s=[],n=t.scanToken();for(;n!=null;)s.push(n),n=t.scanToken();return s}},_=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==f.Character&&this.numValue==e}isNumber(){return this.type==f.Number}isString(){return this.type==f.String}isOperator(e){return this.type==f.Operator&&this.strValue==e}isIdentifier(){return this.type==f.Identifier}isPrivateIdentifier(){return this.type==f.PrivateIdentifier}isKeyword(){return this.type==f.Keyword}isKeywordLet(){return this.type==f.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==f.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==f.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==f.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==f.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==f.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==f.Keyword&&this.strValue=="this"}isError(){return this.type==f.Error}toNumber(){return this.type==f.Number?this.numValue:-1}toString(){switch(this.type){case f.Character:case f.Identifier:case f.Keyword:case f.Operator:case f.PrivateIdentifier:case f.String:case f.Error:return this.strValue;case f.Number:return this.numValue.toString();default:return null}}};ke=new _(-1,-1,f.Character,0,""),Ue=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(lt(s))return this.scanIdentifier();if(U(s))return this.scanNumber(n);let i=n;switch(s){case 46:return this.advance(),U(this.peek)?this.scanNumber(i):Dt(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(;Tt(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(s)}]`,0)}scanCharacter(e,t){return this.advance(),Dt(e,this.index,t)}scanOperator(e,t){return this.advance(),pt(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),pt(e,this.index,h)}scanIdentifier(){let e=this.index;for(this.advance();dt(this.peek);)this.advance();let t=this.input.substring(e,this.index);return Ws.indexOf(t)>-1?Hs(e,this.index,t):Vs(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!lt(this.peek))return this.error("Invalid character [#]",-1);for(;dt(this.peek);)this.advance();let t=this.input.substring(e,this.index);return qs(e,this.index,t)}scanNumber(e){let t=this.index===e,s=!1;for(this.advance();;){if(!U(this.peek))if(this.peek===95){if(!U(this.input.charCodeAt(this.index-1))||!U(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);s=!0}else if(this.peek===46)t=!1;else if(Js(this.peek)){if(this.advance(),Ys(this.peek)&&this.advance(),!U(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?tr(n):parseFloat(n);return Xs(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 x=i.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(x))h=parseInt(x,16);else return this.error(`Invalid unicode escape [\\u${x}]`,0);for(let v=0;v<5;v++)this.advance()}else h=er(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(),zs(e,this.index,s+a)}scanQuestion(e){this.advance();let t="?";return(this.peek===63||this.peek===46)&&(t+=this.peek===46?".":"?",this.advance()),pt(e,this.index,t)}error(e,t){let s=this.index+t;return Zs(s,this.index,`Lexer Error: ${e} at column ${s} in expression [${this.input}]`)}}});function qt(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];sr.forEach(n=>{if(n.test(t)||n.test(s))throw new Error(`['${t}', '${s}'] contains unusable interpolation symbol.`)})}}var sr,Ht=j(()=>{m();sr=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]});var Pe,ue,zt=j(()=>{m();Ht();Pe=class{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(qt("interpolation",e),new Pe(e[0],e[1])):ue}},ue=new Pe("{{","}}")});var Xt={};Ze(Xt,{IvyParser:()=>gt,Parser:()=>We,SplitInterpolation:()=>je,TemplateBindingParseResult:()=>Qe,_ParseAST:()=>G});var je,Qe,We,gt,me,G,mt,St,Zt=j(()=>{m();ht();zt();Ke();vt();je=class{constructor(e,t,s){this.strings=e,this.expressions=t,this.offsets=s}},Qe=class{constructor(e,t,s){this.templateBindings=e,this.warnings=t,this.errors=s}},We=class{constructor(e){this._lexer=e,this.errors=[],this.simpleExpressionChecker=mt}parseAction(e,t,s,n=ue){this._checkNoInterpolation(e,t,n);let i=this._stripComments(e),a=this._lexer.tokenize(this._stripComments(e)),h=new G(e,t,s,a,i.length,!0,this.errors,e.length-i.length).parseChain();return new K(h,e,t,s,this.errors)}parseBinding(e,t,s,n=ue){let i=this._parseBindingAst(e,t,s,n);return new K(i,e,t,s,this.errors)}checkSimpleExpression(e){let t=new this.simpleExpressionChecker;return e.visit(t),t.errors}parseSimpleBinding(e,t,s,n=ue){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 K(i,e,t,s,this.errors)}_reportError(e,t,s,n){this.errors.push(new Q(e,t,s,n))}_parseBindingAst(e,t,s,n){let i=this._parseQuote(e,t,s);if(i!=null)return i;this._checkNoInterpolation(e,t,n);let a=this._stripComments(e),h=this._lexer.tokenize(a);return new G(e,t,s,h,a.length,!1,this.errors,e.length-a.length).parseChain()}_parseQuote(e,t,s){if(e==null)return null;let n=e.indexOf(":");if(n==-1)return null;let i=e.substring(0,n).trim();if(!ft(i))return null;let a=e.substring(n+1),h=new T(0,e.length);return new de(h,h.toAbsolute(s),i,a,t)}parseTemplateBindings(e,t,s,n,i){let a=this._lexer.tokenize(t);return new G(t,s,i,a,t.length,!1,this.errors,0).parseTemplateBindings({source:e,span:new B(n,n+e.length)})}parseInterpolation(e,t,s,n=ue){let{strings:i,expressions:a,offsets:h}=this.splitInterpolation(e,t,n);if(a.length===0)return null;let x=[];for(let v=0;v<a.length;++v){let A=a[v].text,N=this._stripComments(A),O=this._lexer.tokenize(N),w=new G(e,t,s,O,N.length,!1,this.errors,h[v]+(A.length-N.length)).parseChain();x.push(w)}return this.createInterpolationAst(i.map(v=>v.text),x,e,t,s)}parseInterpolationExpression(e,t,s){let n=this._stripComments(e),i=this._lexer.tokenize(n),a=new G(e,t,s,i,n.length,!1,this.errors,0).parseChain(),h=["",""];return this.createInterpolationAst(h,[a],e,t,s)}createInterpolationAst(e,t,s,n,i){let a=new T(0,s.length),h=new se(a,a.toAbsolute(i),e,t);return new K(h,s,n,i,this.errors)}splitInterpolation(e,t,s=ue){let n=[],i=[],a=[],h=0,x=!1,v=!1,{start:A,end:N}=s;for(;h<e.length;)if(x){let O=h,w=O+A.length,C=this._getInterpolationEndIndex(e,N,w);if(C===-1){x=!1,v=!0;break}let c=C+N.length,o=e.substring(w,C);o.trim().length===0&&this._reportError("Blank expressions are not allowed in interpolated strings",e,`at column ${h} in`,t),i.push({text:o,start:O,end:c}),a.push(w),h=c,x=!1}else{let O=h;h=e.indexOf(A,h),h===-1&&(h=e.length);let w=e.substring(O,h);n.push({text:w,start:O,end:h}),x=!0}if(!x)if(v){let O=n[n.length-1];O.text+=e.substring(h),O.end=e.length}else n.push({text:e.substring(h),start:h,end:e.length});return new je(n,i,a)}wrapLiteralPrimitive(e,t,s){let n=new T(0,e==null?0:e.length);return new K(new P(n,n.toAbsolute(s),e),e,t,s,this.errors)}_stripComments(e){let t=this._commentStart(e);return t!=null?e.substring(0,t).trim():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&&ct(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];ct(e.charCodeAt(i))&&(s===null||s===a)&&n%2===0?s=s===null?a:null:s===null&&(yield i),n=a==="\\"?n+1:0}}},gt=class extends We{constructor(){super(...arguments),this.simpleExpressionChecker=St}};(function(r){r[r.None=0]="None",r[r.Writable=1]="Writable"})(me||(me={}));G=class{constructor(e,t,s,n,i,a,h,x){this.input=e,this.location=t,this.absoluteOffset=s,this.tokens=n,this.inputLength=i,this.parseAction=a,this.errors=h,this.offset=x,this.rparensExpected=0,this.rbracketsExpected=0,this.rbracesExpected=0,this.context=me.None,this.sourceSpanCache=new Map,this.index=0}peek(e){let t=this.index+e;return t<this.tokens.length?this.tokens[t]:ke}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.inputLength+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 T(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===ke?"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.parseAction||this.error("Binding expression cannot contain chained expression");this.consumeOptionalCharacter(59););else this.index<this.tokens.length&&this.error(`Unexpected token '${this.next}'`)}if(e.length==0){let s=this.offset,n=this.offset+this.inputLength;return new R(this.span(s,n),this.sourceSpan(s,n))}return e.length==1?e[0]:new V(this.span(t),this.sourceSpan(t),e)}parsePipe(){let e=this.inputIndex,t=this.parseExpression();if(this.consumeOptionalOperator("|")){this.parseAction&&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.inputLength+this.offset,i=new T(a,a).toAbsolute(this.absoluteOffset));let h=[];for(;this.consumeOptionalCharacter(58);)h.push(this.parseExpression());t=new Y(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 R(this.span(e),this.sourceSpan(e))}return new q(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 I(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 I(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 I(this.span(e),this.sourceSpan(e),"??",t,s)}return t}parseEquality(){let e=this.inputIndex,t=this.parseRelational();for(;this.next.type==f.Operator;){let s=this.next.strValue;switch(s){case"==":case"===":case"!=":case"!==":this.advance();let n=this.parseRelational();t=new I(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==f.Operator;){let s=this.next.strValue;switch(s){case"<":case">":case"<=":case">=":this.advance();let n=this.parseAdditive();t=new I(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==f.Operator;){let s=this.next.strValue;switch(s){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new I(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==f.Operator;){let s=this.next.strValue;switch(s){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new I(this.span(e),this.sourceSpan(e),s,t,n);continue}break}return t}parsePrefix(){if(this.next.type==f.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 re(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.parseAccessMemberOrMethodCall(t,e,!1);else if(this.consumeOptionalOperator("?."))t=this.consumeOptionalCharacter(91)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMemberOrMethodCall(t,e,!0);else if(this.consumeOptionalCharacter(91))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(40)){this.rparensExpected++;let s=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),t=new oe(this.span(e),this.sourceSpan(e),t,s)}else if(this.consumeOptionalOperator("!"))t=new ne(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 P(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new P(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new P(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new P(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new ye(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;let t=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new ee(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new W(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new P(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new P(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new R(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new R(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new R(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),x=this.sourceSpan(n);t.push(new F(h,x,x,new W(h,x),a))}}while(this.consumeOptionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new te(this.span(s),this.sourceSpan(s),e,t)}parseAccessMemberOrMethodCall(e,t,s){let n=this.inputIndex,i=this.withContext(me.Writable,()=>{var h;let x=(h=this.expectIdentifierOrKeyword())!==null&&h!==void 0?h:"";return x.length===0&&this.error("Expected identifier for property access",e.span.end),x}),a=this.sourceSpan(n);if(this.consumeOptionalCharacter(40)){let h=this.inputIndex;this.rparensExpected++;let x=this.parseCallArguments(),v=this.span(h,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(41),this.rparensExpected--;let A=this.span(t),N=this.sourceSpan(t);return s?new ae(A,N,a,e,i,x,v):new ie(A,N,a,e,i,x,v)}else{if(s)return this.consumeOptionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new R(this.span(t),this.sourceSpan(t))):new z(this.span(t),this.sourceSpan(t),a,e,i);if(this.consumeOptionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new R(this.span(t),this.sourceSpan(t));let h=this.parseConditional();return new H(this.span(t),this.sourceSpan(t),a,e,i,h)}else return new F(this.span(t),this.sourceSpan(t),a,e,i)}}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 Qe(t,[],this.errors)}parseKeyedReadOrWrite(e,t,s){return this.withContext(me.Writable,()=>{this.rbracketsExpected++;let n=this.parsePipe();if(n instanceof R&&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 J(this.span(t),this.sourceSpan(t),e,n,i)}else return s?new Z(this.span(t),this.sourceSpan(t),e,n):new X(this.span(t),this.sourceSpan(t),e,n);return new R(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 Ee(a,e,s)),i&&t.push(i),t}getDirectiveBoundTarget(){if(this.next===ke||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:s}=e.span,n=this.input.substring(t,s);return new K(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 xe(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 xe(n,t,s)}consumeStatementTerminator(){this.consumeOptionalCharacter(59)||this.consumeOptionalCharacter(44)}error(e,t=null){this.errors.push(new Q(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&me.Writable)||!e.isOperator("="));)this.next.isError()&&this.errors.push(new Q(this.next.toString(),this.input,this.locationText(),this.location)),this.advance(),e=this.next}},mt=class{constructor(){this.errors=[]}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){}visitLiteralPrimitive(e,t){}visitPropertyRead(e,t){}visitPropertyWrite(e,t){}visitSafePropertyRead(e,t){}visitMethodCall(e,t){}visitSafeMethodCall(e,t){}visitFunctionCall(e,t){}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitUnary(e,t){}visitBinary(e,t){}visitPrefixNot(e,t){}visitNonNullAssert(e,t){}visitConditional(e,t){}visitPipe(e,t){this.errors.push("pipes")}visitKeyedRead(e,t){}visitKeyedWrite(e,t){}visitAll(e,t){return e.map(s=>s.visit(this,t))}visitChain(e,t){}visitQuote(e,t){}visitSafeKeyedRead(e,t){}},St=class extends Ae{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push("pipes")}}});var qe=le(S=>{"use strict";m();Object.defineProperty(S,"__esModule",{value:!0});S.getLast=S.toLowerCamelCase=S.findBackChar=S.findFrontChar=S.fitSpans=S.getNgType=S.parseNgInterpolation=S.parseNgTemplateBindings=S.parseNgAction=S.parseNgSimpleBinding=S.parseNgBinding=S.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=void 0;var y=(Ke(),be(ot)),rr=(vt(),be(Vt)),nr=(Zt(),be(Xt)),Yt="angular-estree-parser";S.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX="NgEstreeParser";var wt=0,Ve=[Yt,wt];function Et(){return new nr.Parser(new rr.Lexer)}function At(r,e){let t=Et(),{astInput:s,comments:n}=es(r,t),{ast:i,errors:a}=e(s,t);return Ct(a),{ast:i,comments:n}}function ir(r){return At(r,(e,t)=>t.parseBinding(e,...Ve))}S.parseNgBinding=ir;function ar(r){return At(r,(e,t)=>t.parseSimpleBinding(e,...Ve))}S.parseNgSimpleBinding=ar;function or(r){return At(r,(e,t)=>t.parseAction(e,...Ve))}S.parseNgAction=or;function cr(r){let e=Et(),{templateBindings:t,errors:s}=e.parseTemplateBindings(S.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,r,Yt,wt,wt);return Ct(s),t}S.parseNgTemplateBindings=cr;function hr(r){let e=Et(),{astInput:t,comments:s}=es(r,e),n="{{",i="}}",{ast:a,errors:h}=e.parseInterpolation(n+t+i,...Ve);Ct(h);let x=a.expressions[0],v=new Set;return yt(x,A=>{v.has(A)||(A.start-=n.length,A.end-=n.length,v.add(A))}),{ast:x,comments:s}}S.parseNgInterpolation=hr;function yt(r,e){if(!(!r||typeof r!="object")){if(Array.isArray(r))return r.forEach(t=>yt(t,e));for(let t of Object.keys(r)){let s=r[t];t==="span"?e(s):yt(s,e)}}}function Ct(r){if(r.length!==0){let[{message:e}]=r;throw new SyntaxError(e.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function es(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 pr(r){return y.Unary&&r instanceof y.Unary?"Unary":r instanceof y.Binary?"Binary":r instanceof y.BindingPipe?"BindingPipe":r instanceof y.Chain?"Chain":r instanceof y.Conditional?"Conditional":r instanceof y.EmptyExpr?"EmptyExpr":r instanceof y.FunctionCall?"FunctionCall":r instanceof y.ImplicitReceiver?"ImplicitReceiver":r instanceof y.KeyedRead?"KeyedRead":r instanceof y.KeyedWrite?"KeyedWrite":r instanceof y.LiteralArray?"LiteralArray":r instanceof y.LiteralMap?"LiteralMap":r instanceof y.LiteralPrimitive?"LiteralPrimitive":r instanceof y.MethodCall?"MethodCall":r instanceof y.NonNullAssert?"NonNullAssert":r instanceof y.PrefixNot?"PrefixNot":r instanceof y.PropertyRead?"PropertyRead":r instanceof y.PropertyWrite?"PropertyWrite":r instanceof y.Quote?"Quote":r instanceof y.SafeMethodCall?"SafeMethodCall":r instanceof y.SafePropertyRead?"SafePropertyRead":r.type}S.getNgType=pr;function Jt({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 ur({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 lr(r,e){return e[r.start-1]==="("&&e[r.end]===")"?{start:r.start-1,end:r.end+1}:r}function dr(r,e,t){let s=0,n={start:r.start,end:r.end};for(;;){let i=ur(n,e),a=lr(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:Jt(t?{start:n.start+1,end:n.end-1}:n,e),innerSpan:Jt(r,e)}}S.fitSpans=dr;function xr(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}S.findFrontChar=xr;function fr(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}S.findBackChar=fr;function vr(r){return r.slice(0,1).toLowerCase()+r.slice(1)}S.toLowerCamelCase=vr;function gr(r){return r.length===0?void 0:r[r.length-1]}S.getLast=gr});var $t=le(D=>{"use strict";m();Object.defineProperty(D,"__esModule",{value:!0});D.transformSpan=D.transform=void 0;var Ie=qe(),mr=(r,e,t=!1)=>{let s=Ie.getNgType(r);switch(s){case"Unary":{let{operator:c,expr:o}=r,u=n(o);return a("UnaryExpression",{prefix:!0,argument:u,operator:c},r.span,{hasParentParens:t})}case"Binary":{let{left:c,operation:o,right:u}=r,p=u.span.start===u.span.end,d=c.span.start===c.span.end;if(p||d){let $=c.span.start===c.span.end?n(u):n(c);return a("UnaryExpression",{prefix:!0,argument:$,operator:p?"+":"-"},{start:r.span.start,end:C($)},{hasParentParens:t})}let g=n(c),l=n(u);return a(o==="&&"||o==="||"?"LogicalExpression":"BinaryExpression",{left:g,right:l,operator:o},{start:w(g),end:C(l)},{hasParentParens:t})}case"BindingPipe":{let{exp:c,name:o,args:u}=r,p=n(c),d=v(/\S/,v(/\|/,C(p))+1),g=a("Identifier",{name:o},{start:d,end:d+o.length}),l=u.map(n);return a("NGPipeExpression",{left:p,right:g,arguments:l},{start:w(p),end:C(l.length===0?g:Ie.getLast(l))},{hasParentParens:t})}case"Chain":{let{expressions:c}=r;return a("NGChainedExpression",{expressions:c.map(n)},r.span,{hasParentParens:t})}case"Comment":{let{value:c}=r;return a("CommentLine",{value:c},r.span,{processSpan:!1})}case"Conditional":{let{condition:c,trueExp:o,falseExp:u}=r,p=n(c),d=n(o),g=n(u);return a("ConditionalExpression",{test:p,consequent:d,alternate:g},{start:w(p),end:C(g)},{hasParentParens:t})}case"EmptyExpr":return a("NGEmptyExpression",{},r.span,{hasParentParens:t});case"FunctionCall":{let{target:c,args:o}=r,u=o.length===1?[i(o[0])]:o.map(n),p=n(c);return a("CallExpression",{callee:p,arguments:u},{start:w(p),end:r.span.end},{hasParentParens:t})}case"ImplicitReceiver":return a("ThisExpression",{},r.span,{hasParentParens:t});case"KeyedRead":{let{key:c}=r,o=Object.prototype.hasOwnProperty.call(r,"receiver")?r.receiver:r.obj,u=n(c);return h(o,u,{computed:!0,optional:!1},{end:r.span.end,hasParentParens:t})}case"LiteralArray":{let{expressions:c}=r;return a("ArrayExpression",{elements:c.map(n)},r.span,{hasParentParens:t})}case"LiteralMap":{let{keys:c,values:o}=r,u=o.map(d=>n(d)),p=c.map(({key:d,quoted:g},l)=>{let $=u[l],Se=v(/\S/,l===0?r.span.start+1:v(/,/,C(u[l-1]))+1),as=x(/\S/,x(/:/,w($)-1)-1)+1,kt={start:Se,end:as},Le=g?a("StringLiteral",{value:d},kt):a("Identifier",{name:d},kt),os=Le.end<Le.start;return a("ObjectProperty",{key:Le,value:$,method:!1,shorthand:os,computed:!1},{start:w(Le),end:C($)})});return a("ObjectExpression",{properties:p},r.span,{hasParentParens:t})}case"LiteralPrimitive":{let{value:c}=r;switch(typeof c){case"boolean":return a("BooleanLiteral",{value:c},r.span,{hasParentParens:t});case"number":return a("NumericLiteral",{value:c},r.span,{hasParentParens:t});case"object":return a("NullLiteral",{},r.span,{hasParentParens:t});case"string":return a("StringLiteral",{value:c},r.span,{hasParentParens:t});case"undefined":return a("Identifier",{name:"undefined"},r.span,{hasParentParens:t});default:throw new Error(`Unexpected LiteralPrimitive value type ${typeof c}`)}}case"MethodCall":case"SafeMethodCall":{let c=s==="SafeMethodCall",{receiver:o,name:u,args:p}=r,d=p.length===1?[i(p[0])]:p.map(n),g=x(/\S/,x(/\(/,(d.length===0?x(/\)/,r.span.end-1):w(d[0]))-1)-1)+1,l=a("Identifier",{name:u},{start:g-u.length,end:g}),$=h(o,l,{computed:!1,optional:c}),Se=N($);return a(c||Se?"OptionalCallExpression":"CallExpression",{callee:$,arguments:d},{start:w($),end:r.span.end},{hasParentParens:t})}case"NonNullAssert":{let{expression:c}=r,o=n(c);return a("TSNonNullExpression",{expression:o},{start:w(o),end:r.span.end},{hasParentParens:t})}case"PrefixNot":{let{expression:c}=r,o=n(c);return a("UnaryExpression",{prefix:!0,operator:"!",argument:o},{start:r.span.start,end:C(o)},{hasParentParens:t})}case"PropertyRead":case"SafePropertyRead":{let c=s==="SafePropertyRead",{receiver:o,name:u}=r,p=x(/\S/,r.span.end-1)+1,d=a("Identifier",{name:u},{start:p-u.length,end:p},A(o)?{hasParentParens:t}:{});return h(o,d,{computed:!1,optional:c},{hasParentParens:t})}case"KeyedWrite":{let{key:c,value:o}=r,u=Object.prototype.hasOwnProperty.call(r,"receiver")?r.receiver:r.obj,p=n(c),d=n(o),g=h(u,p,{computed:!0,optional:!1},{end:v(/\]/,C(p))+1});return a("AssignmentExpression",{left:g,operator:"=",right:d},{start:w(g),end:C(d)},{hasParentParens:t})}case"PropertyWrite":{let{receiver:c,name:o,value:u}=r,p=n(u),d=x(/\S/,x(/=/,w(p)-1)-1)+1,g=a("Identifier",{name:o},{start:d-o.length,end:d}),l=h(c,g,{computed:!1,optional:!1});return a("AssignmentExpression",{left:l,operator:"=",right:p},{start:w(l),end:C(p)},{hasParentParens:t})}case"Quote":{let{prefix:c,uninterpretedExpression:o}=r;return a("NGQuotedExpression",{prefix:c,value:o},r.span,{hasParentParens:t})}default:throw new Error(`Unexpected node ${s}`)}function n(c){return D.transform(c,e)}function i(c){return D.transform(c,e,!0)}function a(c,o,u,{processSpan:p=!0,hasParentParens:d=!1}={}){let g=Object.assign(Object.assign({type:c},ts(u,e,p,d)),o);switch(c){case"Identifier":{let l=g;l.loc.identifierName=l.name;break}case"NumericLiteral":{let l=g;l.extra=Object.assign(Object.assign({},l.extra),{raw:e.text.slice(l.start,l.end),rawValue:l.value});break}case"StringLiteral":{let l=g;l.extra=Object.assign(Object.assign({},l.extra),{raw:e.text.slice(l.start,l.end),rawValue:l.value});break}}return g}function h(c,o,u,{end:p=C(o),hasParentParens:d=!1}={}){if(A(c)||c.span.start===o.start)return o;let g=n(c),l=N(g);return a(u.optional||l?"OptionalMemberExpression":"MemberExpression",Object.assign({object:g,property:o,computed:u.computed},u.optional?{optional:!0}:l?{optional:!1}:null),{start:w(g),end:p},{hasParentParens:d})}function x(c,o){return Ie.findFrontChar(c,o,e.text)}function v(c,o){return Ie.findBackChar(c,o,e.text)}function A(c){return c.span.start>=c.span.end||/^\s+$/.test(e.text.slice(c.span.start,c.span.end))}function N(c){return(c.type==="OptionalCallExpression"||c.type==="OptionalMemberExpression")&&!O(c)}function O(c){return c.extra&&c.extra.parenthesized}function w(c){return O(c)?c.extra.parenStart:c.start}function C(c){return O(c)?c.extra.parenEnd:c.end}};D.transform=mr;function ts(r,e,t=!1,s=!1){if(!t){let{start:h,end:x}=r;return{start:h,end:x,loc:{start:e.locator.locationForIndex(h),end:e.locator.locationForIndex(x)}}}let{outerSpan:n,innerSpan:i,hasParens:a}=Ie.fitSpans(r,e.text,s);return Object.assign({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}})}D.transformSpan=ts});var rs=le(He=>{"use strict";m();Object.defineProperty(He,"__esModule",{value:!0});He.transformTemplateBindings=void 0;var ss=(Ke(),be(ot)),Ot=$t(),Nt=qe();function Sr(r,e){r.forEach(w);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 o=0;o<n.length;o++){let u=n[o];if(a&&N(a)&&O(u)&&u.value&&u.value.source===a.key.source){let p=v("NGMicrosyntaxKey",{name:u.key.source},u.key.span),d=($,Se)=>Object.assign(Object.assign({},$),Ot.transformSpan({start:$.start,end:Se},e)),g=$=>Object.assign(Object.assign({},d($,p.end)),{alias:p}),l=i.pop();if(l.type==="NGMicrosyntaxExpression")i.push(g(l));else if(l.type==="NGMicrosyntaxKeyedExpression"){let $=g(l.expression);i.push(d(Object.assign(Object.assign({},l),{expression:$}),$.end))}else throw new Error(`Unexpected type ${l.type}`)}else i.push(h(u,o));a=u}return v("NGMicrosyntax",{body:i},i.length===0?r[0].sourceSpan:{start:i[0].start,end:i[i.length-1].end});function h(o,u){if(N(o)){let{key:p,value:d}=o;return d?u===0?v("NGMicrosyntaxExpression",{expression:x(d.ast),alias:null},d.sourceSpan):v("NGMicrosyntaxKeyedExpression",{key:v("NGMicrosyntaxKey",{name:A(p.source)},p.span),expression:v("NGMicrosyntaxExpression",{expression:x(d.ast),alias:null},d.sourceSpan)},{start:p.span.start,end:d.sourceSpan.end}):v("NGMicrosyntaxKey",{name:A(p.source)},p.span)}else{let{key:p,sourceSpan:d}=o;if(/^let\s$/.test(e.text.slice(d.start,d.start+4))){let{value:l}=o;return v("NGMicrosyntaxLet",{key:v("NGMicrosyntaxKey",{name:p.source},p.span),value:l?v("NGMicrosyntaxKey",{name:l.source},l.span):null},{start:d.start,end:l?l.span.end:p.span.end})}else{let l=c(o);return v("NGMicrosyntaxAs",{key:v("NGMicrosyntaxKey",{name:l.source},l.span),alias:v("NGMicrosyntaxKey",{name:p.source},p.span)},{start:l.span.start,end:p.span.end})}}}function x(o){return Ot.transform(o,e)}function v(o,u,p,d=!0){return Object.assign(Object.assign({type:o},Ot.transformSpan(p,e,d)),u)}function A(o){return Nt.toLowerCamelCase(o.slice(s.source.length))}function N(o){return o instanceof ss.ExpressionBinding}function O(o){return o instanceof ss.VariableBinding}function w(o){C(o.key.span),O(o)&&o.value&&C(o.value.span)}function C(o){if(e.text[o.start]!=='"'&&e.text[o.start]!=="'")return;let u=e.text[o.start],p=!1;for(let d=o.start+1;d<e.text.length;d++)switch(e.text[d]){case u:if(!p){o.end=d+1;return}default:p=!1;break;case"\\":p=!p;break}}function c(o){if(!o.value||o.value.source!==Nt.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX)return o.value;let u=Nt.findBackChar(/\S/,o.sourceSpan.start,e.text);return{source:"$implicit",span:{start:u,end:u}}}}He.transformTemplateBindings=Sr});var is=le(b=>{"use strict";m();Object.defineProperty(b,"__esModule",{value:!0});b.parseTemplateBindings=b.parseAction=b.parseInterpolation=b.parseSimpleBinding=b.parseBinding=void 0;var ns=Bt(),wr=$t(),yr=rs(),Re=qe();function ze(r,e){let{ast:t,comments:s}=e(r),n=new ns.Context(r),i=h=>wr.transform(h,n),a=i(t);return a.comments=s.map(i),a}function Er(r){return ze(r,Re.parseNgBinding)}b.parseBinding=Er;function Ar(r){return ze(r,Re.parseNgSimpleBinding)}b.parseSimpleBinding=Ar;function Cr(r){return ze(r,Re.parseNgInterpolation)}b.parseInterpolation=Cr;function $r(r){return ze(r,Re.parseNgAction)}b.parseAction=$r;function Or(r){return yr.transformTemplateBindings(Re.parseNgTemplateBindings(r),new ns.Context(r))}b.parseTemplateBindings=Or});m();m();m();function xs(r){return Array.isArray(r)&&r.length>0}var It=xs;function Je(r,e){let{ignoreDecorators:t}=e||{};if(!t){let s=r.declaration&&r.declaration.decorators||r.decorators;if(It(s))return Je(s[0])}return r.range?r.range[0]:r.start}function Rt(r){return r.range?r.range[1]:r.end}function Xe(r){return{astFormat:"estree",parse:async(t,s)=>{let n=await Promise.resolve().then(()=>ds(is(),1)),i=r(t,n);return{type:"NGRoot",node:s.parser==="__ng_action"&&i.type!=="NGChainedExpression"?{...i,type:"NGChainedExpression",expressions:[i]}:i}},locStart:Je,locEnd:Rt}}var Nr={parsers:{__ng_action:Xe((r,e)=>e.parseAction(r)),__ng_binding:Xe((r,e)=>e.parseBinding(r)),__ng_interpolation:Xe((r,e)=>e.parseInterpolation(r)),__ng_directive:Xe((r,e)=>e.parseTemplateBindings(r))}},qr=Nr;export{qr as default};