4507 lines
122 KiB
JavaScript
4507 lines
122 KiB
JavaScript
var $s = Object.defineProperty;
|
|
var Xt = (t) => {
|
|
throw TypeError(t);
|
|
};
|
|
var Jt = (t, e) => {
|
|
for (var n in e) $s(t, n, { get: e[n], enumerable: !0 });
|
|
};
|
|
var it = (t, e, n) => e.has(t) || Xt('Cannot ' + n);
|
|
var L = (t, e, n) => (
|
|
it(t, e, 'read from private field'), n ? n.call(t) : e.get(t)
|
|
),
|
|
V = (t, e, n) =>
|
|
e.has(t) ? Xt('Cannot add the same private member more than once')
|
|
: e instanceof WeakSet ? e.add(t)
|
|
: e.set(t, n),
|
|
K = (t, e, n, s) => (
|
|
it(t, e, 'write to private field'), s ? s.call(t, n) : e.set(t, n), n
|
|
),
|
|
c = (t, e, n) => (it(t, e, 'access private method'), n);
|
|
var zt = {};
|
|
Jt(zt, { parsers: () => jt });
|
|
var jt = {};
|
|
Jt(jt, {
|
|
__ng_action: () => Ur,
|
|
__ng_binding: () => Wr,
|
|
__ng_directive: () => jr,
|
|
__ng_interpolation: () => qr,
|
|
});
|
|
var Gr = new RegExp(
|
|
`(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,
|
|
'g'
|
|
);
|
|
var Yt;
|
|
(function (t) {
|
|
(t[(t.Emulated = 0)] = 'Emulated'),
|
|
(t[(t.None = 2)] = 'None'),
|
|
(t[(t.ShadowDom = 3)] = 'ShadowDom');
|
|
})(Yt || (Yt = {}));
|
|
var Qt;
|
|
(function (t) {
|
|
(t[(t.OnPush = 0)] = 'OnPush'), (t[(t.Default = 1)] = 'Default');
|
|
})(Qt || (Qt = {}));
|
|
var Kt;
|
|
(function (t) {
|
|
(t[(t.None = 0)] = 'None'),
|
|
(t[(t.SignalBased = 1)] = 'SignalBased'),
|
|
(t[(t.HasDecoratorInputTransform = 2)] = 'HasDecoratorInputTransform');
|
|
})(Kt || (Kt = {}));
|
|
var B;
|
|
(function (t) {
|
|
(t[(t.NONE = 0)] = 'NONE'),
|
|
(t[(t.HTML = 1)] = 'HTML'),
|
|
(t[(t.STYLE = 2)] = 'STYLE'),
|
|
(t[(t.SCRIPT = 3)] = 'SCRIPT'),
|
|
(t[(t.URL = 4)] = 'URL'),
|
|
(t[(t.RESOURCE_URL = 5)] = 'RESOURCE_URL');
|
|
})(B || (B = {}));
|
|
var Zt;
|
|
(function (t) {
|
|
(t[(t.Error = 0)] = 'Error'),
|
|
(t[(t.Warning = 1)] = 'Warning'),
|
|
(t[(t.Ignore = 2)] = 'Ignore');
|
|
})(Zt || (Zt = {}));
|
|
var en;
|
|
(function (t) {
|
|
(t[(t.Little = 0)] = 'Little'), (t[(t.Big = 1)] = 'Big');
|
|
})(en || (en = {}));
|
|
var tn;
|
|
(function (t) {
|
|
(t[(t.None = 0)] = 'None'), (t[(t.Const = 1)] = 'Const');
|
|
})(tn || (tn = {}));
|
|
var nn;
|
|
(function (t) {
|
|
(t[(t.Dynamic = 0)] = 'Dynamic'),
|
|
(t[(t.Bool = 1)] = 'Bool'),
|
|
(t[(t.String = 2)] = 'String'),
|
|
(t[(t.Int = 3)] = 'Int'),
|
|
(t[(t.Number = 4)] = 'Number'),
|
|
(t[(t.Function = 5)] = 'Function'),
|
|
(t[(t.Inferred = 6)] = 'Inferred'),
|
|
(t[(t.None = 7)] = 'None');
|
|
})(nn || (nn = {}));
|
|
var Rs = void 0;
|
|
var sn;
|
|
(function (t) {
|
|
(t[(t.Minus = 0)] = 'Minus'), (t[(t.Plus = 1)] = 'Plus');
|
|
})(sn || (sn = {}));
|
|
var _;
|
|
(function (t) {
|
|
(t[(t.Equals = 0)] = 'Equals'),
|
|
(t[(t.NotEquals = 1)] = 'NotEquals'),
|
|
(t[(t.Identical = 2)] = 'Identical'),
|
|
(t[(t.NotIdentical = 3)] = 'NotIdentical'),
|
|
(t[(t.Minus = 4)] = 'Minus'),
|
|
(t[(t.Plus = 5)] = 'Plus'),
|
|
(t[(t.Divide = 6)] = 'Divide'),
|
|
(t[(t.Multiply = 7)] = 'Multiply'),
|
|
(t[(t.Modulo = 8)] = 'Modulo'),
|
|
(t[(t.And = 9)] = 'And'),
|
|
(t[(t.Or = 10)] = 'Or'),
|
|
(t[(t.BitwiseOr = 11)] = 'BitwiseOr'),
|
|
(t[(t.BitwiseAnd = 12)] = 'BitwiseAnd'),
|
|
(t[(t.Lower = 13)] = 'Lower'),
|
|
(t[(t.LowerEquals = 14)] = 'LowerEquals'),
|
|
(t[(t.Bigger = 15)] = 'Bigger'),
|
|
(t[(t.BiggerEquals = 16)] = 'BiggerEquals'),
|
|
(t[(t.NullishCoalesce = 17)] = 'NullishCoalesce');
|
|
})(_ || (_ = {}));
|
|
function Bs(t, e) {
|
|
return t == null || e == null ? t == e : t.isEquivalent(e);
|
|
}
|
|
function Ds(t, e, n) {
|
|
let s = t.length;
|
|
if (s !== e.length) return !1;
|
|
for (let r = 0; r < s; r++) if (!n(t[r], e[r])) return !1;
|
|
return !0;
|
|
}
|
|
function tt(t, e) {
|
|
return Ds(t, e, (n, s) => n.isEquivalent(s));
|
|
}
|
|
var k = class {
|
|
type;
|
|
sourceSpan;
|
|
constructor(e, n) {
|
|
(this.type = e || null), (this.sourceSpan = n || null);
|
|
}
|
|
prop(e, n) {
|
|
return new gt(this, e, null, n);
|
|
}
|
|
key(e, n, s) {
|
|
return new vt(this, e, n, s);
|
|
}
|
|
callFn(e, n, s) {
|
|
return new Xe(this, e, null, n, s);
|
|
}
|
|
instantiate(e, n, s) {
|
|
return new ft(this, e, n, s);
|
|
}
|
|
conditional(e, n = null, s) {
|
|
return new mt(this, e, n, null, s);
|
|
}
|
|
equals(e, n) {
|
|
return new C(_.Equals, this, e, null, n);
|
|
}
|
|
notEquals(e, n) {
|
|
return new C(_.NotEquals, this, e, null, n);
|
|
}
|
|
identical(e, n) {
|
|
return new C(_.Identical, this, e, null, n);
|
|
}
|
|
notIdentical(e, n) {
|
|
return new C(_.NotIdentical, this, e, null, n);
|
|
}
|
|
minus(e, n) {
|
|
return new C(_.Minus, this, e, null, n);
|
|
}
|
|
plus(e, n) {
|
|
return new C(_.Plus, this, e, null, n);
|
|
}
|
|
divide(e, n) {
|
|
return new C(_.Divide, this, e, null, n);
|
|
}
|
|
multiply(e, n) {
|
|
return new C(_.Multiply, this, e, null, n);
|
|
}
|
|
modulo(e, n) {
|
|
return new C(_.Modulo, this, e, null, n);
|
|
}
|
|
and(e, n) {
|
|
return new C(_.And, this, e, null, n);
|
|
}
|
|
bitwiseOr(e, n, s = !0) {
|
|
return new C(_.BitwiseOr, this, e, null, n, s);
|
|
}
|
|
bitwiseAnd(e, n, s = !0) {
|
|
return new C(_.BitwiseAnd, this, e, null, n, s);
|
|
}
|
|
or(e, n) {
|
|
return new C(_.Or, this, e, null, n);
|
|
}
|
|
lower(e, n) {
|
|
return new C(_.Lower, this, e, null, n);
|
|
}
|
|
lowerEquals(e, n) {
|
|
return new C(_.LowerEquals, this, e, null, n);
|
|
}
|
|
bigger(e, n) {
|
|
return new C(_.Bigger, this, e, null, n);
|
|
}
|
|
biggerEquals(e, n) {
|
|
return new C(_.BiggerEquals, this, e, null, n);
|
|
}
|
|
isBlank(e) {
|
|
return this.equals(TYPED_NULL_EXPR, e);
|
|
}
|
|
nullishCoalesce(e, n) {
|
|
return new C(_.NullishCoalesce, this, e, null, n);
|
|
}
|
|
toStmt() {
|
|
return new xt(this, null);
|
|
}
|
|
},
|
|
Ge = class t extends k {
|
|
name;
|
|
constructor(e, n, s) {
|
|
super(n, s), (this.name = e);
|
|
}
|
|
isEquivalent(e) {
|
|
return e instanceof t && this.name === e.name;
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitReadVarExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(this.name, this.type, this.sourceSpan);
|
|
}
|
|
set(e) {
|
|
return new ut(this.name, e, null, this.sourceSpan);
|
|
}
|
|
},
|
|
ct = class t extends k {
|
|
expr;
|
|
constructor(e, n, s) {
|
|
super(n, s), (this.expr = e);
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitTypeofExpr(this, n);
|
|
}
|
|
isEquivalent(e) {
|
|
return e instanceof t && e.expr.isEquivalent(this.expr);
|
|
}
|
|
isConstant() {
|
|
return this.expr.isConstant();
|
|
}
|
|
clone() {
|
|
return new t(this.expr.clone());
|
|
}
|
|
};
|
|
var ut = class t extends k {
|
|
name;
|
|
value;
|
|
constructor(e, n, s, r) {
|
|
super(s || n.type, r), (this.name = e), (this.value = n);
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.name === e.name &&
|
|
this.value.isEquivalent(e.value)
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitWriteVarExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(this.name, this.value.clone(), this.type, this.sourceSpan);
|
|
}
|
|
toDeclStmt(e, n) {
|
|
return new wt(this.name, this.value, e, n, this.sourceSpan);
|
|
}
|
|
toConstDecl() {
|
|
return this.toDeclStmt(Rs, Ee.Final);
|
|
}
|
|
},
|
|
pt = class t extends k {
|
|
receiver;
|
|
index;
|
|
value;
|
|
constructor(e, n, s, r, o) {
|
|
super(r || s.type, o),
|
|
(this.receiver = e),
|
|
(this.index = n),
|
|
(this.value = s);
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.receiver.isEquivalent(e.receiver) &&
|
|
this.index.isEquivalent(e.index) &&
|
|
this.value.isEquivalent(e.value)
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitWriteKeyExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(
|
|
this.receiver.clone(),
|
|
this.index.clone(),
|
|
this.value.clone(),
|
|
this.type,
|
|
this.sourceSpan
|
|
);
|
|
}
|
|
},
|
|
ht = class t extends k {
|
|
receiver;
|
|
name;
|
|
value;
|
|
constructor(e, n, s, r, o) {
|
|
super(r || s.type, o),
|
|
(this.receiver = e),
|
|
(this.name = n),
|
|
(this.value = s);
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.receiver.isEquivalent(e.receiver) &&
|
|
this.name === e.name &&
|
|
this.value.isEquivalent(e.value)
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitWritePropExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(
|
|
this.receiver.clone(),
|
|
this.name,
|
|
this.value.clone(),
|
|
this.type,
|
|
this.sourceSpan
|
|
);
|
|
}
|
|
},
|
|
Xe = class t extends k {
|
|
fn;
|
|
args;
|
|
pure;
|
|
constructor(e, n, s, r, o = !1) {
|
|
super(s, r), (this.fn = e), (this.args = n), (this.pure = o);
|
|
}
|
|
get receiver() {
|
|
return this.fn;
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.fn.isEquivalent(e.fn) &&
|
|
tt(this.args, e.args) &&
|
|
this.pure === e.pure
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitInvokeFunctionExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(
|
|
this.fn.clone(),
|
|
this.args.map((e) => e.clone()),
|
|
this.type,
|
|
this.sourceSpan,
|
|
this.pure
|
|
);
|
|
}
|
|
};
|
|
var ft = class t extends k {
|
|
classExpr;
|
|
args;
|
|
constructor(e, n, s, r) {
|
|
super(s, r), (this.classExpr = e), (this.args = n);
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.classExpr.isEquivalent(e.classExpr) &&
|
|
tt(this.args, e.args)
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitInstantiateExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(
|
|
this.classExpr.clone(),
|
|
this.args.map((e) => e.clone()),
|
|
this.type,
|
|
this.sourceSpan
|
|
);
|
|
}
|
|
},
|
|
Je = class t extends k {
|
|
value;
|
|
constructor(e, n, s) {
|
|
super(n, s), (this.value = e);
|
|
}
|
|
isEquivalent(e) {
|
|
return e instanceof t && this.value === e.value;
|
|
}
|
|
isConstant() {
|
|
return !0;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitLiteralExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(this.value, this.type, this.sourceSpan);
|
|
}
|
|
};
|
|
var dt = class t extends k {
|
|
value;
|
|
typeParams;
|
|
constructor(e, n, s = null, r) {
|
|
super(n, r), (this.value = e), (this.typeParams = s);
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.value.name === e.value.name &&
|
|
this.value.moduleName === e.value.moduleName
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitExternalExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(this.value, this.type, this.typeParams, this.sourceSpan);
|
|
}
|
|
};
|
|
var mt = class t extends k {
|
|
condition;
|
|
falseCase;
|
|
trueCase;
|
|
constructor(e, n, s = null, r, o) {
|
|
super(r || n.type, o),
|
|
(this.condition = e),
|
|
(this.falseCase = s),
|
|
(this.trueCase = n);
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.condition.isEquivalent(e.condition) &&
|
|
this.trueCase.isEquivalent(e.trueCase) &&
|
|
Bs(this.falseCase, e.falseCase)
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitConditionalExpr(this, n);
|
|
}
|
|
clone() {
|
|
var e;
|
|
return new t(
|
|
this.condition.clone(),
|
|
this.trueCase.clone(),
|
|
(e = this.falseCase) == null ? void 0 : e.clone(),
|
|
this.type,
|
|
this.sourceSpan
|
|
);
|
|
}
|
|
};
|
|
var C = class t extends k {
|
|
operator;
|
|
rhs;
|
|
parens;
|
|
lhs;
|
|
constructor(e, n, s, r, o, a = !0) {
|
|
super(r || n.type, o),
|
|
(this.operator = e),
|
|
(this.rhs = s),
|
|
(this.parens = a),
|
|
(this.lhs = n);
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.operator === e.operator &&
|
|
this.lhs.isEquivalent(e.lhs) &&
|
|
this.rhs.isEquivalent(e.rhs)
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitBinaryOperatorExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(
|
|
this.operator,
|
|
this.lhs.clone(),
|
|
this.rhs.clone(),
|
|
this.type,
|
|
this.sourceSpan,
|
|
this.parens
|
|
);
|
|
}
|
|
},
|
|
gt = class t extends k {
|
|
receiver;
|
|
name;
|
|
constructor(e, n, s, r) {
|
|
super(s, r), (this.receiver = e), (this.name = n);
|
|
}
|
|
get index() {
|
|
return this.name;
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.receiver.isEquivalent(e.receiver) &&
|
|
this.name === e.name
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitReadPropExpr(this, n);
|
|
}
|
|
set(e) {
|
|
return new ht(this.receiver, this.name, e, null, this.sourceSpan);
|
|
}
|
|
clone() {
|
|
return new t(
|
|
this.receiver.clone(),
|
|
this.name,
|
|
this.type,
|
|
this.sourceSpan
|
|
);
|
|
}
|
|
},
|
|
vt = class t extends k {
|
|
receiver;
|
|
index;
|
|
constructor(e, n, s, r) {
|
|
super(s, r), (this.receiver = e), (this.index = n);
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.receiver.isEquivalent(e.receiver) &&
|
|
this.index.isEquivalent(e.index)
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitReadKeyExpr(this, n);
|
|
}
|
|
set(e) {
|
|
return new pt(this.receiver, this.index, e, null, this.sourceSpan);
|
|
}
|
|
clone() {
|
|
return new t(
|
|
this.receiver.clone(),
|
|
this.index.clone(),
|
|
this.type,
|
|
this.sourceSpan
|
|
);
|
|
}
|
|
},
|
|
Ye = class t extends k {
|
|
entries;
|
|
constructor(e, n, s) {
|
|
super(n, s), (this.entries = e);
|
|
}
|
|
isConstant() {
|
|
return this.entries.every((e) => e.isConstant());
|
|
}
|
|
isEquivalent(e) {
|
|
return e instanceof t && tt(this.entries, e.entries);
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitLiteralArrayExpr(this, n);
|
|
}
|
|
clone() {
|
|
return new t(
|
|
this.entries.map((e) => e.clone()),
|
|
this.type,
|
|
this.sourceSpan
|
|
);
|
|
}
|
|
};
|
|
var Qe = class t extends k {
|
|
entries;
|
|
valueType = null;
|
|
constructor(e, n, s) {
|
|
super(n, s), (this.entries = e), n && (this.valueType = n.valueType);
|
|
}
|
|
isEquivalent(e) {
|
|
return e instanceof t && tt(this.entries, e.entries);
|
|
}
|
|
isConstant() {
|
|
return this.entries.every((e) => e.value.isConstant());
|
|
}
|
|
visitExpression(e, n) {
|
|
return e.visitLiteralMapExpr(this, n);
|
|
}
|
|
clone() {
|
|
let e = this.entries.map((n) => n.clone());
|
|
return new t(e, this.type, this.sourceSpan);
|
|
}
|
|
};
|
|
var Ee;
|
|
(function (t) {
|
|
(t[(t.None = 0)] = 'None'),
|
|
(t[(t.Final = 1)] = 'Final'),
|
|
(t[(t.Private = 2)] = 'Private'),
|
|
(t[(t.Exported = 4)] = 'Exported'),
|
|
(t[(t.Static = 8)] = 'Static');
|
|
})(Ee || (Ee = {}));
|
|
var Ke = class {
|
|
modifiers;
|
|
sourceSpan;
|
|
leadingComments;
|
|
constructor(e = Ee.None, n = null, s) {
|
|
(this.modifiers = e), (this.sourceSpan = n), (this.leadingComments = s);
|
|
}
|
|
hasModifier(e) {
|
|
return (this.modifiers & e) !== 0;
|
|
}
|
|
addLeadingComment(e) {
|
|
(this.leadingComments = this.leadingComments ?? []),
|
|
this.leadingComments.push(e);
|
|
}
|
|
},
|
|
wt = class t extends Ke {
|
|
name;
|
|
value;
|
|
type;
|
|
constructor(e, n, s, r, o, a) {
|
|
super(r, o, a),
|
|
(this.name = e),
|
|
(this.value = n),
|
|
(this.type = s || (n && n.type) || null);
|
|
}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
this.name === e.name &&
|
|
(this.value ? !!e.value && this.value.isEquivalent(e.value) : !e.value)
|
|
);
|
|
}
|
|
visitStatement(e, n) {
|
|
return e.visitDeclareVarStmt(this, n);
|
|
}
|
|
};
|
|
var xt = class t extends Ke {
|
|
expr;
|
|
constructor(e, n, s) {
|
|
super(Ee.None, n, s), (this.expr = e);
|
|
}
|
|
isEquivalent(e) {
|
|
return e instanceof t && this.expr.isEquivalent(e.expr);
|
|
}
|
|
visitStatement(e, n) {
|
|
return e.visitExpressionStmt(this, n);
|
|
}
|
|
};
|
|
function Os(t, e, n) {
|
|
return new Ge(t, e, n);
|
|
}
|
|
var Xr = Os('<unknown>');
|
|
var rn = class t {
|
|
static INSTANCE = new t();
|
|
keyOf(e) {
|
|
if (e instanceof Je && typeof e.value == 'string') return `"${e.value}"`;
|
|
if (e instanceof Je) return String(e.value);
|
|
if (e instanceof Ye) {
|
|
let n = [];
|
|
for (let s of e.entries) n.push(this.keyOf(s));
|
|
return `[${n.join(',')}]`;
|
|
} else if (e instanceof Qe) {
|
|
let n = [];
|
|
for (let s of e.entries) {
|
|
let r = s.key;
|
|
s.quoted && (r = `"${r}"`), n.push(r + ':' + this.keyOf(s.value));
|
|
}
|
|
return `{${n.join(',')}}`;
|
|
} else {
|
|
if (e instanceof dt)
|
|
return `import("${e.value.moduleName}", ${e.value.name})`;
|
|
if (e instanceof Ge) return `read(${e.name})`;
|
|
if (e instanceof ct) return `typeof(${this.keyOf(e.expr)})`;
|
|
throw new Error(
|
|
`${this.constructor.name} does not handle expressions of type ${e.constructor.name}`
|
|
);
|
|
}
|
|
}
|
|
};
|
|
var i = '@angular/core',
|
|
P = class {
|
|
static NEW_METHOD = 'factory';
|
|
static TRANSFORM_METHOD = 'transform';
|
|
static PATCH_DEPS = 'patchedDeps';
|
|
static core = { name: null, moduleName: i };
|
|
static namespaceHTML = { name: '\u0275\u0275namespaceHTML', moduleName: i };
|
|
static namespaceMathML = {
|
|
name: '\u0275\u0275namespaceMathML',
|
|
moduleName: i,
|
|
};
|
|
static namespaceSVG = { name: '\u0275\u0275namespaceSVG', moduleName: i };
|
|
static element = { name: '\u0275\u0275element', moduleName: i };
|
|
static elementStart = { name: '\u0275\u0275elementStart', moduleName: i };
|
|
static elementEnd = { name: '\u0275\u0275elementEnd', moduleName: i };
|
|
static advance = { name: '\u0275\u0275advance', moduleName: i };
|
|
static syntheticHostProperty = {
|
|
name: '\u0275\u0275syntheticHostProperty',
|
|
moduleName: i,
|
|
};
|
|
static syntheticHostListener = {
|
|
name: '\u0275\u0275syntheticHostListener',
|
|
moduleName: i,
|
|
};
|
|
static attribute = { name: '\u0275\u0275attribute', moduleName: i };
|
|
static attributeInterpolate1 = {
|
|
name: '\u0275\u0275attributeInterpolate1',
|
|
moduleName: i,
|
|
};
|
|
static attributeInterpolate2 = {
|
|
name: '\u0275\u0275attributeInterpolate2',
|
|
moduleName: i,
|
|
};
|
|
static attributeInterpolate3 = {
|
|
name: '\u0275\u0275attributeInterpolate3',
|
|
moduleName: i,
|
|
};
|
|
static attributeInterpolate4 = {
|
|
name: '\u0275\u0275attributeInterpolate4',
|
|
moduleName: i,
|
|
};
|
|
static attributeInterpolate5 = {
|
|
name: '\u0275\u0275attributeInterpolate5',
|
|
moduleName: i,
|
|
};
|
|
static attributeInterpolate6 = {
|
|
name: '\u0275\u0275attributeInterpolate6',
|
|
moduleName: i,
|
|
};
|
|
static attributeInterpolate7 = {
|
|
name: '\u0275\u0275attributeInterpolate7',
|
|
moduleName: i,
|
|
};
|
|
static attributeInterpolate8 = {
|
|
name: '\u0275\u0275attributeInterpolate8',
|
|
moduleName: i,
|
|
};
|
|
static attributeInterpolateV = {
|
|
name: '\u0275\u0275attributeInterpolateV',
|
|
moduleName: i,
|
|
};
|
|
static classProp = { name: '\u0275\u0275classProp', moduleName: i };
|
|
static elementContainerStart = {
|
|
name: '\u0275\u0275elementContainerStart',
|
|
moduleName: i,
|
|
};
|
|
static elementContainerEnd = {
|
|
name: '\u0275\u0275elementContainerEnd',
|
|
moduleName: i,
|
|
};
|
|
static elementContainer = {
|
|
name: '\u0275\u0275elementContainer',
|
|
moduleName: i,
|
|
};
|
|
static styleMap = { name: '\u0275\u0275styleMap', moduleName: i };
|
|
static styleMapInterpolate1 = {
|
|
name: '\u0275\u0275styleMapInterpolate1',
|
|
moduleName: i,
|
|
};
|
|
static styleMapInterpolate2 = {
|
|
name: '\u0275\u0275styleMapInterpolate2',
|
|
moduleName: i,
|
|
};
|
|
static styleMapInterpolate3 = {
|
|
name: '\u0275\u0275styleMapInterpolate3',
|
|
moduleName: i,
|
|
};
|
|
static styleMapInterpolate4 = {
|
|
name: '\u0275\u0275styleMapInterpolate4',
|
|
moduleName: i,
|
|
};
|
|
static styleMapInterpolate5 = {
|
|
name: '\u0275\u0275styleMapInterpolate5',
|
|
moduleName: i,
|
|
};
|
|
static styleMapInterpolate6 = {
|
|
name: '\u0275\u0275styleMapInterpolate6',
|
|
moduleName: i,
|
|
};
|
|
static styleMapInterpolate7 = {
|
|
name: '\u0275\u0275styleMapInterpolate7',
|
|
moduleName: i,
|
|
};
|
|
static styleMapInterpolate8 = {
|
|
name: '\u0275\u0275styleMapInterpolate8',
|
|
moduleName: i,
|
|
};
|
|
static styleMapInterpolateV = {
|
|
name: '\u0275\u0275styleMapInterpolateV',
|
|
moduleName: i,
|
|
};
|
|
static classMap = { name: '\u0275\u0275classMap', moduleName: i };
|
|
static classMapInterpolate1 = {
|
|
name: '\u0275\u0275classMapInterpolate1',
|
|
moduleName: i,
|
|
};
|
|
static classMapInterpolate2 = {
|
|
name: '\u0275\u0275classMapInterpolate2',
|
|
moduleName: i,
|
|
};
|
|
static classMapInterpolate3 = {
|
|
name: '\u0275\u0275classMapInterpolate3',
|
|
moduleName: i,
|
|
};
|
|
static classMapInterpolate4 = {
|
|
name: '\u0275\u0275classMapInterpolate4',
|
|
moduleName: i,
|
|
};
|
|
static classMapInterpolate5 = {
|
|
name: '\u0275\u0275classMapInterpolate5',
|
|
moduleName: i,
|
|
};
|
|
static classMapInterpolate6 = {
|
|
name: '\u0275\u0275classMapInterpolate6',
|
|
moduleName: i,
|
|
};
|
|
static classMapInterpolate7 = {
|
|
name: '\u0275\u0275classMapInterpolate7',
|
|
moduleName: i,
|
|
};
|
|
static classMapInterpolate8 = {
|
|
name: '\u0275\u0275classMapInterpolate8',
|
|
moduleName: i,
|
|
};
|
|
static classMapInterpolateV = {
|
|
name: '\u0275\u0275classMapInterpolateV',
|
|
moduleName: i,
|
|
};
|
|
static styleProp = { name: '\u0275\u0275styleProp', moduleName: i };
|
|
static stylePropInterpolate1 = {
|
|
name: '\u0275\u0275stylePropInterpolate1',
|
|
moduleName: i,
|
|
};
|
|
static stylePropInterpolate2 = {
|
|
name: '\u0275\u0275stylePropInterpolate2',
|
|
moduleName: i,
|
|
};
|
|
static stylePropInterpolate3 = {
|
|
name: '\u0275\u0275stylePropInterpolate3',
|
|
moduleName: i,
|
|
};
|
|
static stylePropInterpolate4 = {
|
|
name: '\u0275\u0275stylePropInterpolate4',
|
|
moduleName: i,
|
|
};
|
|
static stylePropInterpolate5 = {
|
|
name: '\u0275\u0275stylePropInterpolate5',
|
|
moduleName: i,
|
|
};
|
|
static stylePropInterpolate6 = {
|
|
name: '\u0275\u0275stylePropInterpolate6',
|
|
moduleName: i,
|
|
};
|
|
static stylePropInterpolate7 = {
|
|
name: '\u0275\u0275stylePropInterpolate7',
|
|
moduleName: i,
|
|
};
|
|
static stylePropInterpolate8 = {
|
|
name: '\u0275\u0275stylePropInterpolate8',
|
|
moduleName: i,
|
|
};
|
|
static stylePropInterpolateV = {
|
|
name: '\u0275\u0275stylePropInterpolateV',
|
|
moduleName: i,
|
|
};
|
|
static nextContext = { name: '\u0275\u0275nextContext', moduleName: i };
|
|
static resetView = { name: '\u0275\u0275resetView', moduleName: i };
|
|
static templateCreate = { name: '\u0275\u0275template', moduleName: i };
|
|
static defer = { name: '\u0275\u0275defer', moduleName: i };
|
|
static deferWhen = { name: '\u0275\u0275deferWhen', moduleName: i };
|
|
static deferOnIdle = { name: '\u0275\u0275deferOnIdle', moduleName: i };
|
|
static deferOnImmediate = {
|
|
name: '\u0275\u0275deferOnImmediate',
|
|
moduleName: i,
|
|
};
|
|
static deferOnTimer = { name: '\u0275\u0275deferOnTimer', moduleName: i };
|
|
static deferOnHover = { name: '\u0275\u0275deferOnHover', moduleName: i };
|
|
static deferOnInteraction = {
|
|
name: '\u0275\u0275deferOnInteraction',
|
|
moduleName: i,
|
|
};
|
|
static deferOnViewport = {
|
|
name: '\u0275\u0275deferOnViewport',
|
|
moduleName: i,
|
|
};
|
|
static deferPrefetchWhen = {
|
|
name: '\u0275\u0275deferPrefetchWhen',
|
|
moduleName: i,
|
|
};
|
|
static deferPrefetchOnIdle = {
|
|
name: '\u0275\u0275deferPrefetchOnIdle',
|
|
moduleName: i,
|
|
};
|
|
static deferPrefetchOnImmediate = {
|
|
name: '\u0275\u0275deferPrefetchOnImmediate',
|
|
moduleName: i,
|
|
};
|
|
static deferPrefetchOnTimer = {
|
|
name: '\u0275\u0275deferPrefetchOnTimer',
|
|
moduleName: i,
|
|
};
|
|
static deferPrefetchOnHover = {
|
|
name: '\u0275\u0275deferPrefetchOnHover',
|
|
moduleName: i,
|
|
};
|
|
static deferPrefetchOnInteraction = {
|
|
name: '\u0275\u0275deferPrefetchOnInteraction',
|
|
moduleName: i,
|
|
};
|
|
static deferPrefetchOnViewport = {
|
|
name: '\u0275\u0275deferPrefetchOnViewport',
|
|
moduleName: i,
|
|
};
|
|
static deferHydrateWhen = {
|
|
name: '\u0275\u0275deferHydrateWhen',
|
|
moduleName: i,
|
|
};
|
|
static deferHydrateNever = {
|
|
name: '\u0275\u0275deferHydrateNever',
|
|
moduleName: i,
|
|
};
|
|
static deferHydrateOnIdle = {
|
|
name: '\u0275\u0275deferHydrateOnIdle',
|
|
moduleName: i,
|
|
};
|
|
static deferHydrateOnImmediate = {
|
|
name: '\u0275\u0275deferHydrateOnImmediate',
|
|
moduleName: i,
|
|
};
|
|
static deferHydrateOnTimer = {
|
|
name: '\u0275\u0275deferHydrateOnTimer',
|
|
moduleName: i,
|
|
};
|
|
static deferHydrateOnHover = {
|
|
name: '\u0275\u0275deferHydrateOnHover',
|
|
moduleName: i,
|
|
};
|
|
static deferHydrateOnInteraction = {
|
|
name: '\u0275\u0275deferHydrateOnInteraction',
|
|
moduleName: i,
|
|
};
|
|
static deferHydrateOnViewport = {
|
|
name: '\u0275\u0275deferHydrateOnViewport',
|
|
moduleName: i,
|
|
};
|
|
static deferEnableTimerScheduling = {
|
|
name: '\u0275\u0275deferEnableTimerScheduling',
|
|
moduleName: i,
|
|
};
|
|
static conditional = { name: '\u0275\u0275conditional', moduleName: i };
|
|
static repeater = { name: '\u0275\u0275repeater', moduleName: i };
|
|
static repeaterCreate = {
|
|
name: '\u0275\u0275repeaterCreate',
|
|
moduleName: i,
|
|
};
|
|
static repeaterTrackByIndex = {
|
|
name: '\u0275\u0275repeaterTrackByIndex',
|
|
moduleName: i,
|
|
};
|
|
static repeaterTrackByIdentity = {
|
|
name: '\u0275\u0275repeaterTrackByIdentity',
|
|
moduleName: i,
|
|
};
|
|
static componentInstance = {
|
|
name: '\u0275\u0275componentInstance',
|
|
moduleName: i,
|
|
};
|
|
static text = { name: '\u0275\u0275text', moduleName: i };
|
|
static enableBindings = {
|
|
name: '\u0275\u0275enableBindings',
|
|
moduleName: i,
|
|
};
|
|
static disableBindings = {
|
|
name: '\u0275\u0275disableBindings',
|
|
moduleName: i,
|
|
};
|
|
static getCurrentView = {
|
|
name: '\u0275\u0275getCurrentView',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolate = {
|
|
name: '\u0275\u0275textInterpolate',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolate1 = {
|
|
name: '\u0275\u0275textInterpolate1',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolate2 = {
|
|
name: '\u0275\u0275textInterpolate2',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolate3 = {
|
|
name: '\u0275\u0275textInterpolate3',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolate4 = {
|
|
name: '\u0275\u0275textInterpolate4',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolate5 = {
|
|
name: '\u0275\u0275textInterpolate5',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolate6 = {
|
|
name: '\u0275\u0275textInterpolate6',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolate7 = {
|
|
name: '\u0275\u0275textInterpolate7',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolate8 = {
|
|
name: '\u0275\u0275textInterpolate8',
|
|
moduleName: i,
|
|
};
|
|
static textInterpolateV = {
|
|
name: '\u0275\u0275textInterpolateV',
|
|
moduleName: i,
|
|
};
|
|
static restoreView = { name: '\u0275\u0275restoreView', moduleName: i };
|
|
static pureFunction0 = { name: '\u0275\u0275pureFunction0', moduleName: i };
|
|
static pureFunction1 = { name: '\u0275\u0275pureFunction1', moduleName: i };
|
|
static pureFunction2 = { name: '\u0275\u0275pureFunction2', moduleName: i };
|
|
static pureFunction3 = { name: '\u0275\u0275pureFunction3', moduleName: i };
|
|
static pureFunction4 = { name: '\u0275\u0275pureFunction4', moduleName: i };
|
|
static pureFunction5 = { name: '\u0275\u0275pureFunction5', moduleName: i };
|
|
static pureFunction6 = { name: '\u0275\u0275pureFunction6', moduleName: i };
|
|
static pureFunction7 = { name: '\u0275\u0275pureFunction7', moduleName: i };
|
|
static pureFunction8 = { name: '\u0275\u0275pureFunction8', moduleName: i };
|
|
static pureFunctionV = { name: '\u0275\u0275pureFunctionV', moduleName: i };
|
|
static pipeBind1 = { name: '\u0275\u0275pipeBind1', moduleName: i };
|
|
static pipeBind2 = { name: '\u0275\u0275pipeBind2', moduleName: i };
|
|
static pipeBind3 = { name: '\u0275\u0275pipeBind3', moduleName: i };
|
|
static pipeBind4 = { name: '\u0275\u0275pipeBind4', moduleName: i };
|
|
static pipeBindV = { name: '\u0275\u0275pipeBindV', moduleName: i };
|
|
static hostProperty = { name: '\u0275\u0275hostProperty', moduleName: i };
|
|
static property = { name: '\u0275\u0275property', moduleName: i };
|
|
static propertyInterpolate = {
|
|
name: '\u0275\u0275propertyInterpolate',
|
|
moduleName: i,
|
|
};
|
|
static propertyInterpolate1 = {
|
|
name: '\u0275\u0275propertyInterpolate1',
|
|
moduleName: i,
|
|
};
|
|
static propertyInterpolate2 = {
|
|
name: '\u0275\u0275propertyInterpolate2',
|
|
moduleName: i,
|
|
};
|
|
static propertyInterpolate3 = {
|
|
name: '\u0275\u0275propertyInterpolate3',
|
|
moduleName: i,
|
|
};
|
|
static propertyInterpolate4 = {
|
|
name: '\u0275\u0275propertyInterpolate4',
|
|
moduleName: i,
|
|
};
|
|
static propertyInterpolate5 = {
|
|
name: '\u0275\u0275propertyInterpolate5',
|
|
moduleName: i,
|
|
};
|
|
static propertyInterpolate6 = {
|
|
name: '\u0275\u0275propertyInterpolate6',
|
|
moduleName: i,
|
|
};
|
|
static propertyInterpolate7 = {
|
|
name: '\u0275\u0275propertyInterpolate7',
|
|
moduleName: i,
|
|
};
|
|
static propertyInterpolate8 = {
|
|
name: '\u0275\u0275propertyInterpolate8',
|
|
moduleName: i,
|
|
};
|
|
static propertyInterpolateV = {
|
|
name: '\u0275\u0275propertyInterpolateV',
|
|
moduleName: i,
|
|
};
|
|
static i18n = { name: '\u0275\u0275i18n', moduleName: i };
|
|
static i18nAttributes = {
|
|
name: '\u0275\u0275i18nAttributes',
|
|
moduleName: i,
|
|
};
|
|
static i18nExp = { name: '\u0275\u0275i18nExp', moduleName: i };
|
|
static i18nStart = { name: '\u0275\u0275i18nStart', moduleName: i };
|
|
static i18nEnd = { name: '\u0275\u0275i18nEnd', moduleName: i };
|
|
static i18nApply = { name: '\u0275\u0275i18nApply', moduleName: i };
|
|
static i18nPostprocess = {
|
|
name: '\u0275\u0275i18nPostprocess',
|
|
moduleName: i,
|
|
};
|
|
static pipe = { name: '\u0275\u0275pipe', moduleName: i };
|
|
static projection = { name: '\u0275\u0275projection', moduleName: i };
|
|
static projectionDef = { name: '\u0275\u0275projectionDef', moduleName: i };
|
|
static reference = { name: '\u0275\u0275reference', moduleName: i };
|
|
static inject = { name: '\u0275\u0275inject', moduleName: i };
|
|
static injectAttribute = {
|
|
name: '\u0275\u0275injectAttribute',
|
|
moduleName: i,
|
|
};
|
|
static directiveInject = {
|
|
name: '\u0275\u0275directiveInject',
|
|
moduleName: i,
|
|
};
|
|
static invalidFactory = {
|
|
name: '\u0275\u0275invalidFactory',
|
|
moduleName: i,
|
|
};
|
|
static invalidFactoryDep = {
|
|
name: '\u0275\u0275invalidFactoryDep',
|
|
moduleName: i,
|
|
};
|
|
static templateRefExtractor = {
|
|
name: '\u0275\u0275templateRefExtractor',
|
|
moduleName: i,
|
|
};
|
|
static forwardRef = { name: 'forwardRef', moduleName: i };
|
|
static resolveForwardRef = { name: 'resolveForwardRef', moduleName: i };
|
|
static replaceMetadata = {
|
|
name: '\u0275\u0275replaceMetadata',
|
|
moduleName: i,
|
|
};
|
|
static ɵɵdefineInjectable = {
|
|
name: '\u0275\u0275defineInjectable',
|
|
moduleName: i,
|
|
};
|
|
static declareInjectable = {
|
|
name: '\u0275\u0275ngDeclareInjectable',
|
|
moduleName: i,
|
|
};
|
|
static InjectableDeclaration = {
|
|
name: '\u0275\u0275InjectableDeclaration',
|
|
moduleName: i,
|
|
};
|
|
static resolveWindow = { name: '\u0275\u0275resolveWindow', moduleName: i };
|
|
static resolveDocument = {
|
|
name: '\u0275\u0275resolveDocument',
|
|
moduleName: i,
|
|
};
|
|
static resolveBody = { name: '\u0275\u0275resolveBody', moduleName: i };
|
|
static getComponentDepsFactory = {
|
|
name: '\u0275\u0275getComponentDepsFactory',
|
|
moduleName: i,
|
|
};
|
|
static defineComponent = {
|
|
name: '\u0275\u0275defineComponent',
|
|
moduleName: i,
|
|
};
|
|
static declareComponent = {
|
|
name: '\u0275\u0275ngDeclareComponent',
|
|
moduleName: i,
|
|
};
|
|
static setComponentScope = {
|
|
name: '\u0275\u0275setComponentScope',
|
|
moduleName: i,
|
|
};
|
|
static ChangeDetectionStrategy = {
|
|
name: 'ChangeDetectionStrategy',
|
|
moduleName: i,
|
|
};
|
|
static ViewEncapsulation = { name: 'ViewEncapsulation', moduleName: i };
|
|
static ComponentDeclaration = {
|
|
name: '\u0275\u0275ComponentDeclaration',
|
|
moduleName: i,
|
|
};
|
|
static FactoryDeclaration = {
|
|
name: '\u0275\u0275FactoryDeclaration',
|
|
moduleName: i,
|
|
};
|
|
static declareFactory = {
|
|
name: '\u0275\u0275ngDeclareFactory',
|
|
moduleName: i,
|
|
};
|
|
static FactoryTarget = { name: '\u0275\u0275FactoryTarget', moduleName: i };
|
|
static defineDirective = {
|
|
name: '\u0275\u0275defineDirective',
|
|
moduleName: i,
|
|
};
|
|
static declareDirective = {
|
|
name: '\u0275\u0275ngDeclareDirective',
|
|
moduleName: i,
|
|
};
|
|
static DirectiveDeclaration = {
|
|
name: '\u0275\u0275DirectiveDeclaration',
|
|
moduleName: i,
|
|
};
|
|
static InjectorDef = { name: '\u0275\u0275InjectorDef', moduleName: i };
|
|
static InjectorDeclaration = {
|
|
name: '\u0275\u0275InjectorDeclaration',
|
|
moduleName: i,
|
|
};
|
|
static defineInjector = {
|
|
name: '\u0275\u0275defineInjector',
|
|
moduleName: i,
|
|
};
|
|
static declareInjector = {
|
|
name: '\u0275\u0275ngDeclareInjector',
|
|
moduleName: i,
|
|
};
|
|
static NgModuleDeclaration = {
|
|
name: '\u0275\u0275NgModuleDeclaration',
|
|
moduleName: i,
|
|
};
|
|
static ModuleWithProviders = { name: 'ModuleWithProviders', moduleName: i };
|
|
static defineNgModule = {
|
|
name: '\u0275\u0275defineNgModule',
|
|
moduleName: i,
|
|
};
|
|
static declareNgModule = {
|
|
name: '\u0275\u0275ngDeclareNgModule',
|
|
moduleName: i,
|
|
};
|
|
static setNgModuleScope = {
|
|
name: '\u0275\u0275setNgModuleScope',
|
|
moduleName: i,
|
|
};
|
|
static registerNgModuleType = {
|
|
name: '\u0275\u0275registerNgModuleType',
|
|
moduleName: i,
|
|
};
|
|
static PipeDeclaration = {
|
|
name: '\u0275\u0275PipeDeclaration',
|
|
moduleName: i,
|
|
};
|
|
static definePipe = { name: '\u0275\u0275definePipe', moduleName: i };
|
|
static declarePipe = { name: '\u0275\u0275ngDeclarePipe', moduleName: i };
|
|
static declareClassMetadata = {
|
|
name: '\u0275\u0275ngDeclareClassMetadata',
|
|
moduleName: i,
|
|
};
|
|
static declareClassMetadataAsync = {
|
|
name: '\u0275\u0275ngDeclareClassMetadataAsync',
|
|
moduleName: i,
|
|
};
|
|
static setClassMetadata = { name: '\u0275setClassMetadata', moduleName: i };
|
|
static setClassMetadataAsync = {
|
|
name: '\u0275setClassMetadataAsync',
|
|
moduleName: i,
|
|
};
|
|
static setClassDebugInfo = {
|
|
name: '\u0275setClassDebugInfo',
|
|
moduleName: i,
|
|
};
|
|
static queryRefresh = { name: '\u0275\u0275queryRefresh', moduleName: i };
|
|
static viewQuery = { name: '\u0275\u0275viewQuery', moduleName: i };
|
|
static loadQuery = { name: '\u0275\u0275loadQuery', moduleName: i };
|
|
static contentQuery = { name: '\u0275\u0275contentQuery', moduleName: i };
|
|
static viewQuerySignal = {
|
|
name: '\u0275\u0275viewQuerySignal',
|
|
moduleName: i,
|
|
};
|
|
static contentQuerySignal = {
|
|
name: '\u0275\u0275contentQuerySignal',
|
|
moduleName: i,
|
|
};
|
|
static queryAdvance = { name: '\u0275\u0275queryAdvance', moduleName: i };
|
|
static twoWayProperty = {
|
|
name: '\u0275\u0275twoWayProperty',
|
|
moduleName: i,
|
|
};
|
|
static twoWayBindingSet = {
|
|
name: '\u0275\u0275twoWayBindingSet',
|
|
moduleName: i,
|
|
};
|
|
static twoWayListener = {
|
|
name: '\u0275\u0275twoWayListener',
|
|
moduleName: i,
|
|
};
|
|
static declareLet = { name: '\u0275\u0275declareLet', moduleName: i };
|
|
static storeLet = { name: '\u0275\u0275storeLet', moduleName: i };
|
|
static readContextLet = {
|
|
name: '\u0275\u0275readContextLet',
|
|
moduleName: i,
|
|
};
|
|
static attachSourceLocations = {
|
|
name: '\u0275\u0275attachSourceLocations',
|
|
moduleName: i,
|
|
};
|
|
static NgOnChangesFeature = {
|
|
name: '\u0275\u0275NgOnChangesFeature',
|
|
moduleName: i,
|
|
};
|
|
static InheritDefinitionFeature = {
|
|
name: '\u0275\u0275InheritDefinitionFeature',
|
|
moduleName: i,
|
|
};
|
|
static CopyDefinitionFeature = {
|
|
name: '\u0275\u0275CopyDefinitionFeature',
|
|
moduleName: i,
|
|
};
|
|
static ProvidersFeature = {
|
|
name: '\u0275\u0275ProvidersFeature',
|
|
moduleName: i,
|
|
};
|
|
static HostDirectivesFeature = {
|
|
name: '\u0275\u0275HostDirectivesFeature',
|
|
moduleName: i,
|
|
};
|
|
static InputTransformsFeatureFeature = {
|
|
name: '\u0275\u0275InputTransformsFeature',
|
|
moduleName: i,
|
|
};
|
|
static ExternalStylesFeature = {
|
|
name: '\u0275\u0275ExternalStylesFeature',
|
|
moduleName: i,
|
|
};
|
|
static listener = { name: '\u0275\u0275listener', moduleName: i };
|
|
static getInheritedFactory = {
|
|
name: '\u0275\u0275getInheritedFactory',
|
|
moduleName: i,
|
|
};
|
|
static sanitizeHtml = { name: '\u0275\u0275sanitizeHtml', moduleName: i };
|
|
static sanitizeStyle = { name: '\u0275\u0275sanitizeStyle', moduleName: i };
|
|
static sanitizeResourceUrl = {
|
|
name: '\u0275\u0275sanitizeResourceUrl',
|
|
moduleName: i,
|
|
};
|
|
static sanitizeScript = {
|
|
name: '\u0275\u0275sanitizeScript',
|
|
moduleName: i,
|
|
};
|
|
static sanitizeUrl = { name: '\u0275\u0275sanitizeUrl', moduleName: i };
|
|
static sanitizeUrlOrResourceUrl = {
|
|
name: '\u0275\u0275sanitizeUrlOrResourceUrl',
|
|
moduleName: i,
|
|
};
|
|
static trustConstantHtml = {
|
|
name: '\u0275\u0275trustConstantHtml',
|
|
moduleName: i,
|
|
};
|
|
static trustConstantResourceUrl = {
|
|
name: '\u0275\u0275trustConstantResourceUrl',
|
|
moduleName: i,
|
|
};
|
|
static validateIframeAttribute = {
|
|
name: '\u0275\u0275validateIframeAttribute',
|
|
moduleName: i,
|
|
};
|
|
static InputSignalBrandWriteType = {
|
|
name: '\u0275INPUT_SIGNAL_BRAND_WRITE_TYPE',
|
|
moduleName: i,
|
|
};
|
|
static UnwrapDirectiveSignalInputs = {
|
|
name: '\u0275UnwrapDirectiveSignalInputs',
|
|
moduleName: i,
|
|
};
|
|
static unwrapWritableSignal = {
|
|
name: '\u0275unwrapWritableSignal',
|
|
moduleName: i,
|
|
};
|
|
};
|
|
var St = class {
|
|
full;
|
|
major;
|
|
minor;
|
|
patch;
|
|
constructor(e) {
|
|
this.full = e;
|
|
let n = e.split('.');
|
|
(this.major = n[0]),
|
|
(this.minor = n[1]),
|
|
(this.patch = n.slice(2).join('.'));
|
|
}
|
|
};
|
|
var on;
|
|
(function (t) {
|
|
(t[(t.Class = 0)] = 'Class'), (t[(t.Function = 1)] = 'Function');
|
|
})(on || (on = {}));
|
|
var an;
|
|
(function (t) {
|
|
(t[(t.Directive = 0)] = 'Directive'),
|
|
(t[(t.Component = 1)] = 'Component'),
|
|
(t[(t.Injectable = 2)] = 'Injectable'),
|
|
(t[(t.Pipe = 3)] = 'Pipe'),
|
|
(t[(t.NgModule = 4)] = 'NgModule');
|
|
})(an || (an = {}));
|
|
var ye = class {
|
|
input;
|
|
errLocation;
|
|
ctxLocation;
|
|
message;
|
|
constructor(e, n, s, r) {
|
|
(this.input = n),
|
|
(this.errLocation = s),
|
|
(this.ctxLocation = r),
|
|
(this.message = `Parser Error: ${e} ${s} [${n}] in ${r}`);
|
|
}
|
|
},
|
|
G = class {
|
|
start;
|
|
end;
|
|
constructor(e, n) {
|
|
(this.start = e), (this.end = n);
|
|
}
|
|
toAbsolute(e) {
|
|
return new O(e + this.start, e + this.end);
|
|
}
|
|
},
|
|
E = class {
|
|
span;
|
|
sourceSpan;
|
|
constructor(e, n) {
|
|
(this.span = e), (this.sourceSpan = n);
|
|
}
|
|
toString() {
|
|
return 'AST';
|
|
}
|
|
},
|
|
se = class extends E {
|
|
nameSpan;
|
|
constructor(e, n, s) {
|
|
super(e, n), (this.nameSpan = s);
|
|
}
|
|
},
|
|
b = class extends E {
|
|
visit(e, n = null) {}
|
|
},
|
|
X = class extends E {
|
|
visit(e, n = null) {
|
|
return e.visitImplicitReceiver(this, n);
|
|
}
|
|
},
|
|
Et = class extends X {
|
|
visit(e, n = null) {
|
|
var s;
|
|
return (s = e.visitThisReceiver) == null ? void 0 : s.call(e, this, n);
|
|
}
|
|
},
|
|
_e = class extends E {
|
|
expressions;
|
|
constructor(e, n, s) {
|
|
super(e, n), (this.expressions = s);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitChain(this, n);
|
|
}
|
|
},
|
|
Ce = class extends E {
|
|
condition;
|
|
trueExp;
|
|
falseExp;
|
|
constructor(e, n, s, r, o) {
|
|
super(e, n),
|
|
(this.condition = s),
|
|
(this.trueExp = r),
|
|
(this.falseExp = o);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitConditional(this, n);
|
|
}
|
|
},
|
|
re = class extends se {
|
|
receiver;
|
|
name;
|
|
constructor(e, n, s, r, o) {
|
|
super(e, n, s), (this.receiver = r), (this.name = o);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitPropertyRead(this, n);
|
|
}
|
|
},
|
|
Te = class extends se {
|
|
receiver;
|
|
name;
|
|
value;
|
|
constructor(e, n, s, r, o, a) {
|
|
super(e, n, s), (this.receiver = r), (this.name = o), (this.value = a);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitPropertyWrite(this, n);
|
|
}
|
|
},
|
|
ie = class extends se {
|
|
receiver;
|
|
name;
|
|
constructor(e, n, s, r, o) {
|
|
super(e, n, s), (this.receiver = r), (this.name = o);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitSafePropertyRead(this, n);
|
|
}
|
|
},
|
|
ke = class extends E {
|
|
receiver;
|
|
key;
|
|
constructor(e, n, s, r) {
|
|
super(e, n), (this.receiver = s), (this.key = r);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitKeyedRead(this, n);
|
|
}
|
|
},
|
|
oe = class extends E {
|
|
receiver;
|
|
key;
|
|
constructor(e, n, s, r) {
|
|
super(e, n), (this.receiver = s), (this.key = r);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitSafeKeyedRead(this, n);
|
|
}
|
|
},
|
|
Ie = class extends E {
|
|
receiver;
|
|
key;
|
|
value;
|
|
constructor(e, n, s, r, o) {
|
|
super(e, n), (this.receiver = s), (this.key = r), (this.value = o);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitKeyedWrite(this, n);
|
|
}
|
|
},
|
|
be = class extends se {
|
|
exp;
|
|
name;
|
|
args;
|
|
constructor(e, n, s, r, o, a) {
|
|
super(e, n, a), (this.exp = s), (this.name = r), (this.args = o);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitPipe(this, n);
|
|
}
|
|
},
|
|
N = class extends E {
|
|
value;
|
|
constructor(e, n, s) {
|
|
super(e, n), (this.value = s);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitLiteralPrimitive(this, n);
|
|
}
|
|
},
|
|
Ne = class extends E {
|
|
expressions;
|
|
constructor(e, n, s) {
|
|
super(e, n), (this.expressions = s);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitLiteralArray(this, n);
|
|
}
|
|
},
|
|
Ae = class extends E {
|
|
keys;
|
|
values;
|
|
constructor(e, n, s, r) {
|
|
super(e, n), (this.keys = s), (this.values = r);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitLiteralMap(this, n);
|
|
}
|
|
},
|
|
Pe = class extends E {
|
|
strings;
|
|
expressions;
|
|
constructor(e, n, s, r) {
|
|
super(e, n), (this.strings = s), (this.expressions = r);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitInterpolation(this, n);
|
|
}
|
|
},
|
|
A = class extends E {
|
|
operation;
|
|
left;
|
|
right;
|
|
constructor(e, n, s, r, o) {
|
|
super(e, n), (this.operation = s), (this.left = r), (this.right = o);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitBinary(this, n);
|
|
}
|
|
},
|
|
ae = class t extends A {
|
|
operator;
|
|
expr;
|
|
left = null;
|
|
right = null;
|
|
operation = null;
|
|
static createMinus(e, n, s) {
|
|
return new t(e, n, '-', s, '-', new N(e, n, 0), s);
|
|
}
|
|
static createPlus(e, n, s) {
|
|
return new t(e, n, '+', s, '-', s, new N(e, n, 0));
|
|
}
|
|
constructor(e, n, s, r, o, a, l) {
|
|
super(e, n, o, a, l), (this.operator = s), (this.expr = r);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitUnary !== void 0 ?
|
|
e.visitUnary(this, n)
|
|
: e.visitBinary(this, n);
|
|
}
|
|
},
|
|
Le = class extends E {
|
|
expression;
|
|
constructor(e, n, s) {
|
|
super(e, n), (this.expression = s);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitPrefixNot(this, n);
|
|
}
|
|
},
|
|
Me = class extends E {
|
|
expression;
|
|
constructor(e, n, s) {
|
|
super(e, n), (this.expression = s);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitTypeofExpression(this, n);
|
|
}
|
|
},
|
|
$e = class extends E {
|
|
expression;
|
|
constructor(e, n, s) {
|
|
super(e, n), (this.expression = s);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitNonNullAssert(this, n);
|
|
}
|
|
},
|
|
Re = class extends E {
|
|
receiver;
|
|
args;
|
|
argumentSpan;
|
|
constructor(e, n, s, r, o) {
|
|
super(e, n),
|
|
(this.receiver = s),
|
|
(this.args = r),
|
|
(this.argumentSpan = o);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitCall(this, n);
|
|
}
|
|
},
|
|
le = class extends E {
|
|
receiver;
|
|
args;
|
|
argumentSpan;
|
|
constructor(e, n, s, r, o) {
|
|
super(e, n),
|
|
(this.receiver = s),
|
|
(this.args = r),
|
|
(this.argumentSpan = o);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitSafeCall(this, n);
|
|
}
|
|
},
|
|
O = class {
|
|
start;
|
|
end;
|
|
constructor(e, n) {
|
|
(this.start = e), (this.end = n);
|
|
}
|
|
},
|
|
W = class extends E {
|
|
ast;
|
|
source;
|
|
location;
|
|
errors;
|
|
constructor(e, n, s, r, o) {
|
|
super(
|
|
new G(0, n === null ? 0 : n.length),
|
|
new O(r, n === null ? r : r + n.length)
|
|
),
|
|
(this.ast = e),
|
|
(this.source = n),
|
|
(this.location = s),
|
|
(this.errors = o);
|
|
}
|
|
visit(e, n = null) {
|
|
return e.visitASTWithSource ?
|
|
e.visitASTWithSource(this, n)
|
|
: this.ast.visit(e, n);
|
|
}
|
|
toString() {
|
|
return `${this.source} in ${this.location}`;
|
|
}
|
|
},
|
|
ce = class {
|
|
sourceSpan;
|
|
key;
|
|
value;
|
|
constructor(e, n, s) {
|
|
(this.sourceSpan = e), (this.key = n), (this.value = s);
|
|
}
|
|
},
|
|
Be = class {
|
|
sourceSpan;
|
|
key;
|
|
value;
|
|
constructor(e, n, s) {
|
|
(this.sourceSpan = e), (this.key = n), (this.value = s);
|
|
}
|
|
},
|
|
yt = class {
|
|
visit(e, n) {
|
|
e.visit(this, n);
|
|
}
|
|
visitUnary(e, n) {
|
|
this.visit(e.expr, n);
|
|
}
|
|
visitBinary(e, n) {
|
|
this.visit(e.left, n), this.visit(e.right, n);
|
|
}
|
|
visitChain(e, n) {
|
|
this.visitAll(e.expressions, n);
|
|
}
|
|
visitConditional(e, n) {
|
|
this.visit(e.condition, n),
|
|
this.visit(e.trueExp, n),
|
|
this.visit(e.falseExp, n);
|
|
}
|
|
visitPipe(e, n) {
|
|
this.visit(e.exp, n), this.visitAll(e.args, n);
|
|
}
|
|
visitImplicitReceiver(e, n) {}
|
|
visitThisReceiver(e, n) {}
|
|
visitInterpolation(e, n) {
|
|
this.visitAll(e.expressions, n);
|
|
}
|
|
visitKeyedRead(e, n) {
|
|
this.visit(e.receiver, n), this.visit(e.key, n);
|
|
}
|
|
visitKeyedWrite(e, n) {
|
|
this.visit(e.receiver, n), this.visit(e.key, n), this.visit(e.value, n);
|
|
}
|
|
visitLiteralArray(e, n) {
|
|
this.visitAll(e.expressions, n);
|
|
}
|
|
visitLiteralMap(e, n) {
|
|
this.visitAll(e.values, n);
|
|
}
|
|
visitLiteralPrimitive(e, n) {}
|
|
visitPrefixNot(e, n) {
|
|
this.visit(e.expression, n);
|
|
}
|
|
visitTypeofExpression(e, n) {
|
|
this.visit(e.expression, n);
|
|
}
|
|
visitNonNullAssert(e, n) {
|
|
this.visit(e.expression, n);
|
|
}
|
|
visitPropertyRead(e, n) {
|
|
this.visit(e.receiver, n);
|
|
}
|
|
visitPropertyWrite(e, n) {
|
|
this.visit(e.receiver, n), this.visit(e.value, n);
|
|
}
|
|
visitSafePropertyRead(e, n) {
|
|
this.visit(e.receiver, n);
|
|
}
|
|
visitSafeKeyedRead(e, n) {
|
|
this.visit(e.receiver, n), this.visit(e.key, n);
|
|
}
|
|
visitCall(e, n) {
|
|
this.visit(e.receiver, n), this.visitAll(e.args, n);
|
|
}
|
|
visitSafeCall(e, n) {
|
|
this.visit(e.receiver, n), this.visitAll(e.args, n);
|
|
}
|
|
visitAll(e, n) {
|
|
for (let s of e) this.visit(s, n);
|
|
}
|
|
};
|
|
var ln;
|
|
(function (t) {
|
|
(t[(t.DEFAULT = 0)] = 'DEFAULT'),
|
|
(t[(t.LITERAL_ATTR = 1)] = 'LITERAL_ATTR'),
|
|
(t[(t.ANIMATION = 2)] = 'ANIMATION'),
|
|
(t[(t.TWO_WAY = 3)] = 'TWO_WAY');
|
|
})(ln || (ln = {}));
|
|
var cn;
|
|
(function (t) {
|
|
(t[(t.Regular = 0)] = 'Regular'),
|
|
(t[(t.Animation = 1)] = 'Animation'),
|
|
(t[(t.TwoWay = 2)] = 'TwoWay');
|
|
})(cn || (cn = {}));
|
|
var H;
|
|
(function (t) {
|
|
(t[(t.Property = 0)] = 'Property'),
|
|
(t[(t.Attribute = 1)] = 'Attribute'),
|
|
(t[(t.Class = 2)] = 'Class'),
|
|
(t[(t.Style = 3)] = 'Style'),
|
|
(t[(t.Animation = 4)] = 'Animation'),
|
|
(t[(t.TwoWay = 5)] = 'TwoWay');
|
|
})(H || (H = {}));
|
|
var un;
|
|
(function (t) {
|
|
(t[(t.RAW_TEXT = 0)] = 'RAW_TEXT'),
|
|
(t[(t.ESCAPABLE_RAW_TEXT = 1)] = 'ESCAPABLE_RAW_TEXT'),
|
|
(t[(t.PARSABLE_DATA = 2)] = 'PARSABLE_DATA');
|
|
})(un || (un = {}));
|
|
var Fs = [/@/, /^\s*$/, /[<>]/, /^[{}]$/, /&(#|[a-z])/i, /^\/\//];
|
|
function Vs(t, e) {
|
|
if (e != null && !(Array.isArray(e) && e.length == 2))
|
|
throw new Error(`Expected '${t}' to be an array, [start, end].`);
|
|
if (e != null) {
|
|
let n = e[0],
|
|
s = e[1];
|
|
Fs.forEach((r) => {
|
|
if (r.test(n) || r.test(s))
|
|
throw new Error(
|
|
`['${n}', '${s}'] contains unusable interpolation symbol.`
|
|
);
|
|
});
|
|
}
|
|
}
|
|
var _t = class t {
|
|
start;
|
|
end;
|
|
static fromArray(e) {
|
|
return e ? (Vs('interpolation', e), new t(e[0], e[1])) : Z;
|
|
}
|
|
constructor(e, n) {
|
|
(this.start = e), (this.end = n);
|
|
}
|
|
},
|
|
Z = new _t('{{', '}}');
|
|
var ot = 0;
|
|
var Un = 9,
|
|
Hs = 10,
|
|
Us = 11,
|
|
Ws = 12,
|
|
qs = 13,
|
|
Wn = 32,
|
|
js = 33,
|
|
qn = 34,
|
|
zs = 35,
|
|
jn = 36,
|
|
Gs = 37,
|
|
pn = 38,
|
|
zn = 39,
|
|
je = 40,
|
|
me = 41,
|
|
Xs = 42,
|
|
Gn = 43,
|
|
ge = 44,
|
|
Xn = 45,
|
|
ee = 46,
|
|
Ct = 47,
|
|
te = 58,
|
|
ve = 59,
|
|
Js = 60,
|
|
qe = 61,
|
|
Ys = 62,
|
|
hn = 63,
|
|
Qs = 48;
|
|
var Ks = 57,
|
|
Jn = 65,
|
|
Zs = 69;
|
|
var Yn = 90,
|
|
ze = 91,
|
|
er = 92,
|
|
we = 93,
|
|
tr = 94,
|
|
Mt = 95,
|
|
Qn = 97;
|
|
var nr = 101,
|
|
sr = 102,
|
|
rr = 110,
|
|
ir = 114,
|
|
or = 116,
|
|
ar = 117,
|
|
lr = 118;
|
|
var Kn = 122,
|
|
Tt = 123,
|
|
fn = 124,
|
|
xe = 125,
|
|
Zn = 160;
|
|
var cr = 96;
|
|
function ur(t) {
|
|
return (t >= Un && t <= Wn) || t == Zn;
|
|
}
|
|
function j(t) {
|
|
return Qs <= t && t <= Ks;
|
|
}
|
|
function pr(t) {
|
|
return (t >= Qn && t <= Kn) || (t >= Jn && t <= Yn);
|
|
}
|
|
function dn(t) {
|
|
return t === zn || t === qn || t === cr;
|
|
}
|
|
var mn;
|
|
(function (t) {
|
|
(t[(t.WARNING = 0)] = 'WARNING'), (t[(t.ERROR = 1)] = 'ERROR');
|
|
})(mn || (mn = {}));
|
|
var gn;
|
|
(function (t) {
|
|
(t[(t.Inline = 0)] = 'Inline'),
|
|
(t[(t.SideEffect = 1)] = 'SideEffect'),
|
|
(t[(t.Omit = 2)] = 'Omit');
|
|
})(gn || (gn = {}));
|
|
var vn;
|
|
(function (t) {
|
|
(t[(t.Global = 0)] = 'Global'), (t[(t.Local = 1)] = 'Local');
|
|
})(vn || (vn = {}));
|
|
var wn;
|
|
(function (t) {
|
|
(t[(t.Directive = 0)] = 'Directive'),
|
|
(t[(t.Pipe = 1)] = 'Pipe'),
|
|
(t[(t.NgModule = 2)] = 'NgModule');
|
|
})(wn || (wn = {}));
|
|
var hr = '(:(where|is)\\()?';
|
|
var es = '-shadowcsshost',
|
|
ts = '-shadowcsscontext',
|
|
$t = '(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)',
|
|
Jr = new RegExp(es + $t, 'gim'),
|
|
Yr = new RegExp(hr + '(' + ts + $t + ')', 'gim'),
|
|
Qr = new RegExp(ts + $t, 'im'),
|
|
fr = es + '-no-combinator',
|
|
Kr = new RegExp(`${fr}(?![^(]*\\))`, 'g');
|
|
var ns = '%COMMENT%',
|
|
Zr = new RegExp(ns, 'g');
|
|
var ei = new RegExp(
|
|
`(\\s*(?:${ns}\\s*)*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))`,
|
|
'g'
|
|
);
|
|
var dr = '%COMMA_IN_PLACEHOLDER%',
|
|
mr = '%SEMI_IN_PLACEHOLDER%',
|
|
gr = '%COLON_IN_PLACEHOLDER%',
|
|
ti = new RegExp(dr, 'g'),
|
|
ni = new RegExp(mr, 'g'),
|
|
si = new RegExp(gr, 'g');
|
|
var f;
|
|
(function (t) {
|
|
(t[(t.ListEnd = 0)] = 'ListEnd'),
|
|
(t[(t.Statement = 1)] = 'Statement'),
|
|
(t[(t.Variable = 2)] = 'Variable'),
|
|
(t[(t.ElementStart = 3)] = 'ElementStart'),
|
|
(t[(t.Element = 4)] = 'Element'),
|
|
(t[(t.Template = 5)] = 'Template'),
|
|
(t[(t.ElementEnd = 6)] = 'ElementEnd'),
|
|
(t[(t.ContainerStart = 7)] = 'ContainerStart'),
|
|
(t[(t.Container = 8)] = 'Container'),
|
|
(t[(t.ContainerEnd = 9)] = 'ContainerEnd'),
|
|
(t[(t.DisableBindings = 10)] = 'DisableBindings'),
|
|
(t[(t.Conditional = 11)] = 'Conditional'),
|
|
(t[(t.EnableBindings = 12)] = 'EnableBindings'),
|
|
(t[(t.Text = 13)] = 'Text'),
|
|
(t[(t.Listener = 14)] = 'Listener'),
|
|
(t[(t.InterpolateText = 15)] = 'InterpolateText'),
|
|
(t[(t.Binding = 16)] = 'Binding'),
|
|
(t[(t.Property = 17)] = 'Property'),
|
|
(t[(t.StyleProp = 18)] = 'StyleProp'),
|
|
(t[(t.ClassProp = 19)] = 'ClassProp'),
|
|
(t[(t.StyleMap = 20)] = 'StyleMap'),
|
|
(t[(t.ClassMap = 21)] = 'ClassMap'),
|
|
(t[(t.Advance = 22)] = 'Advance'),
|
|
(t[(t.Pipe = 23)] = 'Pipe'),
|
|
(t[(t.Attribute = 24)] = 'Attribute'),
|
|
(t[(t.ExtractedAttribute = 25)] = 'ExtractedAttribute'),
|
|
(t[(t.Defer = 26)] = 'Defer'),
|
|
(t[(t.DeferOn = 27)] = 'DeferOn'),
|
|
(t[(t.DeferWhen = 28)] = 'DeferWhen'),
|
|
(t[(t.I18nMessage = 29)] = 'I18nMessage'),
|
|
(t[(t.HostProperty = 30)] = 'HostProperty'),
|
|
(t[(t.Namespace = 31)] = 'Namespace'),
|
|
(t[(t.ProjectionDef = 32)] = 'ProjectionDef'),
|
|
(t[(t.Projection = 33)] = 'Projection'),
|
|
(t[(t.RepeaterCreate = 34)] = 'RepeaterCreate'),
|
|
(t[(t.Repeater = 35)] = 'Repeater'),
|
|
(t[(t.TwoWayProperty = 36)] = 'TwoWayProperty'),
|
|
(t[(t.TwoWayListener = 37)] = 'TwoWayListener'),
|
|
(t[(t.DeclareLet = 38)] = 'DeclareLet'),
|
|
(t[(t.StoreLet = 39)] = 'StoreLet'),
|
|
(t[(t.I18nStart = 40)] = 'I18nStart'),
|
|
(t[(t.I18n = 41)] = 'I18n'),
|
|
(t[(t.I18nEnd = 42)] = 'I18nEnd'),
|
|
(t[(t.I18nExpression = 43)] = 'I18nExpression'),
|
|
(t[(t.I18nApply = 44)] = 'I18nApply'),
|
|
(t[(t.IcuStart = 45)] = 'IcuStart'),
|
|
(t[(t.IcuEnd = 46)] = 'IcuEnd'),
|
|
(t[(t.IcuPlaceholder = 47)] = 'IcuPlaceholder'),
|
|
(t[(t.I18nContext = 48)] = 'I18nContext'),
|
|
(t[(t.I18nAttributes = 49)] = 'I18nAttributes'),
|
|
(t[(t.SourceLocation = 50)] = 'SourceLocation');
|
|
})(f || (f = {}));
|
|
var J;
|
|
(function (t) {
|
|
(t[(t.LexicalRead = 0)] = 'LexicalRead'),
|
|
(t[(t.Context = 1)] = 'Context'),
|
|
(t[(t.TrackContext = 2)] = 'TrackContext'),
|
|
(t[(t.ReadVariable = 3)] = 'ReadVariable'),
|
|
(t[(t.NextContext = 4)] = 'NextContext'),
|
|
(t[(t.Reference = 5)] = 'Reference'),
|
|
(t[(t.StoreLet = 6)] = 'StoreLet'),
|
|
(t[(t.ContextLetReference = 7)] = 'ContextLetReference'),
|
|
(t[(t.GetCurrentView = 8)] = 'GetCurrentView'),
|
|
(t[(t.RestoreView = 9)] = 'RestoreView'),
|
|
(t[(t.ResetView = 10)] = 'ResetView'),
|
|
(t[(t.PureFunctionExpr = 11)] = 'PureFunctionExpr'),
|
|
(t[(t.PureFunctionParameterExpr = 12)] = 'PureFunctionParameterExpr'),
|
|
(t[(t.PipeBinding = 13)] = 'PipeBinding'),
|
|
(t[(t.PipeBindingVariadic = 14)] = 'PipeBindingVariadic'),
|
|
(t[(t.SafePropertyRead = 15)] = 'SafePropertyRead'),
|
|
(t[(t.SafeKeyedRead = 16)] = 'SafeKeyedRead'),
|
|
(t[(t.SafeInvokeFunction = 17)] = 'SafeInvokeFunction'),
|
|
(t[(t.SafeTernaryExpr = 18)] = 'SafeTernaryExpr'),
|
|
(t[(t.EmptyExpr = 19)] = 'EmptyExpr'),
|
|
(t[(t.AssignTemporaryExpr = 20)] = 'AssignTemporaryExpr'),
|
|
(t[(t.ReadTemporaryExpr = 21)] = 'ReadTemporaryExpr'),
|
|
(t[(t.SlotLiteralExpr = 22)] = 'SlotLiteralExpr'),
|
|
(t[(t.ConditionalCase = 23)] = 'ConditionalCase'),
|
|
(t[(t.ConstCollected = 24)] = 'ConstCollected'),
|
|
(t[(t.TwoWayBindingSet = 25)] = 'TwoWayBindingSet');
|
|
})(J || (J = {}));
|
|
var xn;
|
|
(function (t) {
|
|
(t[(t.None = 0)] = 'None'), (t[(t.AlwaysInline = 1)] = 'AlwaysInline');
|
|
})(xn || (xn = {}));
|
|
var Sn;
|
|
(function (t) {
|
|
(t[(t.Context = 0)] = 'Context'),
|
|
(t[(t.Identifier = 1)] = 'Identifier'),
|
|
(t[(t.SavedView = 2)] = 'SavedView'),
|
|
(t[(t.Alias = 3)] = 'Alias');
|
|
})(Sn || (Sn = {}));
|
|
var En;
|
|
(function (t) {
|
|
(t[(t.Normal = 0)] = 'Normal'),
|
|
(t[(t.TemplateDefinitionBuilder = 1)] = 'TemplateDefinitionBuilder');
|
|
})(En || (En = {}));
|
|
var U;
|
|
(function (t) {
|
|
(t[(t.Attribute = 0)] = 'Attribute'),
|
|
(t[(t.ClassName = 1)] = 'ClassName'),
|
|
(t[(t.StyleProperty = 2)] = 'StyleProperty'),
|
|
(t[(t.Property = 3)] = 'Property'),
|
|
(t[(t.Template = 4)] = 'Template'),
|
|
(t[(t.I18n = 5)] = 'I18n'),
|
|
(t[(t.Animation = 6)] = 'Animation'),
|
|
(t[(t.TwoWayProperty = 7)] = 'TwoWayProperty');
|
|
})(U || (U = {}));
|
|
var yn;
|
|
(function (t) {
|
|
(t[(t.Creation = 0)] = 'Creation'),
|
|
(t[(t.Postproccessing = 1)] = 'Postproccessing');
|
|
})(yn || (yn = {}));
|
|
var _n;
|
|
(function (t) {
|
|
(t[(t.I18nText = 0)] = 'I18nText'),
|
|
(t[(t.I18nAttribute = 1)] = 'I18nAttribute');
|
|
})(_n || (_n = {}));
|
|
var Cn;
|
|
(function (t) {
|
|
(t[(t.None = 0)] = 'None'),
|
|
(t[(t.ElementTag = 1)] = 'ElementTag'),
|
|
(t[(t.TemplateTag = 2)] = 'TemplateTag'),
|
|
(t[(t.OpenTag = 4)] = 'OpenTag'),
|
|
(t[(t.CloseTag = 8)] = 'CloseTag'),
|
|
(t[(t.ExpressionIndex = 16)] = 'ExpressionIndex');
|
|
})(Cn || (Cn = {}));
|
|
var Tn;
|
|
(function (t) {
|
|
(t[(t.HTML = 0)] = 'HTML'),
|
|
(t[(t.SVG = 1)] = 'SVG'),
|
|
(t[(t.Math = 2)] = 'Math');
|
|
})(Tn || (Tn = {}));
|
|
var kn;
|
|
(function (t) {
|
|
(t[(t.Idle = 0)] = 'Idle'),
|
|
(t[(t.Immediate = 1)] = 'Immediate'),
|
|
(t[(t.Timer = 2)] = 'Timer'),
|
|
(t[(t.Hover = 3)] = 'Hover'),
|
|
(t[(t.Interaction = 4)] = 'Interaction'),
|
|
(t[(t.Viewport = 5)] = 'Viewport'),
|
|
(t[(t.Never = 6)] = 'Never');
|
|
})(kn || (kn = {}));
|
|
var In;
|
|
(function (t) {
|
|
(t[(t.RootI18n = 0)] = 'RootI18n'),
|
|
(t[(t.Icu = 1)] = 'Icu'),
|
|
(t[(t.Attr = 2)] = 'Attr');
|
|
})(In || (In = {}));
|
|
var bn;
|
|
(function (t) {
|
|
(t[(t.NgTemplate = 0)] = 'NgTemplate'),
|
|
(t[(t.Structural = 1)] = 'Structural'),
|
|
(t[(t.Block = 2)] = 'Block');
|
|
})(bn || (bn = {}));
|
|
var vr = Symbol('ConsumesSlot'),
|
|
ss = Symbol('DependsOnSlotContext'),
|
|
Oe = Symbol('ConsumesVars'),
|
|
Rt = Symbol('UsesVarOffset'),
|
|
ri = { [vr]: !0, numSlotsUsed: 1 },
|
|
ii = { [ss]: !0 },
|
|
oi = { [Oe]: !0 };
|
|
var Ze = class {
|
|
strings;
|
|
expressions;
|
|
i18nPlaceholders;
|
|
constructor(e, n, s) {
|
|
if (
|
|
((this.strings = e),
|
|
(this.expressions = n),
|
|
(this.i18nPlaceholders = s),
|
|
s.length !== 0 && s.length !== n.length)
|
|
)
|
|
throw new Error(
|
|
`Expected ${n.length} placeholders to match interpolation expression count, but got ${s.length}`
|
|
);
|
|
}
|
|
};
|
|
var Y = class extends k {
|
|
constructor(e = null) {
|
|
super(null, e);
|
|
}
|
|
};
|
|
var Nn = class t extends Y {
|
|
target;
|
|
value;
|
|
sourceSpan;
|
|
kind = J.StoreLet;
|
|
[Oe] = !0;
|
|
[ss] = !0;
|
|
constructor(e, n, s) {
|
|
super(), (this.target = e), (this.value = n), (this.sourceSpan = s);
|
|
}
|
|
visitExpression() {}
|
|
isEquivalent(e) {
|
|
return (
|
|
e instanceof t &&
|
|
e.target === this.target &&
|
|
e.value.isEquivalent(this.value)
|
|
);
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
transformInternalExpressions(e, n) {
|
|
this.value = (this.value, void 0);
|
|
}
|
|
clone() {
|
|
return new t(this.target, this.value, this.sourceSpan);
|
|
}
|
|
};
|
|
var An = class t extends Y {
|
|
kind = J.PureFunctionExpr;
|
|
[Oe] = !0;
|
|
[Rt] = !0;
|
|
varOffset = null;
|
|
body;
|
|
args;
|
|
fn = null;
|
|
constructor(e, n) {
|
|
super(), (this.body = e), (this.args = n);
|
|
}
|
|
visitExpression(e, n) {
|
|
var s;
|
|
(s = this.body) == null || s.visitExpression(e, n);
|
|
for (let r of this.args) r.visitExpression(e, n);
|
|
}
|
|
isEquivalent(e) {
|
|
return !(e instanceof t) || e.args.length !== this.args.length ?
|
|
!1
|
|
: e.body !== null &&
|
|
this.body !== null &&
|
|
e.body.isEquivalent(this.body) &&
|
|
e.args.every((n, s) => n.isEquivalent(this.args[s]));
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
transformInternalExpressions(e, n) {
|
|
this.body !== null ?
|
|
(this.body = (this.body, n | bt.InChildOperation, void 0))
|
|
: this.fn !== null && (this.fn = (this.fn, void 0));
|
|
for (let s = 0; s < this.args.length; s++)
|
|
this.args[s] = (this.args[s], void 0);
|
|
}
|
|
clone() {
|
|
var n, s;
|
|
let e = new t(
|
|
((n = this.body) == null ? void 0 : n.clone()) ?? null,
|
|
this.args.map((r) => r.clone())
|
|
);
|
|
return (
|
|
(e.fn = ((s = this.fn) == null ? void 0 : s.clone()) ?? null),
|
|
(e.varOffset = this.varOffset),
|
|
e
|
|
);
|
|
}
|
|
};
|
|
var kt = class t extends Y {
|
|
target;
|
|
targetSlot;
|
|
name;
|
|
args;
|
|
kind = J.PipeBinding;
|
|
[Oe] = !0;
|
|
[Rt] = !0;
|
|
varOffset = null;
|
|
constructor(e, n, s, r) {
|
|
super(),
|
|
(this.target = e),
|
|
(this.targetSlot = n),
|
|
(this.name = s),
|
|
(this.args = r);
|
|
}
|
|
visitExpression(e, n) {
|
|
for (let s of this.args) s.visitExpression(e, n);
|
|
}
|
|
isEquivalent() {
|
|
return !1;
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
transformInternalExpressions(e, n) {
|
|
for (let s = 0; s < this.args.length; s++)
|
|
this.args[s] = (this.args[s], void 0);
|
|
}
|
|
clone() {
|
|
let e = new t(
|
|
this.target,
|
|
this.targetSlot,
|
|
this.name,
|
|
this.args.map((n) => n.clone())
|
|
);
|
|
return (e.varOffset = this.varOffset), e;
|
|
}
|
|
},
|
|
Pn = class t extends Y {
|
|
target;
|
|
targetSlot;
|
|
name;
|
|
args;
|
|
numArgs;
|
|
kind = J.PipeBindingVariadic;
|
|
[Oe] = !0;
|
|
[Rt] = !0;
|
|
varOffset = null;
|
|
constructor(e, n, s, r, o) {
|
|
super(),
|
|
(this.target = e),
|
|
(this.targetSlot = n),
|
|
(this.name = s),
|
|
(this.args = r),
|
|
(this.numArgs = o);
|
|
}
|
|
visitExpression(e, n) {
|
|
this.args.visitExpression(e, n);
|
|
}
|
|
isEquivalent() {
|
|
return !1;
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
transformInternalExpressions(e, n) {
|
|
this.args = (this.args, void 0);
|
|
}
|
|
clone() {
|
|
let e = new t(
|
|
this.target,
|
|
this.targetSlot,
|
|
this.name,
|
|
this.args.clone(),
|
|
this.numArgs
|
|
);
|
|
return (e.varOffset = this.varOffset), e;
|
|
}
|
|
};
|
|
var It = class t extends Y {
|
|
receiver;
|
|
args;
|
|
kind = J.SafeInvokeFunction;
|
|
constructor(e, n) {
|
|
super(), (this.receiver = e), (this.args = n);
|
|
}
|
|
visitExpression(e, n) {
|
|
this.receiver.visitExpression(e, n);
|
|
for (let s of this.args) s.visitExpression(e, n);
|
|
}
|
|
isEquivalent() {
|
|
return !1;
|
|
}
|
|
isConstant() {
|
|
return !1;
|
|
}
|
|
transformInternalExpressions(e, n) {
|
|
this.receiver = (this.receiver, void 0);
|
|
for (let s = 0; s < this.args.length; s++)
|
|
this.args[s] = (this.args[s], void 0);
|
|
}
|
|
clone() {
|
|
return new t(
|
|
this.receiver.clone(),
|
|
this.args.map((e) => e.clone())
|
|
);
|
|
}
|
|
};
|
|
var bt;
|
|
(function (t) {
|
|
(t[(t.None = 0)] = 'None'),
|
|
(t[(t.InChildOperation = 1)] = 'InChildOperation');
|
|
})(bt || (bt = {}));
|
|
var ai = new Set([
|
|
f.Element,
|
|
f.ElementStart,
|
|
f.Container,
|
|
f.ContainerStart,
|
|
f.Template,
|
|
f.RepeaterCreate,
|
|
]);
|
|
var Ln;
|
|
(function (t) {
|
|
(t[(t.Tmpl = 0)] = 'Tmpl'),
|
|
(t[(t.Host = 1)] = 'Host'),
|
|
(t[(t.Both = 2)] = 'Both');
|
|
})(Ln || (Ln = {}));
|
|
var li = Object.freeze([]);
|
|
var ci = new Map([
|
|
[f.ElementEnd, [f.ElementStart, f.Element]],
|
|
[f.ContainerEnd, [f.ContainerStart, f.Container]],
|
|
[f.I18nEnd, [f.I18nStart, f.I18n]],
|
|
]),
|
|
ui = new Set([f.Pipe]);
|
|
var pi = [Xe, Ye, Qe, It, kt].map((t) => t.constructor.name);
|
|
var wr = {},
|
|
xr = '\uE500';
|
|
wr.ngsp = xr;
|
|
var Mn;
|
|
(function (t) {
|
|
(t.HEX = 'hexadecimal'), (t.DEC = 'decimal');
|
|
})(Mn || (Mn = {}));
|
|
var rs = ` \f
|
|
\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`,
|
|
hi = new RegExp(`[^${rs}]`),
|
|
fi = new RegExp(`[${rs}]{2,}`, 'g');
|
|
var d;
|
|
(function (t) {
|
|
(t[(t.Character = 0)] = 'Character'),
|
|
(t[(t.Identifier = 1)] = 'Identifier'),
|
|
(t[(t.PrivateIdentifier = 2)] = 'PrivateIdentifier'),
|
|
(t[(t.Keyword = 3)] = 'Keyword'),
|
|
(t[(t.String = 4)] = 'String'),
|
|
(t[(t.Operator = 5)] = 'Operator'),
|
|
(t[(t.Number = 6)] = 'Number'),
|
|
(t[(t.Error = 7)] = 'Error');
|
|
})(d || (d = {}));
|
|
var Sr = [
|
|
'var',
|
|
'let',
|
|
'as',
|
|
'null',
|
|
'undefined',
|
|
'true',
|
|
'false',
|
|
'if',
|
|
'else',
|
|
'this',
|
|
'typeof',
|
|
],
|
|
De = class {
|
|
tokenize(e) {
|
|
let n = new Nt(e),
|
|
s = [],
|
|
r = n.scanToken();
|
|
for (; r != null; ) s.push(r), (r = n.scanToken());
|
|
return s;
|
|
}
|
|
},
|
|
M = class {
|
|
index;
|
|
end;
|
|
type;
|
|
numValue;
|
|
strValue;
|
|
constructor(e, n, s, r, o) {
|
|
(this.index = e),
|
|
(this.end = n),
|
|
(this.type = s),
|
|
(this.numValue = r),
|
|
(this.strValue = o);
|
|
}
|
|
isCharacter(e) {
|
|
return this.type == d.Character && this.numValue == e;
|
|
}
|
|
isNumber() {
|
|
return this.type == d.Number;
|
|
}
|
|
isString() {
|
|
return this.type == d.String;
|
|
}
|
|
isOperator(e) {
|
|
return this.type == d.Operator && this.strValue == e;
|
|
}
|
|
isIdentifier() {
|
|
return this.type == d.Identifier;
|
|
}
|
|
isPrivateIdentifier() {
|
|
return this.type == d.PrivateIdentifier;
|
|
}
|
|
isKeyword() {
|
|
return this.type == d.Keyword;
|
|
}
|
|
isKeywordLet() {
|
|
return this.type == d.Keyword && this.strValue == 'let';
|
|
}
|
|
isKeywordAs() {
|
|
return this.type == d.Keyword && this.strValue == 'as';
|
|
}
|
|
isKeywordNull() {
|
|
return this.type == d.Keyword && this.strValue == 'null';
|
|
}
|
|
isKeywordUndefined() {
|
|
return this.type == d.Keyword && this.strValue == 'undefined';
|
|
}
|
|
isKeywordTrue() {
|
|
return this.type == d.Keyword && this.strValue == 'true';
|
|
}
|
|
isKeywordFalse() {
|
|
return this.type == d.Keyword && this.strValue == 'false';
|
|
}
|
|
isKeywordThis() {
|
|
return this.type == d.Keyword && this.strValue == 'this';
|
|
}
|
|
isKeywordTypeof() {
|
|
return this.type === d.Keyword && this.strValue === 'typeof';
|
|
}
|
|
isError() {
|
|
return this.type == d.Error;
|
|
}
|
|
toNumber() {
|
|
return this.type == d.Number ? this.numValue : -1;
|
|
}
|
|
toString() {
|
|
switch (this.type) {
|
|
case d.Character:
|
|
case d.Identifier:
|
|
case d.Keyword:
|
|
case d.Operator:
|
|
case d.PrivateIdentifier:
|
|
case d.String:
|
|
case d.Error:
|
|
return this.strValue;
|
|
case d.Number:
|
|
return this.numValue.toString();
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
};
|
|
function $n(t, e, n) {
|
|
return new M(t, e, d.Character, n, String.fromCharCode(n));
|
|
}
|
|
function Er(t, e, n) {
|
|
return new M(t, e, d.Identifier, 0, n);
|
|
}
|
|
function yr(t, e, n) {
|
|
return new M(t, e, d.PrivateIdentifier, 0, n);
|
|
}
|
|
function _r(t, e, n) {
|
|
return new M(t, e, d.Keyword, 0, n);
|
|
}
|
|
function at(t, e, n) {
|
|
return new M(t, e, d.Operator, 0, n);
|
|
}
|
|
function Cr(t, e, n) {
|
|
return new M(t, e, d.String, 0, n);
|
|
}
|
|
function Tr(t, e, n) {
|
|
return new M(t, e, d.Number, n, '');
|
|
}
|
|
function kr(t, e, n) {
|
|
return new M(t, e, d.Error, 0, n);
|
|
}
|
|
var lt = new M(-1, -1, d.Character, 0, ''),
|
|
Nt = class {
|
|
input;
|
|
length;
|
|
peek = 0;
|
|
index = -1;
|
|
constructor(e) {
|
|
(this.input = e), (this.length = e.length), this.advance();
|
|
}
|
|
advance() {
|
|
this.peek =
|
|
++this.index >= this.length ? ot : this.input.charCodeAt(this.index);
|
|
}
|
|
scanToken() {
|
|
let e = this.input,
|
|
n = this.length,
|
|
s = this.peek,
|
|
r = this.index;
|
|
for (; s <= Wn; )
|
|
if (++r >= n) {
|
|
s = ot;
|
|
break;
|
|
} else s = e.charCodeAt(r);
|
|
if (((this.peek = s), (this.index = r), r >= n)) return null;
|
|
if (Rn(s)) return this.scanIdentifier();
|
|
if (j(s)) return this.scanNumber(r);
|
|
let o = r;
|
|
switch (s) {
|
|
case ee:
|
|
return (
|
|
this.advance(),
|
|
j(this.peek) ? this.scanNumber(o) : $n(o, this.index, ee)
|
|
);
|
|
case je:
|
|
case me:
|
|
case Tt:
|
|
case xe:
|
|
case ze:
|
|
case we:
|
|
case ge:
|
|
case te:
|
|
case ve:
|
|
return this.scanCharacter(o, s);
|
|
case zn:
|
|
case qn:
|
|
return this.scanString();
|
|
case zs:
|
|
return this.scanPrivateIdentifier();
|
|
case Gn:
|
|
case Xn:
|
|
case Xs:
|
|
case Ct:
|
|
case Gs:
|
|
case tr:
|
|
return this.scanOperator(o, String.fromCharCode(s));
|
|
case hn:
|
|
return this.scanQuestion(o);
|
|
case Js:
|
|
case Ys:
|
|
return this.scanComplexOperator(o, String.fromCharCode(s), qe, '=');
|
|
case js:
|
|
case qe:
|
|
return this.scanComplexOperator(
|
|
o,
|
|
String.fromCharCode(s),
|
|
qe,
|
|
'=',
|
|
qe,
|
|
'='
|
|
);
|
|
case pn:
|
|
return this.scanComplexOperator(o, '&', pn, '&');
|
|
case fn:
|
|
return this.scanComplexOperator(o, '|', fn, '|');
|
|
case Zn:
|
|
for (; ur(this.peek); ) this.advance();
|
|
return this.scanToken();
|
|
}
|
|
return (
|
|
this.advance(),
|
|
this.error(`Unexpected character [${String.fromCharCode(s)}]`, 0)
|
|
);
|
|
}
|
|
scanCharacter(e, n) {
|
|
return this.advance(), $n(e, this.index, n);
|
|
}
|
|
scanOperator(e, n) {
|
|
return this.advance(), at(e, this.index, n);
|
|
}
|
|
scanComplexOperator(e, n, s, r, o, a) {
|
|
this.advance();
|
|
let l = n;
|
|
return (
|
|
this.peek == s && (this.advance(), (l += r)),
|
|
o != null && this.peek == o && (this.advance(), (l += a)),
|
|
at(e, this.index, l)
|
|
);
|
|
}
|
|
scanIdentifier() {
|
|
let e = this.index;
|
|
for (this.advance(); Bn(this.peek); ) this.advance();
|
|
let n = this.input.substring(e, this.index);
|
|
return Sr.indexOf(n) > -1 ? _r(e, this.index, n) : Er(e, this.index, n);
|
|
}
|
|
scanPrivateIdentifier() {
|
|
let e = this.index;
|
|
if ((this.advance(), !Rn(this.peek)))
|
|
return this.error('Invalid character [#]', -1);
|
|
for (; Bn(this.peek); ) this.advance();
|
|
let n = this.input.substring(e, this.index);
|
|
return yr(e, this.index, n);
|
|
}
|
|
scanNumber(e) {
|
|
let n = this.index === e,
|
|
s = !1;
|
|
for (this.advance(); ; ) {
|
|
if (!j(this.peek))
|
|
if (this.peek === Mt) {
|
|
if (
|
|
!j(this.input.charCodeAt(this.index - 1)) ||
|
|
!j(this.input.charCodeAt(this.index + 1))
|
|
)
|
|
return this.error('Invalid numeric separator', 0);
|
|
s = !0;
|
|
} else if (this.peek === ee) n = !1;
|
|
else if (Ir(this.peek)) {
|
|
if (
|
|
(this.advance(), br(this.peek) && this.advance(), !j(this.peek))
|
|
)
|
|
return this.error('Invalid exponent', -1);
|
|
n = !1;
|
|
} else break;
|
|
this.advance();
|
|
}
|
|
let r = this.input.substring(e, this.index);
|
|
s && (r = r.replace(/_/g, ''));
|
|
let o = n ? Ar(r) : parseFloat(r);
|
|
return Tr(e, this.index, o);
|
|
}
|
|
scanString() {
|
|
let e = this.index,
|
|
n = this.peek;
|
|
this.advance();
|
|
let s = '',
|
|
r = this.index,
|
|
o = this.input;
|
|
for (; this.peek != n; )
|
|
if (this.peek == er) {
|
|
s += o.substring(r, this.index);
|
|
let l;
|
|
if ((this.advance(), this.peek == ar)) {
|
|
let u = o.substring(this.index + 1, this.index + 5);
|
|
if (/^[0-9a-f]+$/i.test(u)) l = parseInt(u, 16);
|
|
else return this.error(`Invalid unicode escape [\\u${u}]`, 0);
|
|
for (let h = 0; h < 5; h++) this.advance();
|
|
} else (l = Nr(this.peek)), this.advance();
|
|
(s += String.fromCharCode(l)), (r = this.index);
|
|
} else {
|
|
if (this.peek == ot) return this.error('Unterminated quote', 0);
|
|
this.advance();
|
|
}
|
|
let a = o.substring(r, this.index);
|
|
return this.advance(), Cr(e, this.index, s + a);
|
|
}
|
|
scanQuestion(e) {
|
|
this.advance();
|
|
let n = '?';
|
|
return (
|
|
(this.peek === hn || this.peek === ee) &&
|
|
((n += this.peek === ee ? '.' : '?'), this.advance()),
|
|
at(e, this.index, n)
|
|
);
|
|
}
|
|
error(e, n) {
|
|
let s = this.index + n;
|
|
return kr(
|
|
s,
|
|
this.index,
|
|
`Lexer Error: ${e} at column ${s} in expression [${this.input}]`
|
|
);
|
|
}
|
|
};
|
|
function Rn(t) {
|
|
return (Qn <= t && t <= Kn) || (Jn <= t && t <= Yn) || t == Mt || t == jn;
|
|
}
|
|
function Bn(t) {
|
|
return pr(t) || j(t) || t == Mt || t == jn;
|
|
}
|
|
function Ir(t) {
|
|
return t == nr || t == Zs;
|
|
}
|
|
function br(t) {
|
|
return t == Xn || t == Gn;
|
|
}
|
|
function Nr(t) {
|
|
switch (t) {
|
|
case rr:
|
|
return Hs;
|
|
case sr:
|
|
return Ws;
|
|
case ir:
|
|
return qs;
|
|
case or:
|
|
return Un;
|
|
case lr:
|
|
return Us;
|
|
default:
|
|
return t;
|
|
}
|
|
}
|
|
function Ar(t) {
|
|
let e = parseInt(t);
|
|
if (isNaN(e)) throw new Error('Invalid integer literal when parsing ' + t);
|
|
return e;
|
|
}
|
|
var At = class {
|
|
strings;
|
|
expressions;
|
|
offsets;
|
|
constructor(e, n, s) {
|
|
(this.strings = e), (this.expressions = n), (this.offsets = s);
|
|
}
|
|
},
|
|
Pt = class {
|
|
templateBindings;
|
|
warnings;
|
|
errors;
|
|
constructor(e, n, s) {
|
|
(this.templateBindings = e), (this.warnings = n), (this.errors = s);
|
|
}
|
|
},
|
|
ue = class {
|
|
_lexer;
|
|
errors = [];
|
|
constructor(e) {
|
|
this._lexer = e;
|
|
}
|
|
parseAction(e, n, s, r = Z) {
|
|
this._checkNoInterpolation(e, n, r);
|
|
let o = this._stripComments(e),
|
|
a = this._lexer.tokenize(o),
|
|
l = new z(e, n, s, a, 1, this.errors, 0).parseChain();
|
|
return new W(l, e, n, s, this.errors);
|
|
}
|
|
parseBinding(e, n, s, r = Z) {
|
|
let o = this._parseBindingAst(e, n, s, r);
|
|
return new W(o, e, n, s, this.errors);
|
|
}
|
|
checkSimpleExpression(e) {
|
|
let n = new Lt();
|
|
return e.visit(n), n.errors;
|
|
}
|
|
parseSimpleBinding(e, n, s, r = Z) {
|
|
let o = this._parseBindingAst(e, n, s, r),
|
|
a = this.checkSimpleExpression(o);
|
|
return (
|
|
a.length > 0 &&
|
|
this._reportError(
|
|
`Host binding expression cannot contain ${a.join(' ')}`,
|
|
e,
|
|
n
|
|
),
|
|
new W(o, e, n, s, this.errors)
|
|
);
|
|
}
|
|
_reportError(e, n, s, r) {
|
|
this.errors.push(new ye(e, n, s, r));
|
|
}
|
|
_parseBindingAst(e, n, s, r) {
|
|
this._checkNoInterpolation(e, n, r);
|
|
let o = this._stripComments(e),
|
|
a = this._lexer.tokenize(o);
|
|
return new z(e, n, s, a, 0, this.errors, 0).parseChain();
|
|
}
|
|
parseTemplateBindings(e, n, s, r, o) {
|
|
let a = this._lexer.tokenize(n);
|
|
return new z(n, s, o, a, 0, this.errors, 0).parseTemplateBindings({
|
|
source: e,
|
|
span: new O(r, r + e.length),
|
|
});
|
|
}
|
|
parseInterpolation(e, n, s, r, o = Z) {
|
|
let {
|
|
strings: a,
|
|
expressions: l,
|
|
offsets: u,
|
|
} = this.splitInterpolation(e, n, r, o);
|
|
if (l.length === 0) return null;
|
|
let h = [];
|
|
for (let g = 0; g < l.length; ++g) {
|
|
let S = l[g].text,
|
|
w = this._stripComments(S),
|
|
y = this._lexer.tokenize(w),
|
|
T = new z(e, n, s, y, 0, this.errors, u[g]).parseChain();
|
|
h.push(T);
|
|
}
|
|
return this.createInterpolationAst(
|
|
a.map((g) => g.text),
|
|
h,
|
|
e,
|
|
n,
|
|
s
|
|
);
|
|
}
|
|
parseInterpolationExpression(e, n, s) {
|
|
let r = this._stripComments(e),
|
|
o = this._lexer.tokenize(r),
|
|
a = new z(e, n, s, o, 0, this.errors, 0).parseChain(),
|
|
l = ['', ''];
|
|
return this.createInterpolationAst(l, [a], e, n, s);
|
|
}
|
|
createInterpolationAst(e, n, s, r, o) {
|
|
let a = new G(0, s.length),
|
|
l = new Pe(a, a.toAbsolute(o), e, n);
|
|
return new W(l, s, r, o, this.errors);
|
|
}
|
|
splitInterpolation(e, n, s, r = Z) {
|
|
let o = [],
|
|
a = [],
|
|
l = [],
|
|
u = s ? Pr(s) : null,
|
|
h = 0,
|
|
g = !1,
|
|
S = !1,
|
|
{ start: w, end: y } = r;
|
|
for (; h < e.length; )
|
|
if (g) {
|
|
let T = h,
|
|
F = T + w.length,
|
|
fe = this._getInterpolationEndIndex(e, y, F);
|
|
if (fe === -1) {
|
|
(g = !1), (S = !0);
|
|
break;
|
|
}
|
|
let de = fe + y.length,
|
|
q = e.substring(F, fe);
|
|
q.trim().length === 0 &&
|
|
this._reportError(
|
|
'Blank expressions are not allowed in interpolated strings',
|
|
e,
|
|
`at column ${h} in`,
|
|
n
|
|
),
|
|
a.push({ text: q, start: T, end: de });
|
|
let Ms = ((u == null ? void 0 : u.get(T)) ?? T) + w.length;
|
|
l.push(Ms), (h = de), (g = !1);
|
|
} else {
|
|
let T = h;
|
|
(h = e.indexOf(w, h)), h === -1 && (h = e.length);
|
|
let F = e.substring(T, h);
|
|
o.push({ text: F, start: T, end: h }), (g = !0);
|
|
}
|
|
if (!g)
|
|
if (S) {
|
|
let T = o[o.length - 1];
|
|
(T.text += e.substring(h)), (T.end = e.length);
|
|
} else o.push({ text: e.substring(h), start: h, end: e.length });
|
|
return new At(o, a, l);
|
|
}
|
|
wrapLiteralPrimitive(e, n, s) {
|
|
let r = new G(0, e == null ? 0 : e.length);
|
|
return new W(new N(r, r.toAbsolute(s), e), e, n, s, this.errors);
|
|
}
|
|
_stripComments(e) {
|
|
let n = this._commentStart(e);
|
|
return n != null ? e.substring(0, n) : e;
|
|
}
|
|
_commentStart(e) {
|
|
let n = null;
|
|
for (let s = 0; s < e.length - 1; s++) {
|
|
let r = e.charCodeAt(s),
|
|
o = e.charCodeAt(s + 1);
|
|
if (r === Ct && o == Ct && n == null) return s;
|
|
n === r ? (n = null) : n == null && dn(r) && (n = r);
|
|
}
|
|
return null;
|
|
}
|
|
_checkNoInterpolation(e, n, { start: s, end: r }) {
|
|
let o = -1,
|
|
a = -1;
|
|
for (let l of this._forEachUnquotedChar(e, 0))
|
|
if (o === -1) e.startsWith(s) && (o = l);
|
|
else if (((a = this._getInterpolationEndIndex(e, r, l)), a > -1)) break;
|
|
o > -1 &&
|
|
a > -1 &&
|
|
this._reportError(
|
|
`Got interpolation (${s}${r}) where expression was expected`,
|
|
e,
|
|
`at column ${o} in`,
|
|
n
|
|
);
|
|
}
|
|
_getInterpolationEndIndex(e, n, s) {
|
|
for (let r of this._forEachUnquotedChar(e, s)) {
|
|
if (e.startsWith(n, r)) return r;
|
|
if (e.startsWith('//', r)) return e.indexOf(n, r);
|
|
}
|
|
return -1;
|
|
}
|
|
*_forEachUnquotedChar(e, n) {
|
|
let s = null,
|
|
r = 0;
|
|
for (let o = n; o < e.length; o++) {
|
|
let a = e[o];
|
|
dn(e.charCodeAt(o)) && (s === null || s === a) && r % 2 === 0 ?
|
|
(s = s === null ? a : null)
|
|
: s === null && (yield o),
|
|
(r = a === '\\' ? r + 1 : 0);
|
|
}
|
|
}
|
|
},
|
|
ne;
|
|
(function (t) {
|
|
(t[(t.None = 0)] = 'None'), (t[(t.Writable = 1)] = 'Writable');
|
|
})(ne || (ne = {}));
|
|
var z = class {
|
|
input;
|
|
location;
|
|
absoluteOffset;
|
|
tokens;
|
|
parseFlags;
|
|
errors;
|
|
offset;
|
|
rparensExpected = 0;
|
|
rbracketsExpected = 0;
|
|
rbracesExpected = 0;
|
|
context = ne.None;
|
|
sourceSpanCache = new Map();
|
|
index = 0;
|
|
constructor(e, n, s, r, o, a, l) {
|
|
(this.input = e),
|
|
(this.location = n),
|
|
(this.absoluteOffset = s),
|
|
(this.tokens = r),
|
|
(this.parseFlags = o),
|
|
(this.errors = a),
|
|
(this.offset = l);
|
|
}
|
|
peek(e) {
|
|
let n = this.index + e;
|
|
return n < this.tokens.length ? this.tokens[n] : lt;
|
|
}
|
|
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, n) {
|
|
let s = this.currentEndIndex;
|
|
if ((n !== void 0 && n > this.currentEndIndex && (s = n), e > s)) {
|
|
let r = s;
|
|
(s = e), (e = r);
|
|
}
|
|
return new G(e, s);
|
|
}
|
|
sourceSpan(e, n) {
|
|
let s = `${e}@${this.inputIndex}:${n}`;
|
|
return (
|
|
this.sourceSpanCache.has(s) ||
|
|
this.sourceSpanCache.set(
|
|
s,
|
|
this.span(e, n).toAbsolute(this.absoluteOffset)
|
|
),
|
|
this.sourceSpanCache.get(s)
|
|
);
|
|
}
|
|
advance() {
|
|
this.index++;
|
|
}
|
|
withContext(e, n) {
|
|
this.context |= e;
|
|
let s = n();
|
|
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 === lt ? '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 = [],
|
|
n = this.inputIndex;
|
|
for (; this.index < this.tokens.length; ) {
|
|
let s = this.parsePipe();
|
|
if ((e.push(s), this.consumeOptionalCharacter(ve)))
|
|
for (
|
|
this.parseFlags & 1 ||
|
|
this.error('Binding expression cannot contain chained expression');
|
|
this.consumeOptionalCharacter(ve);
|
|
|
|
);
|
|
else if (this.index < this.tokens.length) {
|
|
let r = this.index;
|
|
if ((this.error(`Unexpected token '${this.next}'`), this.index === r))
|
|
break;
|
|
}
|
|
}
|
|
if (e.length === 0) {
|
|
let s = this.offset,
|
|
r = this.offset + this.input.length;
|
|
return new b(this.span(s, r), this.sourceSpan(s, r));
|
|
}
|
|
return e.length == 1 ? e[0] : new _e(this.span(n), this.sourceSpan(n), e);
|
|
}
|
|
parsePipe() {
|
|
let e = this.inputIndex,
|
|
n = this.parseExpression();
|
|
if (this.consumeOptionalOperator('|')) {
|
|
this.parseFlags & 1 &&
|
|
this.error('Cannot have a pipe in an action expression');
|
|
do {
|
|
let s = this.inputIndex,
|
|
r = this.expectIdentifierOrKeyword(),
|
|
o,
|
|
a;
|
|
r !== null ?
|
|
(o = this.sourceSpan(s))
|
|
: ((r = ''),
|
|
(a =
|
|
this.next.index !== -1 ?
|
|
this.next.index
|
|
: this.input.length + this.offset),
|
|
(o = new G(a, a).toAbsolute(this.absoluteOffset)));
|
|
let l = [];
|
|
for (; this.consumeOptionalCharacter(te); )
|
|
l.push(this.parseExpression());
|
|
n = new be(this.span(e), this.sourceSpan(e, a), n, r, l, o);
|
|
} while (this.consumeOptionalOperator('|'));
|
|
}
|
|
return n;
|
|
}
|
|
parseExpression() {
|
|
return this.parseConditional();
|
|
}
|
|
parseConditional() {
|
|
let e = this.inputIndex,
|
|
n = this.parseLogicalOr();
|
|
if (this.consumeOptionalOperator('?')) {
|
|
let s = this.parsePipe(),
|
|
r;
|
|
if (this.consumeOptionalCharacter(te)) r = this.parsePipe();
|
|
else {
|
|
let o = this.inputIndex,
|
|
a = this.input.substring(e, o);
|
|
this.error(`Conditional expression ${a} requires all 3 expressions`),
|
|
(r = new b(this.span(e), this.sourceSpan(e)));
|
|
}
|
|
return new Ce(this.span(e), this.sourceSpan(e), n, s, r);
|
|
} else return n;
|
|
}
|
|
parseLogicalOr() {
|
|
let e = this.inputIndex,
|
|
n = this.parseLogicalAnd();
|
|
for (; this.consumeOptionalOperator('||'); ) {
|
|
let s = this.parseLogicalAnd();
|
|
n = new A(this.span(e), this.sourceSpan(e), '||', n, s);
|
|
}
|
|
return n;
|
|
}
|
|
parseLogicalAnd() {
|
|
let e = this.inputIndex,
|
|
n = this.parseNullishCoalescing();
|
|
for (; this.consumeOptionalOperator('&&'); ) {
|
|
let s = this.parseNullishCoalescing();
|
|
n = new A(this.span(e), this.sourceSpan(e), '&&', n, s);
|
|
}
|
|
return n;
|
|
}
|
|
parseNullishCoalescing() {
|
|
let e = this.inputIndex,
|
|
n = this.parseEquality();
|
|
for (; this.consumeOptionalOperator('??'); ) {
|
|
let s = this.parseEquality();
|
|
n = new A(this.span(e), this.sourceSpan(e), '??', n, s);
|
|
}
|
|
return n;
|
|
}
|
|
parseEquality() {
|
|
let e = this.inputIndex,
|
|
n = this.parseRelational();
|
|
for (; this.next.type == d.Operator; ) {
|
|
let s = this.next.strValue;
|
|
switch (s) {
|
|
case '==':
|
|
case '===':
|
|
case '!=':
|
|
case '!==':
|
|
this.advance();
|
|
let r = this.parseRelational();
|
|
n = new A(this.span(e), this.sourceSpan(e), s, n, r);
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
return n;
|
|
}
|
|
parseRelational() {
|
|
let e = this.inputIndex,
|
|
n = this.parseAdditive();
|
|
for (; this.next.type == d.Operator; ) {
|
|
let s = this.next.strValue;
|
|
switch (s) {
|
|
case '<':
|
|
case '>':
|
|
case '<=':
|
|
case '>=':
|
|
this.advance();
|
|
let r = this.parseAdditive();
|
|
n = new A(this.span(e), this.sourceSpan(e), s, n, r);
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
return n;
|
|
}
|
|
parseAdditive() {
|
|
let e = this.inputIndex,
|
|
n = this.parseMultiplicative();
|
|
for (; this.next.type == d.Operator; ) {
|
|
let s = this.next.strValue;
|
|
switch (s) {
|
|
case '+':
|
|
case '-':
|
|
this.advance();
|
|
let r = this.parseMultiplicative();
|
|
n = new A(this.span(e), this.sourceSpan(e), s, n, r);
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
return n;
|
|
}
|
|
parseMultiplicative() {
|
|
let e = this.inputIndex,
|
|
n = this.parsePrefix();
|
|
for (; this.next.type == d.Operator; ) {
|
|
let s = this.next.strValue;
|
|
switch (s) {
|
|
case '*':
|
|
case '%':
|
|
case '/':
|
|
this.advance();
|
|
let r = this.parsePrefix();
|
|
n = new A(this.span(e), this.sourceSpan(e), s, n, r);
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
return n;
|
|
}
|
|
parsePrefix() {
|
|
if (this.next.type == d.Operator) {
|
|
let e = this.inputIndex,
|
|
n = this.next.strValue,
|
|
s;
|
|
switch (n) {
|
|
case '+':
|
|
return (
|
|
this.advance(),
|
|
(s = this.parsePrefix()),
|
|
ae.createPlus(this.span(e), this.sourceSpan(e), s)
|
|
);
|
|
case '-':
|
|
return (
|
|
this.advance(),
|
|
(s = this.parsePrefix()),
|
|
ae.createMinus(this.span(e), this.sourceSpan(e), s)
|
|
);
|
|
case '!':
|
|
return (
|
|
this.advance(),
|
|
(s = this.parsePrefix()),
|
|
new Le(this.span(e), this.sourceSpan(e), s)
|
|
);
|
|
}
|
|
} else if (this.next.isKeywordTypeof()) {
|
|
this.advance();
|
|
let e = this.inputIndex,
|
|
n = this.parsePrefix();
|
|
return new Me(this.span(e), this.sourceSpan(e), n);
|
|
}
|
|
return this.parseCallChain();
|
|
}
|
|
parseCallChain() {
|
|
let e = this.inputIndex,
|
|
n = this.parsePrimary();
|
|
for (;;)
|
|
if (this.consumeOptionalCharacter(ee))
|
|
n = this.parseAccessMember(n, e, !1);
|
|
else if (this.consumeOptionalOperator('?.'))
|
|
this.consumeOptionalCharacter(je) ?
|
|
(n = this.parseCall(n, e, !0))
|
|
: (n =
|
|
this.consumeOptionalCharacter(ze) ?
|
|
this.parseKeyedReadOrWrite(n, e, !0)
|
|
: this.parseAccessMember(n, e, !0));
|
|
else if (this.consumeOptionalCharacter(ze))
|
|
n = this.parseKeyedReadOrWrite(n, e, !1);
|
|
else if (this.consumeOptionalCharacter(je))
|
|
n = this.parseCall(n, e, !1);
|
|
else if (this.consumeOptionalOperator('!'))
|
|
n = new $e(this.span(e), this.sourceSpan(e), n);
|
|
else return n;
|
|
}
|
|
parsePrimary() {
|
|
let e = this.inputIndex;
|
|
if (this.consumeOptionalCharacter(je)) {
|
|
this.rparensExpected++;
|
|
let n = this.parsePipe();
|
|
return this.rparensExpected--, this.expectCharacter(me), n;
|
|
} else {
|
|
if (this.next.isKeywordNull())
|
|
return this.advance(), new N(this.span(e), this.sourceSpan(e), null);
|
|
if (this.next.isKeywordUndefined())
|
|
return (
|
|
this.advance(), new N(this.span(e), this.sourceSpan(e), void 0)
|
|
);
|
|
if (this.next.isKeywordTrue())
|
|
return this.advance(), new N(this.span(e), this.sourceSpan(e), !0);
|
|
if (this.next.isKeywordFalse())
|
|
return this.advance(), new N(this.span(e), this.sourceSpan(e), !1);
|
|
if (this.next.isKeywordThis())
|
|
return this.advance(), new Et(this.span(e), this.sourceSpan(e));
|
|
if (this.consumeOptionalCharacter(ze)) {
|
|
this.rbracketsExpected++;
|
|
let n = this.parseExpressionList(we);
|
|
return (
|
|
this.rbracketsExpected--,
|
|
this.expectCharacter(we),
|
|
new Ne(this.span(e), this.sourceSpan(e), n)
|
|
);
|
|
} else {
|
|
if (this.next.isCharacter(Tt)) return this.parseLiteralMap();
|
|
if (this.next.isIdentifier())
|
|
return this.parseAccessMember(
|
|
new X(this.span(e), this.sourceSpan(e)),
|
|
e,
|
|
!1
|
|
);
|
|
if (this.next.isNumber()) {
|
|
let n = this.next.toNumber();
|
|
return this.advance(), new N(this.span(e), this.sourceSpan(e), n);
|
|
} else if (this.next.isString()) {
|
|
let n = this.next.toString();
|
|
return this.advance(), new N(this.span(e), this.sourceSpan(e), n);
|
|
} else
|
|
return (
|
|
this.next.isPrivateIdentifier() ?
|
|
(this._reportErrorForPrivateIdentifier(this.next, null),
|
|
new b(this.span(e), this.sourceSpan(e)))
|
|
: this.index >= this.tokens.length ?
|
|
(this.error(`Unexpected end of expression: ${this.input}`),
|
|
new b(this.span(e), this.sourceSpan(e)))
|
|
: (this.error(`Unexpected token ${this.next}`),
|
|
new b(this.span(e), this.sourceSpan(e)))
|
|
);
|
|
}
|
|
}
|
|
}
|
|
parseExpressionList(e) {
|
|
let n = [];
|
|
do
|
|
if (!this.next.isCharacter(e)) n.push(this.parsePipe());
|
|
else break;
|
|
while (this.consumeOptionalCharacter(ge));
|
|
return n;
|
|
}
|
|
parseLiteralMap() {
|
|
let e = [],
|
|
n = [],
|
|
s = this.inputIndex;
|
|
if ((this.expectCharacter(Tt), !this.consumeOptionalCharacter(xe))) {
|
|
this.rbracesExpected++;
|
|
do {
|
|
let r = this.inputIndex,
|
|
o = this.next.isString(),
|
|
a = this.expectIdentifierOrKeywordOrString(),
|
|
l = { key: a, quoted: o };
|
|
if ((e.push(l), o))
|
|
this.expectCharacter(te), n.push(this.parsePipe());
|
|
else if (this.consumeOptionalCharacter(te)) n.push(this.parsePipe());
|
|
else {
|
|
l.isShorthandInitialized = !0;
|
|
let u = this.span(r),
|
|
h = this.sourceSpan(r);
|
|
n.push(new re(u, h, h, new X(u, h), a));
|
|
}
|
|
} while (
|
|
this.consumeOptionalCharacter(ge) &&
|
|
!this.next.isCharacter(xe)
|
|
);
|
|
this.rbracesExpected--, this.expectCharacter(xe);
|
|
}
|
|
return new Ae(this.span(s), this.sourceSpan(s), e, n);
|
|
}
|
|
parseAccessMember(e, n, s) {
|
|
let r = this.inputIndex,
|
|
o = this.withContext(ne.Writable, () => {
|
|
let u = this.expectIdentifierOrKeyword() ?? '';
|
|
return (
|
|
u.length === 0 &&
|
|
this.error('Expected identifier for property access', e.span.end),
|
|
u
|
|
);
|
|
}),
|
|
a = this.sourceSpan(r),
|
|
l;
|
|
if (s)
|
|
this.consumeOptionalOperator('=') ?
|
|
(this.error("The '?.' operator cannot be used in the assignment"),
|
|
(l = new b(this.span(n), this.sourceSpan(n))))
|
|
: (l = new ie(this.span(n), this.sourceSpan(n), a, e, o));
|
|
else if (this.consumeOptionalOperator('=')) {
|
|
if (!(this.parseFlags & 1))
|
|
return (
|
|
this.error('Bindings cannot contain assignments'),
|
|
new b(this.span(n), this.sourceSpan(n))
|
|
);
|
|
let u = this.parseConditional();
|
|
l = new Te(this.span(n), this.sourceSpan(n), a, e, o, u);
|
|
} else l = new re(this.span(n), this.sourceSpan(n), a, e, o);
|
|
return l;
|
|
}
|
|
parseCall(e, n, s) {
|
|
let r = this.inputIndex;
|
|
this.rparensExpected++;
|
|
let o = this.parseCallArguments(),
|
|
a = this.span(r, this.inputIndex).toAbsolute(this.absoluteOffset);
|
|
this.expectCharacter(me), this.rparensExpected--;
|
|
let l = this.span(n),
|
|
u = this.sourceSpan(n);
|
|
return s ? new le(l, u, e, o, a) : new Re(l, u, e, o, a);
|
|
}
|
|
parseCallArguments() {
|
|
if (this.next.isCharacter(me)) return [];
|
|
let e = [];
|
|
do e.push(this.parsePipe());
|
|
while (this.consumeOptionalCharacter(ge));
|
|
return e;
|
|
}
|
|
expectTemplateBindingKey() {
|
|
let e = '',
|
|
n = !1,
|
|
s = this.currentAbsoluteOffset;
|
|
do
|
|
(e += this.expectIdentifierOrKeywordOrString()),
|
|
(n = this.consumeOptionalOperator('-')),
|
|
n && (e += '-');
|
|
while (n);
|
|
return { source: e, span: new O(s, s + e.length) };
|
|
}
|
|
parseTemplateBindings(e) {
|
|
let n = [];
|
|
for (
|
|
n.push(...this.parseDirectiveKeywordBindings(e));
|
|
this.index < this.tokens.length;
|
|
|
|
) {
|
|
let s = this.parseLetBinding();
|
|
if (s) n.push(s);
|
|
else {
|
|
let r = this.expectTemplateBindingKey(),
|
|
o = this.parseAsBinding(r);
|
|
o ?
|
|
n.push(o)
|
|
: ((r.source =
|
|
e.source +
|
|
r.source.charAt(0).toUpperCase() +
|
|
r.source.substring(1)),
|
|
n.push(...this.parseDirectiveKeywordBindings(r)));
|
|
}
|
|
this.consumeStatementTerminator();
|
|
}
|
|
return new Pt(n, [], this.errors);
|
|
}
|
|
parseKeyedReadOrWrite(e, n, s) {
|
|
return this.withContext(ne.Writable, () => {
|
|
this.rbracketsExpected++;
|
|
let r = this.parsePipe();
|
|
if (
|
|
(r instanceof b && this.error('Key access cannot be empty'),
|
|
this.rbracketsExpected--,
|
|
this.expectCharacter(we),
|
|
this.consumeOptionalOperator('='))
|
|
)
|
|
if (s)
|
|
this.error("The '?.' operator cannot be used in the assignment");
|
|
else {
|
|
let o = this.parseConditional();
|
|
return new Ie(this.span(n), this.sourceSpan(n), e, r, o);
|
|
}
|
|
else
|
|
return s ?
|
|
new oe(this.span(n), this.sourceSpan(n), e, r)
|
|
: new ke(this.span(n), this.sourceSpan(n), e, r);
|
|
return new b(this.span(n), this.sourceSpan(n));
|
|
});
|
|
}
|
|
parseDirectiveKeywordBindings(e) {
|
|
let n = [];
|
|
this.consumeOptionalCharacter(te);
|
|
let s = this.getDirectiveBoundTarget(),
|
|
r = this.currentAbsoluteOffset,
|
|
o = this.parseAsBinding(e);
|
|
o ||
|
|
(this.consumeStatementTerminator(), (r = this.currentAbsoluteOffset));
|
|
let a = new O(e.span.start, r);
|
|
return n.push(new Be(a, e, s)), o && n.push(o), n;
|
|
}
|
|
getDirectiveBoundTarget() {
|
|
if (this.next === lt || this.peekKeywordAs() || this.peekKeywordLet())
|
|
return null;
|
|
let e = this.parsePipe(),
|
|
{ start: n, end: s } = e.span,
|
|
r = this.input.substring(n, s);
|
|
return new W(e, r, this.location, this.absoluteOffset + n, this.errors);
|
|
}
|
|
parseAsBinding(e) {
|
|
if (!this.peekKeywordAs()) return null;
|
|
this.advance();
|
|
let n = this.expectTemplateBindingKey();
|
|
this.consumeStatementTerminator();
|
|
let s = new O(e.span.start, this.currentAbsoluteOffset);
|
|
return new ce(s, n, e);
|
|
}
|
|
parseLetBinding() {
|
|
if (!this.peekKeywordLet()) return null;
|
|
let e = this.currentAbsoluteOffset;
|
|
this.advance();
|
|
let n = this.expectTemplateBindingKey(),
|
|
s = null;
|
|
this.consumeOptionalOperator('=') &&
|
|
(s = this.expectTemplateBindingKey()),
|
|
this.consumeStatementTerminator();
|
|
let r = new O(e, this.currentAbsoluteOffset);
|
|
return new ce(r, n, s);
|
|
}
|
|
consumeStatementTerminator() {
|
|
this.consumeOptionalCharacter(ve) || this.consumeOptionalCharacter(ge);
|
|
}
|
|
error(e, n = null) {
|
|
this.errors.push(
|
|
new ye(e, this.input, this.locationText(n), 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, n) {
|
|
let s = `Private identifiers are not supported. Unexpected private identifier: ${e}`;
|
|
n !== null && (s += `, ${n}`), this.error(s);
|
|
}
|
|
skip() {
|
|
let e = this.next;
|
|
for (
|
|
;
|
|
this.index < this.tokens.length &&
|
|
!e.isCharacter(ve) &&
|
|
!e.isOperator('|') &&
|
|
(this.rparensExpected <= 0 || !e.isCharacter(me)) &&
|
|
(this.rbracesExpected <= 0 || !e.isCharacter(xe)) &&
|
|
(this.rbracketsExpected <= 0 || !e.isCharacter(we)) &&
|
|
(!(this.context & ne.Writable) || !e.isOperator('='));
|
|
|
|
)
|
|
this.next.isError() &&
|
|
this.errors.push(
|
|
new ye(
|
|
this.next.toString(),
|
|
this.input,
|
|
this.locationText(),
|
|
this.location
|
|
)
|
|
),
|
|
this.advance(),
|
|
(e = this.next);
|
|
}
|
|
},
|
|
Lt = class extends yt {
|
|
errors = [];
|
|
visitPipe() {
|
|
this.errors.push('pipes');
|
|
}
|
|
};
|
|
function Pr(t) {
|
|
let e = new Map(),
|
|
n = 0,
|
|
s = 0,
|
|
r = 0;
|
|
for (; r < t.length; ) {
|
|
let o = t[r];
|
|
if (o.type === 9) {
|
|
let [a, l] = o.parts;
|
|
(n += l.length), (s += a.length);
|
|
} else {
|
|
let a = o.parts.reduce((l, u) => l + u.length, 0);
|
|
(s += a), (n += a);
|
|
}
|
|
e.set(s, n), r++;
|
|
}
|
|
return e;
|
|
}
|
|
var Lr = new Map(
|
|
Object.entries({
|
|
class: 'className',
|
|
for: 'htmlFor',
|
|
formaction: 'formAction',
|
|
innerHtml: 'innerHTML',
|
|
readonly: 'readOnly',
|
|
tabindex: 'tabIndex',
|
|
})
|
|
),
|
|
di = Array.from(Lr).reduce((t, [e, n]) => (t.set(e, n), t), new Map());
|
|
var mi = new ue(new De());
|
|
function D(t) {
|
|
return (e) => e.kind === t;
|
|
}
|
|
function Se(t, e) {
|
|
return (n) => n.kind === t && e === n.expression instanceof Ze;
|
|
}
|
|
function Mr(t) {
|
|
return (
|
|
(t.kind === f.Property || t.kind === f.TwoWayProperty) &&
|
|
!(t.expression instanceof Ze)
|
|
);
|
|
}
|
|
var gi = [
|
|
{ test: D(f.StyleMap), transform: et },
|
|
{ test: D(f.ClassMap), transform: et },
|
|
{ test: D(f.StyleProp) },
|
|
{ test: D(f.ClassProp) },
|
|
{ test: Se(f.Attribute, !0) },
|
|
{ test: Se(f.Property, !0) },
|
|
{ test: Mr },
|
|
{ test: Se(f.Attribute, !1) },
|
|
],
|
|
vi = [
|
|
{ test: Se(f.HostProperty, !0) },
|
|
{ test: Se(f.HostProperty, !1) },
|
|
{ test: D(f.Attribute) },
|
|
{ test: D(f.StyleMap), transform: et },
|
|
{ test: D(f.ClassMap), transform: et },
|
|
{ test: D(f.StyleProp) },
|
|
{ test: D(f.ClassProp) },
|
|
],
|
|
wi = new Set([
|
|
f.Listener,
|
|
f.TwoWayListener,
|
|
f.StyleMap,
|
|
f.ClassMap,
|
|
f.StyleProp,
|
|
f.ClassProp,
|
|
f.Property,
|
|
f.TwoWayProperty,
|
|
f.HostProperty,
|
|
f.Attribute,
|
|
]);
|
|
function et(t) {
|
|
return t.slice(t.length - 1);
|
|
}
|
|
var xi = new Map([
|
|
['window', P.resolveWindow],
|
|
['document', P.resolveDocument],
|
|
['body', P.resolveBody],
|
|
]);
|
|
var Si = new Map([
|
|
[B.HTML, P.sanitizeHtml],
|
|
[B.RESOURCE_URL, P.sanitizeResourceUrl],
|
|
[B.SCRIPT, P.sanitizeScript],
|
|
[B.STYLE, P.sanitizeStyle],
|
|
[B.URL, P.sanitizeUrl],
|
|
]),
|
|
Ei = new Map([
|
|
[B.HTML, P.trustConstantHtml],
|
|
[B.RESOURCE_URL, P.trustConstantResourceUrl],
|
|
]);
|
|
var Dn;
|
|
(function (t) {
|
|
(t[(t.None = 0)] = 'None'),
|
|
(t[(t.ViewContextRead = 1)] = 'ViewContextRead'),
|
|
(t[(t.ViewContextWrite = 2)] = 'ViewContextWrite'),
|
|
(t[(t.SideEffectful = 4)] = 'SideEffectful');
|
|
})(Dn || (Dn = {}));
|
|
var yi = new Map([
|
|
[H.Property, U.Property],
|
|
[H.TwoWay, U.TwoWayProperty],
|
|
[H.Attribute, U.Attribute],
|
|
[H.Class, U.ClassName],
|
|
[H.Style, U.StyleProperty],
|
|
[H.Animation, U.Animation],
|
|
]);
|
|
var _i = Symbol('queryAdvancePlaceholder');
|
|
var On;
|
|
(function (t) {
|
|
(t[(t.NG_CONTENT = 0)] = 'NG_CONTENT'),
|
|
(t[(t.STYLE = 1)] = 'STYLE'),
|
|
(t[(t.STYLESHEET = 2)] = 'STYLESHEET'),
|
|
(t[(t.SCRIPT = 3)] = 'SCRIPT'),
|
|
(t[(t.OTHER = 4)] = 'OTHER');
|
|
})(On || (On = {}));
|
|
var Fn;
|
|
(function (t) {
|
|
(t.IDLE = 'idle'),
|
|
(t.TIMER = 'timer'),
|
|
(t.INTERACTION = 'interaction'),
|
|
(t.IMMEDIATE = 'immediate'),
|
|
(t.HOVER = 'hover'),
|
|
(t.VIEWPORT = 'viewport'),
|
|
(t.NEVER = 'never');
|
|
})(Fn || (Fn = {}));
|
|
var is = '%COMP%',
|
|
Ci = `_nghost-${is}`,
|
|
Ti = `_ngcontent-${is}`;
|
|
var ki = new St('19.1.2');
|
|
var Vn;
|
|
(function (t) {
|
|
(t[(t.Extract = 0)] = 'Extract'), (t[(t.Merge = 1)] = 'Merge');
|
|
})(Vn || (Vn = {}));
|
|
var Hn;
|
|
(function (t) {
|
|
(t[(t.Directive = 0)] = 'Directive'),
|
|
(t[(t.Component = 1)] = 'Component'),
|
|
(t[(t.Injectable = 2)] = 'Injectable'),
|
|
(t[(t.Pipe = 3)] = 'Pipe'),
|
|
(t[(t.NgModule = 4)] = 'NgModule');
|
|
})(Hn || (Hn = {}));
|
|
function os({ start: t, end: e }, n) {
|
|
let s = t,
|
|
r = e;
|
|
for (; r !== s && /\s/.test(n[r - 1]); ) r--;
|
|
for (; s !== r && /\s/.test(n[s]); ) s++;
|
|
return { start: s, end: r };
|
|
}
|
|
function Rr({ start: t, end: e }, n) {
|
|
let s = t,
|
|
r = e;
|
|
for (; r !== n.length && /\s/.test(n[r]); ) r++;
|
|
for (; s !== 0 && /\s/.test(n[s - 1]); ) s--;
|
|
return { start: s, end: r };
|
|
}
|
|
function Br(t, e) {
|
|
return e[t.start - 1] === '(' && e[t.end] === ')' ?
|
|
{ start: t.start - 1, end: t.end + 1 }
|
|
: t;
|
|
}
|
|
function as(t, e, n) {
|
|
let s = 0,
|
|
r = { start: t.start, end: t.end };
|
|
for (;;) {
|
|
let o = Rr(r, e),
|
|
a = Br(o, e);
|
|
if (o.start === a.start && o.end === a.end) break;
|
|
(r.start = a.start), (r.end = a.end), s++;
|
|
}
|
|
return {
|
|
hasParens: (n ? s - 1 : s) !== 0,
|
|
outerSpan: os(n ? { start: r.start + 1, end: r.end - 1 } : r, e),
|
|
innerSpan: os(t, e),
|
|
};
|
|
}
|
|
function ls(t) {
|
|
return typeof t == 'string' ? (e) => e === t : (e) => t.test(e);
|
|
}
|
|
function cs(t, e, n) {
|
|
let s = ls(e);
|
|
for (let r = n; r >= 0; r--) {
|
|
let o = t[r];
|
|
if (s(o)) return r;
|
|
}
|
|
throw new Error(
|
|
`Cannot find front char ${e} from index ${n} in ${JSON.stringify(t)}`
|
|
);
|
|
}
|
|
function us(t, e, n) {
|
|
let s = ls(e);
|
|
for (let r = n; r < t.length; r++) {
|
|
let o = t[r];
|
|
if (s(o)) return r;
|
|
}
|
|
throw new Error(
|
|
`Cannot find character ${e} from index ${n} in ${JSON.stringify(t)}`
|
|
);
|
|
}
|
|
function ps(t) {
|
|
return t.slice(0, 1).toLowerCase() + t.slice(1);
|
|
}
|
|
function Fe(t) {
|
|
let { start: e, end: n } = t;
|
|
return { start: e, end: n, range: [e, n] };
|
|
}
|
|
var Dr = (t) => ue.prototype._commentStart(t);
|
|
function Or(t, e) {
|
|
let n = e ? Dr(t) : null;
|
|
if (n === null) return { text: t, comments: [] };
|
|
let s = {
|
|
type: 'CommentLine',
|
|
value: t.slice(n + 2),
|
|
...Fe({ start: n, end: t.length }),
|
|
};
|
|
return { text: t.slice(0, n), comments: [s] };
|
|
}
|
|
function Ve(t, e = !0) {
|
|
return (n) => {
|
|
let s = new De(),
|
|
r = new ue(s),
|
|
{ text: o, comments: a } = Or(n, e),
|
|
l = t(o, r);
|
|
if (l.errors.length !== 0) {
|
|
let [{ message: u }] = l.errors;
|
|
throw new SyntaxError(
|
|
u.replace(/^Parser Error: | at column \d+ in [^]*$/g, '')
|
|
);
|
|
}
|
|
return { result: l, comments: a, text: o };
|
|
};
|
|
}
|
|
var hs = Ve((t, e) => e.parseBinding(t, '', 0)),
|
|
Fr = Ve((t, e) => e.parseSimpleBinding(t, '', 0)),
|
|
fs = Ve((t, e) => e.parseAction(t, '', 0)),
|
|
ds = Ve((t, e) => e.parseInterpolationExpression(t, '', 0)),
|
|
ms = Ve((t, e) => e.parseTemplateBindings('', t, '', 0, 0), !1);
|
|
var Hr = (t, e, n) => {
|
|
if (!(t && e == null))
|
|
return Array.isArray(e) || typeof e == 'string' ?
|
|
e[n < 0 ? e.length + n : n]
|
|
: e.at(n);
|
|
},
|
|
nt = Hr;
|
|
var Bt = class {
|
|
text;
|
|
constructor(e) {
|
|
this.text = e;
|
|
}
|
|
getCharacterIndex(e, n) {
|
|
return us(this.text, e, n);
|
|
}
|
|
getCharacterLastIndex(e, n) {
|
|
return cs(this.text, e, n);
|
|
}
|
|
transformSpan(e, { stripSpaces: n = !1, hasParentParens: s = !1 } = {}) {
|
|
if (!n) return Fe(e);
|
|
let { outerSpan: r, innerSpan: o, hasParens: a } = as(e, this.text, s),
|
|
l = Fe(o);
|
|
return (
|
|
a &&
|
|
(l.extra = {
|
|
parenthesized: !0,
|
|
parenStart: r.start,
|
|
parenEnd: r.end,
|
|
}),
|
|
l
|
|
);
|
|
}
|
|
createNode(e, { stripSpaces: n = !0, hasParentParens: s = !1 } = {}) {
|
|
let { type: r, start: o, end: a } = e,
|
|
l = {
|
|
...e,
|
|
...this.transformSpan(
|
|
{ start: o, end: a },
|
|
{ stripSpaces: n, hasParentParens: s }
|
|
),
|
|
};
|
|
switch (r) {
|
|
case 'NumericLiteral':
|
|
case 'StringLiteral': {
|
|
let u = this.text.slice(l.start, l.end),
|
|
{ value: h } = l;
|
|
l.extra = { ...l.extra, raw: u, rawValue: h };
|
|
break;
|
|
}
|
|
case 'ObjectProperty': {
|
|
let { shorthand: u } = l;
|
|
u && (l.extra = { ...l.extra, shorthand: u });
|
|
break;
|
|
}
|
|
}
|
|
return l;
|
|
}
|
|
},
|
|
gs = Bt;
|
|
function Ot(t) {
|
|
var e;
|
|
return !!((e = t.extra) != null && e.parenthesized);
|
|
}
|
|
function $(t) {
|
|
return Ot(t) ? t.extra.parenStart : t.start;
|
|
}
|
|
function R(t) {
|
|
return Ot(t) ? t.extra.parenEnd : t.end;
|
|
}
|
|
function vs(t) {
|
|
return (
|
|
(t.type === 'OptionalCallExpression' ||
|
|
t.type === 'OptionalMemberExpression') &&
|
|
!Ot(t)
|
|
);
|
|
}
|
|
function ws(t, e) {
|
|
let { start: n, end: s } = t.sourceSpan;
|
|
return n >= s || /^\s+$/.test(e.slice(n, s));
|
|
}
|
|
var We,
|
|
pe,
|
|
p,
|
|
v,
|
|
He,
|
|
x,
|
|
Dt,
|
|
Ue = class extends gs {
|
|
constructor(n, s) {
|
|
super(s);
|
|
V(this, p);
|
|
V(this, We);
|
|
V(this, pe);
|
|
K(this, We, n), K(this, pe, s);
|
|
}
|
|
get node() {
|
|
return c(this, p, x).call(this, L(this, We));
|
|
}
|
|
transformNode(n) {
|
|
return c(this, p, Dt).call(this, n);
|
|
}
|
|
};
|
|
(We = new WeakMap()),
|
|
(pe = new WeakMap()),
|
|
(p = new WeakSet()),
|
|
(v = function (n, { stripSpaces: s = !0, hasParentParens: r = !1 } = {}) {
|
|
return this.createNode(n, { stripSpaces: s, hasParentParens: r });
|
|
}),
|
|
(He = function (
|
|
n,
|
|
s,
|
|
{ computed: r, optional: o, end: a = R(s), hasParentParens: l = !1 }
|
|
) {
|
|
if (ws(n, L(this, pe)) || n.sourceSpan.start === s.start) return s;
|
|
let u = c(this, p, x).call(this, n),
|
|
h = vs(u);
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: o || h ? 'OptionalMemberExpression' : 'MemberExpression',
|
|
object: u,
|
|
property: s,
|
|
computed: r,
|
|
...(o ? { optional: !0 }
|
|
: h ? { optional: !1 }
|
|
: void 0),
|
|
start: $(u),
|
|
end: a,
|
|
},
|
|
{ hasParentParens: l }
|
|
);
|
|
}),
|
|
(x = function (n, s = !1) {
|
|
return c(this, p, Dt).call(this, n, s);
|
|
}),
|
|
(Dt = function (n, s = !1) {
|
|
if (n instanceof Pe) {
|
|
let { expressions: o } = n;
|
|
if (o.length !== 1) throw new Error("Unexpected 'Interpolation'");
|
|
return c(this, p, x).call(this, o[0]);
|
|
}
|
|
if (n instanceof ae)
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: 'UnaryExpression',
|
|
prefix: !0,
|
|
argument: c(this, p, x).call(this, n.expr),
|
|
operator: n.operator,
|
|
...n.sourceSpan,
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
if (n instanceof A) {
|
|
let { left: o, operation: a, right: l } = n,
|
|
u = c(this, p, x).call(this, o),
|
|
h = c(this, p, x).call(this, l),
|
|
g = $(u),
|
|
S = R(h),
|
|
w = { left: u, right: h, start: g, end: S };
|
|
return a === '&&' || a === '||' || a === '??' ?
|
|
c(this, p, v).call(
|
|
this,
|
|
{ ...w, type: 'LogicalExpression', operator: a },
|
|
{ hasParentParens: s }
|
|
)
|
|
: c(this, p, v).call(
|
|
this,
|
|
{ ...w, type: 'BinaryExpression', operator: a },
|
|
{ hasParentParens: s }
|
|
);
|
|
}
|
|
if (n instanceof be) {
|
|
let { exp: o, name: a, args: l } = n,
|
|
u = c(this, p, x).call(this, o),
|
|
h = $(u),
|
|
g = R(u),
|
|
S = this.getCharacterIndex(/\S/, this.getCharacterIndex('|', g) + 1),
|
|
w = c(this, p, v).call(this, {
|
|
type: 'Identifier',
|
|
name: a,
|
|
start: S,
|
|
end: S + a.length,
|
|
}),
|
|
y = l.map((T) => c(this, p, x).call(this, T));
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: 'NGPipeExpression',
|
|
left: u,
|
|
right: w,
|
|
arguments: y,
|
|
start: h,
|
|
end: R(y.length === 0 ? w : nt(!1, y, -1)),
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
}
|
|
if (n instanceof _e)
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: 'NGChainedExpression',
|
|
expressions: n.expressions.map((o) => c(this, p, x).call(this, o)),
|
|
...n.sourceSpan,
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
if (n instanceof Ce) {
|
|
let { condition: o, trueExp: a, falseExp: l } = n,
|
|
u = c(this, p, x).call(this, o),
|
|
h = c(this, p, x).call(this, a),
|
|
g = c(this, p, x).call(this, l);
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: 'ConditionalExpression',
|
|
test: u,
|
|
consequent: h,
|
|
alternate: g,
|
|
start: $(u),
|
|
end: R(g),
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
}
|
|
if (n instanceof b)
|
|
return c(this, p, v).call(
|
|
this,
|
|
{ type: 'NGEmptyExpression', ...n.sourceSpan },
|
|
{ hasParentParens: s }
|
|
);
|
|
if (n instanceof X)
|
|
return c(this, p, v).call(
|
|
this,
|
|
{ type: 'ThisExpression', ...n.sourceSpan },
|
|
{ hasParentParens: s }
|
|
);
|
|
if (n instanceof ke || n instanceof oe)
|
|
return c(this, p, He).call(
|
|
this,
|
|
n.receiver,
|
|
c(this, p, x).call(this, n.key),
|
|
{
|
|
computed: !0,
|
|
optional: n instanceof oe,
|
|
end: n.sourceSpan.end,
|
|
hasParentParens: s,
|
|
}
|
|
);
|
|
if (n instanceof Ne)
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: 'ArrayExpression',
|
|
elements: n.expressions.map((o) => c(this, p, x).call(this, o)),
|
|
...n.sourceSpan,
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
if (n instanceof Ae) {
|
|
let { keys: o, values: a } = n,
|
|
l = a.map((h) => c(this, p, x).call(this, h)),
|
|
u = o.map(({ key: h, quoted: g }, S) => {
|
|
let w = l[S],
|
|
y = $(w),
|
|
T = R(w),
|
|
F = this.getCharacterIndex(
|
|
/\S/,
|
|
S === 0 ?
|
|
n.sourceSpan.start + 1
|
|
: this.getCharacterIndex(',', R(l[S - 1])) + 1
|
|
),
|
|
fe =
|
|
y === F ? T : (
|
|
this.getCharacterLastIndex(
|
|
/\S/,
|
|
this.getCharacterLastIndex(':', y - 1) - 1
|
|
) + 1
|
|
),
|
|
de = { start: F, end: fe },
|
|
q =
|
|
g ?
|
|
c(this, p, v).call(this, {
|
|
type: 'StringLiteral',
|
|
value: h,
|
|
...de,
|
|
})
|
|
: c(this, p, v).call(this, {
|
|
type: 'Identifier',
|
|
name: h,
|
|
...de,
|
|
}),
|
|
Gt = q.end < q.start || F === y;
|
|
return c(this, p, v).call(this, {
|
|
type: 'ObjectProperty',
|
|
key: q,
|
|
value: w,
|
|
shorthand: Gt,
|
|
computed: !1,
|
|
start: $(q),
|
|
end: T,
|
|
});
|
|
});
|
|
return c(this, p, v).call(
|
|
this,
|
|
{ type: 'ObjectExpression', properties: u, ...n.sourceSpan },
|
|
{ hasParentParens: s }
|
|
);
|
|
}
|
|
if (n instanceof N) {
|
|
let { value: o } = n;
|
|
switch (typeof o) {
|
|
case 'boolean':
|
|
return c(this, p, v).call(
|
|
this,
|
|
{ type: 'BooleanLiteral', value: o, ...n.sourceSpan },
|
|
{ hasParentParens: s }
|
|
);
|
|
case 'number':
|
|
return c(this, p, v).call(
|
|
this,
|
|
{ type: 'NumericLiteral', value: o, ...n.sourceSpan },
|
|
{ hasParentParens: s }
|
|
);
|
|
case 'object':
|
|
return c(this, p, v).call(
|
|
this,
|
|
{ type: 'NullLiteral', ...n.sourceSpan },
|
|
{ hasParentParens: s }
|
|
);
|
|
case 'string':
|
|
return c(this, p, v).call(
|
|
this,
|
|
{ type: 'StringLiteral', value: o, ...n.sourceSpan },
|
|
{ hasParentParens: s }
|
|
);
|
|
case 'undefined':
|
|
return c(this, p, v).call(
|
|
this,
|
|
{ type: 'Identifier', name: 'undefined', ...n.sourceSpan },
|
|
{ hasParentParens: s }
|
|
);
|
|
default:
|
|
throw new Error(`Unexpected LiteralPrimitive value type ${typeof o}`);
|
|
}
|
|
}
|
|
if (n instanceof Re || n instanceof le) {
|
|
let o = n instanceof le,
|
|
{ receiver: a, args: l } = n,
|
|
u =
|
|
l.length === 1 ?
|
|
[c(this, p, x).call(this, l[0], !0)]
|
|
: l.map((w) => c(this, p, x).call(this, w)),
|
|
h = c(this, p, x).call(this, a),
|
|
g = vs(h),
|
|
S = o || g ? 'OptionalCallExpression' : 'CallExpression';
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: S,
|
|
callee: h,
|
|
arguments: u,
|
|
optional: S === 'OptionalCallExpression' ? o : void 0,
|
|
start: $(h),
|
|
end: n.sourceSpan.end,
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
}
|
|
if (n instanceof $e) {
|
|
let o = c(this, p, x).call(this, n.expression);
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: 'TSNonNullExpression',
|
|
expression: o,
|
|
start: $(o),
|
|
end: n.sourceSpan.end,
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
}
|
|
let r = n instanceof Le;
|
|
if (r || n instanceof Me) {
|
|
let o = c(this, p, x).call(this, n.expression),
|
|
a = r ? '!' : 'typeof',
|
|
{ start: l } = n.sourceSpan;
|
|
if (!r) {
|
|
let u = this.text.lastIndexOf(a, l);
|
|
if (u === -1)
|
|
throw new Error(
|
|
`Cannot find operator ${a} from index ${l} in ${JSON.stringify(this.text)}`
|
|
);
|
|
l = u;
|
|
}
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: 'UnaryExpression',
|
|
prefix: !0,
|
|
operator: a,
|
|
argument: o,
|
|
start: l,
|
|
end: R(o),
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
}
|
|
if (n instanceof re || n instanceof ie) {
|
|
let { receiver: o, name: a } = n,
|
|
l = this.getCharacterLastIndex(/\S/, n.sourceSpan.end - 1) + 1,
|
|
u = c(this, p, v).call(
|
|
this,
|
|
{ type: 'Identifier', name: a, start: l - a.length, end: l },
|
|
ws(o, L(this, pe)) ? { hasParentParens: s } : {}
|
|
);
|
|
return c(this, p, He).call(this, o, u, {
|
|
computed: !1,
|
|
optional: n instanceof ie,
|
|
hasParentParens: s,
|
|
});
|
|
}
|
|
if (n instanceof Ie) {
|
|
let o = c(this, p, x).call(this, n.key),
|
|
a = c(this, p, x).call(this, n.value),
|
|
l = c(this, p, He).call(this, n.receiver, o, {
|
|
computed: !0,
|
|
optional: !1,
|
|
end: this.getCharacterIndex(']', R(o)) + 1,
|
|
});
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: 'AssignmentExpression',
|
|
left: l,
|
|
operator: '=',
|
|
right: a,
|
|
start: $(l),
|
|
end: R(a),
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
}
|
|
if (n instanceof Te) {
|
|
let { receiver: o, name: a, value: l } = n,
|
|
u = c(this, p, x).call(this, l),
|
|
h =
|
|
this.getCharacterLastIndex(
|
|
/\S/,
|
|
this.getCharacterLastIndex('=', $(u) - 1) - 1
|
|
) + 1,
|
|
g = c(this, p, v).call(this, {
|
|
type: 'Identifier',
|
|
name: a,
|
|
start: h - a.length,
|
|
end: h,
|
|
}),
|
|
S = c(this, p, He).call(this, o, g, { computed: !1, optional: !1 });
|
|
return c(this, p, v).call(
|
|
this,
|
|
{
|
|
type: 'AssignmentExpression',
|
|
left: S,
|
|
operator: '=',
|
|
right: u,
|
|
start: $(S),
|
|
end: R(u),
|
|
},
|
|
{ hasParentParens: s }
|
|
);
|
|
}
|
|
throw Object.assign(new Error('Unexpected node'), { node: n });
|
|
});
|
|
function xs(t, e) {
|
|
return new Ue(t, e).node;
|
|
}
|
|
function Ss(t) {
|
|
return t instanceof Be;
|
|
}
|
|
function Es(t) {
|
|
return t instanceof ce;
|
|
}
|
|
var he,
|
|
Q,
|
|
m,
|
|
ys,
|
|
I,
|
|
Vt,
|
|
Ht,
|
|
Ut,
|
|
_s,
|
|
Cs,
|
|
Ts,
|
|
ks,
|
|
Ft = class extends Ue {
|
|
constructor(n, s) {
|
|
super(void 0, s);
|
|
V(this, m);
|
|
V(this, he);
|
|
V(this, Q);
|
|
K(this, he, n), K(this, Q, s);
|
|
for (let r of n) c(this, m, _s).call(this, r);
|
|
}
|
|
get expressions() {
|
|
return c(this, m, Ts).call(this);
|
|
}
|
|
};
|
|
(he = new WeakMap()),
|
|
(Q = new WeakMap()),
|
|
(m = new WeakSet()),
|
|
(ys = function () {
|
|
return L(this, he)[0].key;
|
|
}),
|
|
(I = function (n, { stripSpaces: s = !0 } = {}) {
|
|
return this.createNode(n, { stripSpaces: s });
|
|
}),
|
|
(Vt = function (n) {
|
|
return this.transformNode(n);
|
|
}),
|
|
(Ht = function (n) {
|
|
return ps(n.slice(L(this, m, ys).source.length));
|
|
}),
|
|
(Ut = function (n) {
|
|
let s = L(this, Q);
|
|
if (s[n.start] !== '"' && s[n.start] !== "'") return;
|
|
let r = s[n.start],
|
|
o = !1;
|
|
for (let a = n.start + 1; a < s.length; a++)
|
|
switch (s[a]) {
|
|
case r:
|
|
if (!o) {
|
|
n.end = a + 1;
|
|
return;
|
|
}
|
|
default:
|
|
o = !1;
|
|
break;
|
|
case '\\':
|
|
o = !o;
|
|
break;
|
|
}
|
|
}),
|
|
(_s = function (n) {
|
|
c(this, m, Ut).call(this, n.key.span),
|
|
Es(n) && n.value && c(this, m, Ut).call(this, n.value.span);
|
|
}),
|
|
(Cs = function (n) {
|
|
if (!n.value || n.value.source) return n.value;
|
|
let s = this.getCharacterIndex(/\S/, n.sourceSpan.start);
|
|
return { source: '$implicit', span: { start: s, end: s } };
|
|
}),
|
|
(Ts = function () {
|
|
let n = L(this, he),
|
|
[s] = n,
|
|
r =
|
|
(
|
|
L(this, Q).slice(s.sourceSpan.start, s.sourceSpan.end).trim()
|
|
.length === 0
|
|
) ?
|
|
n.slice(1)
|
|
: n,
|
|
o = [],
|
|
a = null;
|
|
for (let [l, u] of r.entries()) {
|
|
if (a && Ss(a) && Es(u) && u.value && u.value.source === a.key.source) {
|
|
let h = c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxKey',
|
|
name: u.key.source,
|
|
...u.key.span,
|
|
}),
|
|
g = (y, T) => ({
|
|
...y,
|
|
...this.transformSpan({ start: y.start, end: T }),
|
|
}),
|
|
S = (y) => ({ ...g(y, h.end), alias: h }),
|
|
w = o.pop();
|
|
if (w.type === 'NGMicrosyntaxExpression') o.push(S(w));
|
|
else if (w.type === 'NGMicrosyntaxKeyedExpression') {
|
|
let y = S(w.expression);
|
|
o.push(g({ ...w, expression: y }, y.end));
|
|
} else throw new Error(`Unexpected type ${w.type}`);
|
|
} else o.push(c(this, m, ks).call(this, u, l));
|
|
a = u;
|
|
}
|
|
return c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntax',
|
|
body: o,
|
|
...(o.length === 0 ?
|
|
n[0].sourceSpan
|
|
: { start: o[0].start, end: nt(!1, o, -1).end }),
|
|
});
|
|
}),
|
|
(ks = function (n, s) {
|
|
if (Ss(n)) {
|
|
let { key: r, value: o } = n;
|
|
return (
|
|
o ?
|
|
s === 0 ?
|
|
c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxExpression',
|
|
expression: c(this, m, Vt).call(this, o.ast),
|
|
alias: null,
|
|
...o.sourceSpan,
|
|
})
|
|
: c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxKeyedExpression',
|
|
key: c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxKey',
|
|
name: c(this, m, Ht).call(this, r.source),
|
|
...r.span,
|
|
}),
|
|
expression: c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxExpression',
|
|
expression: c(this, m, Vt).call(this, o.ast),
|
|
alias: null,
|
|
...o.sourceSpan,
|
|
}),
|
|
start: r.span.start,
|
|
end: o.sourceSpan.end,
|
|
})
|
|
: c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxKey',
|
|
name: c(this, m, Ht).call(this, r.source),
|
|
...r.span,
|
|
})
|
|
);
|
|
} else {
|
|
let { key: r, sourceSpan: o } = n;
|
|
if (/^let\s$/.test(L(this, Q).slice(o.start, o.start + 4))) {
|
|
let { value: l } = n;
|
|
return c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxLet',
|
|
key: c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxKey',
|
|
name: r.source,
|
|
...r.span,
|
|
}),
|
|
value:
|
|
l ?
|
|
c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxKey',
|
|
name: l.source,
|
|
...l.span,
|
|
})
|
|
: null,
|
|
start: o.start,
|
|
end: l ? l.span.end : r.span.end,
|
|
});
|
|
} else {
|
|
let l = c(this, m, Cs).call(this, n);
|
|
return c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxAs',
|
|
key: c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxKey',
|
|
name: l.source,
|
|
...l.span,
|
|
}),
|
|
alias: c(this, m, I).call(this, {
|
|
type: 'NGMicrosyntaxKey',
|
|
name: r.source,
|
|
...r.span,
|
|
}),
|
|
start: l.span.start,
|
|
end: r.span.end,
|
|
});
|
|
}
|
|
}
|
|
});
|
|
function Is(t, e) {
|
|
return new Ft(t, e).expressions;
|
|
}
|
|
function st({ result: { ast: t }, text: e, comments: n }) {
|
|
return Object.assign(xs(t, e), { comments: n });
|
|
}
|
|
function bs({ result: { templateBindings: t }, text: e }) {
|
|
return Is(t, e);
|
|
}
|
|
var Ns = (t) => st(hs(t));
|
|
var As = (t) => st(ds(t)),
|
|
Wt = (t) => st(fs(t)),
|
|
Ps = (t) => bs(ms(t));
|
|
function qt(t) {
|
|
var s, r, o;
|
|
let e = ((s = t.range) == null ? void 0 : s[0]) ?? t.start,
|
|
n =
|
|
(
|
|
(o =
|
|
((r = t.declaration) == null ? void 0 : r.decorators) ??
|
|
t.decorators) == null
|
|
) ?
|
|
void 0
|
|
: o[0];
|
|
return n ? Math.min(qt(n), e) : e;
|
|
}
|
|
function Ls(t) {
|
|
var e;
|
|
return ((e = t.range) == null ? void 0 : e[1]) ?? t.end;
|
|
}
|
|
function rt(t) {
|
|
return {
|
|
astFormat: 'estree',
|
|
parse(e) {
|
|
let n = t(e);
|
|
return {
|
|
type: 'NGRoot',
|
|
node:
|
|
t === Wt && n.type !== 'NGChainedExpression' ?
|
|
{ ...n, type: 'NGChainedExpression', expressions: [n] }
|
|
: n,
|
|
};
|
|
},
|
|
locStart: qt,
|
|
locEnd: Ls,
|
|
};
|
|
}
|
|
var Ur = rt(Wt),
|
|
Wr = rt(Ns),
|
|
qr = rt(As),
|
|
jr = rt(Ps);
|
|
var Zi = zt;
|
|
export { Zi as default, jt as parsers };
|