@angular/compiler 21.0.0-next.4 → 21.0.0-next.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/compiler.mjs +236 -47
- package/fesm2022/compiler.mjs.map +1 -1
- package/index.d.ts +27 -4
- package/package.json +1 -1
package/fesm2022/compiler.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v21.0.0-next.
|
|
2
|
+
* @license Angular v21.0.0-next.5
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -1237,6 +1237,27 @@ class InstantiateExpr extends Expression {
|
|
|
1237
1237
|
return new InstantiateExpr(this.classExpr.clone(), this.args.map((arg) => arg.clone()), this.type, this.sourceSpan);
|
|
1238
1238
|
}
|
|
1239
1239
|
}
|
|
1240
|
+
let RegularExpressionLiteral$1 = class RegularExpressionLiteral extends Expression {
|
|
1241
|
+
body;
|
|
1242
|
+
flags;
|
|
1243
|
+
constructor(body, flags, sourceSpan) {
|
|
1244
|
+
super(null, sourceSpan);
|
|
1245
|
+
this.body = body;
|
|
1246
|
+
this.flags = flags;
|
|
1247
|
+
}
|
|
1248
|
+
isEquivalent(e) {
|
|
1249
|
+
return e instanceof RegularExpressionLiteral && this.body === e.body && this.flags === e.flags;
|
|
1250
|
+
}
|
|
1251
|
+
isConstant() {
|
|
1252
|
+
return true;
|
|
1253
|
+
}
|
|
1254
|
+
visitExpression(visitor, context) {
|
|
1255
|
+
return visitor.visitRegularExpressionLiteral(this, context);
|
|
1256
|
+
}
|
|
1257
|
+
clone() {
|
|
1258
|
+
return new RegularExpressionLiteral(this.body, this.flags, this.sourceSpan);
|
|
1259
|
+
}
|
|
1260
|
+
};
|
|
1240
1261
|
class LiteralExpr extends Expression {
|
|
1241
1262
|
value;
|
|
1242
1263
|
constructor(value, type, sourceSpan) {
|
|
@@ -2030,6 +2051,9 @@ let RecursiveAstVisitor$1 = class RecursiveAstVisitor {
|
|
|
2030
2051
|
visitLiteralExpr(ast, context) {
|
|
2031
2052
|
return this.visitExpression(ast, context);
|
|
2032
2053
|
}
|
|
2054
|
+
visitRegularExpressionLiteral(ast, context) {
|
|
2055
|
+
return this.visitExpression(ast, context);
|
|
2056
|
+
}
|
|
2033
2057
|
visitLocalizedString(ast, context) {
|
|
2034
2058
|
return this.visitExpression(ast, context);
|
|
2035
2059
|
}
|
|
@@ -2290,6 +2314,7 @@ var output_ast = /*#__PURE__*/Object.freeze({
|
|
|
2290
2314
|
ReadPropExpr: ReadPropExpr,
|
|
2291
2315
|
ReadVarExpr: ReadVarExpr,
|
|
2292
2316
|
RecursiveAstVisitor: RecursiveAstVisitor$1,
|
|
2317
|
+
RegularExpressionLiteral: RegularExpressionLiteral$1,
|
|
2293
2318
|
ReturnStatement: ReturnStatement,
|
|
2294
2319
|
STRING_TYPE: STRING_TYPE,
|
|
2295
2320
|
Statement: Statement,
|
|
@@ -2565,6 +2590,9 @@ class GenericKeyFn {
|
|
|
2565
2590
|
else if (expr instanceof LiteralExpr) {
|
|
2566
2591
|
return String(expr.value);
|
|
2567
2592
|
}
|
|
2593
|
+
else if (expr instanceof RegularExpressionLiteral$1) {
|
|
2594
|
+
return `/${expr.body}/${expr.flags ?? ''}`;
|
|
2595
|
+
}
|
|
2568
2596
|
else if (expr instanceof LiteralArrayExpr) {
|
|
2569
2597
|
const entries = [];
|
|
2570
2598
|
for (const entry of expr.entries) {
|
|
@@ -3566,6 +3594,10 @@ class AbstractEmitterVisitor {
|
|
|
3566
3594
|
}
|
|
3567
3595
|
return null;
|
|
3568
3596
|
}
|
|
3597
|
+
visitRegularExpressionLiteral(ast, ctx) {
|
|
3598
|
+
ctx.print(ast, `/${ast.body}/${ast.flags || ''}`);
|
|
3599
|
+
return null;
|
|
3600
|
+
}
|
|
3569
3601
|
visitLocalizedString(ast, ctx) {
|
|
3570
3602
|
const head = ast.serializeI18nHead();
|
|
3571
3603
|
ctx.print(ast, '$localize `' + head.raw);
|
|
@@ -4374,6 +4406,18 @@ class ParenthesizedExpression extends AST {
|
|
|
4374
4406
|
return visitor.visitParenthesizedExpression(this, context);
|
|
4375
4407
|
}
|
|
4376
4408
|
}
|
|
4409
|
+
class RegularExpressionLiteral extends AST {
|
|
4410
|
+
body;
|
|
4411
|
+
flags;
|
|
4412
|
+
constructor(span, sourceSpan, body, flags) {
|
|
4413
|
+
super(span, sourceSpan);
|
|
4414
|
+
this.body = body;
|
|
4415
|
+
this.flags = flags;
|
|
4416
|
+
}
|
|
4417
|
+
visit(visitor, context) {
|
|
4418
|
+
return visitor.visitRegularExpressionLiteral(this, context);
|
|
4419
|
+
}
|
|
4420
|
+
}
|
|
4377
4421
|
/**
|
|
4378
4422
|
* Records the absolute position of a text span in a source file, where `start` and `end` are the
|
|
4379
4423
|
* starting and ending byte offsets, respectively, of the text span in a source file.
|
|
@@ -4534,6 +4578,7 @@ class RecursiveAstVisitor {
|
|
|
4534
4578
|
visitParenthesizedExpression(ast, context) {
|
|
4535
4579
|
this.visit(ast.expression, context);
|
|
4536
4580
|
}
|
|
4581
|
+
visitRegularExpressionLiteral(ast, context) { }
|
|
4537
4582
|
// This is not part of the AstVisitor interface, just a helper method
|
|
4538
4583
|
visitAll(asts, context) {
|
|
4539
4584
|
for (const ast of asts) {
|
|
@@ -10449,7 +10494,8 @@ function transformExpressionsInExpression(expr, transform, flags) {
|
|
|
10449
10494
|
}
|
|
10450
10495
|
else if (expr instanceof ReadVarExpr ||
|
|
10451
10496
|
expr instanceof ExternalExpr ||
|
|
10452
|
-
expr instanceof LiteralExpr
|
|
10497
|
+
expr instanceof LiteralExpr ||
|
|
10498
|
+
expr instanceof RegularExpressionLiteral$1) ;
|
|
10453
10499
|
else {
|
|
10454
10500
|
throw new Error(`Unhandled expression kind: ${expr.constructor.name}`);
|
|
10455
10501
|
}
|
|
@@ -11827,6 +11873,16 @@ function extractAttributeOp(unit, op, elements) {
|
|
|
11827
11873
|
}
|
|
11828
11874
|
}
|
|
11829
11875
|
|
|
11876
|
+
const ARIA_PREFIX = 'aria-';
|
|
11877
|
+
/**
|
|
11878
|
+
* Returns whether `name` is an ARIA attribute name.
|
|
11879
|
+
*
|
|
11880
|
+
* This is a heuristic based on whether name begins with and is longer than `aria-`.
|
|
11881
|
+
*/
|
|
11882
|
+
function isAriaAttribute(name) {
|
|
11883
|
+
return name.startsWith(ARIA_PREFIX) && name.length > ARIA_PREFIX.length;
|
|
11884
|
+
}
|
|
11885
|
+
|
|
11830
11886
|
/**
|
|
11831
11887
|
* Looks up an element in the given map by xref ID.
|
|
11832
11888
|
*/
|
|
@@ -11872,7 +11928,15 @@ function specializeBindings(job) {
|
|
|
11872
11928
|
break;
|
|
11873
11929
|
case BindingKind.Property:
|
|
11874
11930
|
case BindingKind.LegacyAnimation:
|
|
11875
|
-
|
|
11931
|
+
// Convert a property binding targeting an ARIA attribute (e.g. [aria-label]) into an
|
|
11932
|
+
// attribute binding when we know it can't also target an input. Note that a `Host` job is
|
|
11933
|
+
// always `DomOnly`, so this condition must be checked first.
|
|
11934
|
+
if (job.mode === TemplateCompilationMode.DomOnly && isAriaAttribute(op.name)) {
|
|
11935
|
+
OpList.replace(op, createAttributeOp(op.target,
|
|
11936
|
+
/* namespace= */ null, op.name, op.expression, op.securityContext,
|
|
11937
|
+
/* isTextAttribute= */ false, op.isStructuralTemplateAttribute, op.templateKind, op.i18nMessage, op.sourceSpan));
|
|
11938
|
+
}
|
|
11939
|
+
else if (job.kind === CompilationJobKind.Host) {
|
|
11876
11940
|
OpList.replace(op, createDomPropertyOp(op.name, op.expression, op.bindingKind, op.i18nContext, op.securityContext, op.sourceSpan));
|
|
11877
11941
|
}
|
|
11878
11942
|
else {
|
|
@@ -18249,7 +18313,9 @@ var TokenType;
|
|
|
18249
18313
|
TokenType[TokenType["String"] = 4] = "String";
|
|
18250
18314
|
TokenType[TokenType["Operator"] = 5] = "Operator";
|
|
18251
18315
|
TokenType[TokenType["Number"] = 6] = "Number";
|
|
18252
|
-
TokenType[TokenType["
|
|
18316
|
+
TokenType[TokenType["RegExpBody"] = 7] = "RegExpBody";
|
|
18317
|
+
TokenType[TokenType["RegExpFlags"] = 8] = "RegExpFlags";
|
|
18318
|
+
TokenType[TokenType["Error"] = 9] = "Error";
|
|
18253
18319
|
})(TokenType || (TokenType = {}));
|
|
18254
18320
|
var StringTokenKind;
|
|
18255
18321
|
(function (StringTokenKind) {
|
|
@@ -18344,6 +18410,12 @@ class Token {
|
|
|
18344
18410
|
isError() {
|
|
18345
18411
|
return this.type === TokenType.Error;
|
|
18346
18412
|
}
|
|
18413
|
+
isRegExpBody() {
|
|
18414
|
+
return this.type === TokenType.RegExpBody;
|
|
18415
|
+
}
|
|
18416
|
+
isRegExpFlags() {
|
|
18417
|
+
return this.type === TokenType.RegExpFlags;
|
|
18418
|
+
}
|
|
18347
18419
|
toNumber() {
|
|
18348
18420
|
return this.type === TokenType.Number ? this.numValue : -1;
|
|
18349
18421
|
}
|
|
@@ -18370,6 +18442,8 @@ class Token {
|
|
|
18370
18442
|
case TokenType.PrivateIdentifier:
|
|
18371
18443
|
case TokenType.String:
|
|
18372
18444
|
case TokenType.Error:
|
|
18445
|
+
case TokenType.RegExpBody:
|
|
18446
|
+
case TokenType.RegExpFlags:
|
|
18373
18447
|
return this.strValue;
|
|
18374
18448
|
case TokenType.Number:
|
|
18375
18449
|
return this.numValue.toString();
|
|
@@ -18406,6 +18480,12 @@ function newNumberToken(index, end, n) {
|
|
|
18406
18480
|
function newErrorToken(index, end, message) {
|
|
18407
18481
|
return new Token(index, end, TokenType.Error, 0, message);
|
|
18408
18482
|
}
|
|
18483
|
+
function newRegExpBodyToken(index, end, text) {
|
|
18484
|
+
return new Token(index, end, TokenType.RegExpBody, 0, text);
|
|
18485
|
+
}
|
|
18486
|
+
function newRegExpFlagsToken(index, end, text) {
|
|
18487
|
+
return new Token(index, end, TokenType.RegExpFlags, 0, text);
|
|
18488
|
+
}
|
|
18409
18489
|
const EOF = new Token(-1, -1, TokenType.Character, 0, '');
|
|
18410
18490
|
class _Scanner {
|
|
18411
18491
|
input;
|
|
@@ -18489,7 +18569,9 @@ class _Scanner {
|
|
|
18489
18569
|
case $MINUS:
|
|
18490
18570
|
return this.scanComplexOperator(start, '-', $EQ, '=');
|
|
18491
18571
|
case $SLASH:
|
|
18492
|
-
return this.
|
|
18572
|
+
return this.isStartOfRegex()
|
|
18573
|
+
? this.scanRegex(index)
|
|
18574
|
+
: this.scanComplexOperator(start, '/', $EQ, '=');
|
|
18493
18575
|
case $PERCENT:
|
|
18494
18576
|
return this.scanComplexOperator(start, '%', $EQ, '=');
|
|
18495
18577
|
case $CARET:
|
|
@@ -18752,6 +18834,81 @@ class _Scanner {
|
|
|
18752
18834
|
}
|
|
18753
18835
|
return newOperatorToken(start, this.index, operator);
|
|
18754
18836
|
}
|
|
18837
|
+
isStartOfRegex() {
|
|
18838
|
+
if (this.tokens.length === 0) {
|
|
18839
|
+
return true;
|
|
18840
|
+
}
|
|
18841
|
+
const prevToken = this.tokens[this.tokens.length - 1];
|
|
18842
|
+
// If a slash is preceded by a `!` operator, we need to distinguish whether it's a
|
|
18843
|
+
// negation or a non-null assertion. Regexes can only be precded by negations.
|
|
18844
|
+
if (prevToken.isOperator('!')) {
|
|
18845
|
+
const beforePrevToken = this.tokens.length > 1 ? this.tokens[this.tokens.length - 2] : null;
|
|
18846
|
+
const isNegation = beforePrevToken === null ||
|
|
18847
|
+
(beforePrevToken.type !== TokenType.Identifier &&
|
|
18848
|
+
!beforePrevToken.isCharacter($RPAREN) &&
|
|
18849
|
+
!beforePrevToken.isCharacter($RBRACKET));
|
|
18850
|
+
return isNegation;
|
|
18851
|
+
}
|
|
18852
|
+
// Only consider the slash a regex if it's preceded either by:
|
|
18853
|
+
// - Any operator, aside from `!` which is special-cased above.
|
|
18854
|
+
// - Opening paren (e.g. `(/a/)`).
|
|
18855
|
+
// - Opening bracket (e.g. `[/a/]`).
|
|
18856
|
+
// - A comma (e.g. `[1, /a/]`).
|
|
18857
|
+
// - A colon (e.g. `{foo: /a/}`).
|
|
18858
|
+
return (prevToken.type === TokenType.Operator ||
|
|
18859
|
+
prevToken.isCharacter($LPAREN) ||
|
|
18860
|
+
prevToken.isCharacter($LBRACKET) ||
|
|
18861
|
+
prevToken.isCharacter($COMMA) ||
|
|
18862
|
+
prevToken.isCharacter($COLON));
|
|
18863
|
+
}
|
|
18864
|
+
scanRegex(tokenStart) {
|
|
18865
|
+
this.advance();
|
|
18866
|
+
const textStart = this.index;
|
|
18867
|
+
let inEscape = false;
|
|
18868
|
+
let inCharacterClass = false;
|
|
18869
|
+
while (true) {
|
|
18870
|
+
const peek = this.peek;
|
|
18871
|
+
if (peek === $EOF) {
|
|
18872
|
+
return this.error('Unterminated regular expression', 0);
|
|
18873
|
+
}
|
|
18874
|
+
if (inEscape) {
|
|
18875
|
+
inEscape = false;
|
|
18876
|
+
}
|
|
18877
|
+
else if (peek === $BACKSLASH) {
|
|
18878
|
+
inEscape = true;
|
|
18879
|
+
}
|
|
18880
|
+
else if (peek === $LBRACKET) {
|
|
18881
|
+
inCharacterClass = true;
|
|
18882
|
+
}
|
|
18883
|
+
else if (peek === $RBRACKET) {
|
|
18884
|
+
inCharacterClass = false;
|
|
18885
|
+
}
|
|
18886
|
+
else if (peek === $SLASH && !inCharacterClass) {
|
|
18887
|
+
break;
|
|
18888
|
+
}
|
|
18889
|
+
this.advance();
|
|
18890
|
+
}
|
|
18891
|
+
// Note that we want the text without the slashes,
|
|
18892
|
+
// but we still want the slashes to be part of the span.
|
|
18893
|
+
const value = this.input.substring(textStart, this.index);
|
|
18894
|
+
this.advance();
|
|
18895
|
+
const bodyToken = newRegExpBodyToken(tokenStart, this.index, value);
|
|
18896
|
+
const flagsToken = this.scanRegexFlags(this.index);
|
|
18897
|
+
if (flagsToken !== null) {
|
|
18898
|
+
this.tokens.push(bodyToken);
|
|
18899
|
+
return flagsToken;
|
|
18900
|
+
}
|
|
18901
|
+
return bodyToken;
|
|
18902
|
+
}
|
|
18903
|
+
scanRegexFlags(start) {
|
|
18904
|
+
if (!isAsciiLetter(this.peek)) {
|
|
18905
|
+
return null;
|
|
18906
|
+
}
|
|
18907
|
+
while (isAsciiLetter(this.peek)) {
|
|
18908
|
+
this.advance();
|
|
18909
|
+
}
|
|
18910
|
+
return newRegExpFlagsToken(start, this.index, this.input.substring(start, this.index));
|
|
18911
|
+
}
|
|
18755
18912
|
}
|
|
18756
18913
|
function isIdentifierStart(code) {
|
|
18757
18914
|
return (($a <= code && code <= $z) ||
|
|
@@ -19103,6 +19260,8 @@ var ParseContextFlags;
|
|
|
19103
19260
|
*/
|
|
19104
19261
|
ParseContextFlags[ParseContextFlags["Writable"] = 1] = "Writable";
|
|
19105
19262
|
})(ParseContextFlags || (ParseContextFlags = {}));
|
|
19263
|
+
/** Possible flags that can be used in a regex literal. */
|
|
19264
|
+
const SUPPORTED_REGEX_FLAGS = new Set(['d', 'g', 'i', 'm', 's', 'u', 'v', 'y']);
|
|
19106
19265
|
class _ParseAST {
|
|
19107
19266
|
input;
|
|
19108
19267
|
parseSourceSpan;
|
|
@@ -19672,6 +19831,9 @@ class _ParseAST {
|
|
|
19672
19831
|
this._reportErrorForPrivateIdentifier(this.next, null);
|
|
19673
19832
|
return new EmptyExpr$1(this.span(start), this.sourceSpan(start));
|
|
19674
19833
|
}
|
|
19834
|
+
else if (this.next.isRegExpBody()) {
|
|
19835
|
+
return this.parseRegularExpressionLiteral();
|
|
19836
|
+
}
|
|
19675
19837
|
else if (this.index >= this.tokens.length) {
|
|
19676
19838
|
this.error(`Unexpected end of expression: ${this.input}`);
|
|
19677
19839
|
return new EmptyExpr$1(this.span(start), this.sourceSpan(start));
|
|
@@ -20041,6 +20203,35 @@ class _ParseAST {
|
|
|
20041
20203
|
}
|
|
20042
20204
|
return new TemplateLiteral(this.span(start), this.sourceSpan(start), elements, expressions);
|
|
20043
20205
|
}
|
|
20206
|
+
parseRegularExpressionLiteral() {
|
|
20207
|
+
const bodyToken = this.next;
|
|
20208
|
+
this.advance();
|
|
20209
|
+
if (!bodyToken.isRegExpBody()) {
|
|
20210
|
+
return new EmptyExpr$1(this.span(this.inputIndex), this.sourceSpan(this.inputIndex));
|
|
20211
|
+
}
|
|
20212
|
+
let flagsToken = null;
|
|
20213
|
+
if (this.next.isRegExpFlags()) {
|
|
20214
|
+
flagsToken = this.next;
|
|
20215
|
+
this.advance();
|
|
20216
|
+
const seenFlags = new Set();
|
|
20217
|
+
for (let i = 0; i < flagsToken.strValue.length; i++) {
|
|
20218
|
+
const char = flagsToken.strValue[i];
|
|
20219
|
+
if (!SUPPORTED_REGEX_FLAGS.has(char)) {
|
|
20220
|
+
this.error(`Unsupported regular expression flag "${char}". The supported flags are: ` +
|
|
20221
|
+
Array.from(SUPPORTED_REGEX_FLAGS, (f) => `"${f}"`).join(', '), flagsToken.index + i);
|
|
20222
|
+
}
|
|
20223
|
+
else if (seenFlags.has(char)) {
|
|
20224
|
+
this.error(`Duplicate regular expression flag "${char}"`, flagsToken.index + i);
|
|
20225
|
+
}
|
|
20226
|
+
else {
|
|
20227
|
+
seenFlags.add(char);
|
|
20228
|
+
}
|
|
20229
|
+
}
|
|
20230
|
+
}
|
|
20231
|
+
const start = bodyToken.index;
|
|
20232
|
+
const end = flagsToken ? flagsToken.end : bodyToken.end;
|
|
20233
|
+
return new RegularExpressionLiteral(this.span(start, end), this.sourceSpan(start, end), bodyToken.strValue, flagsToken ? flagsToken.strValue : null);
|
|
20234
|
+
}
|
|
20044
20235
|
/**
|
|
20045
20236
|
* Consume the optional statement terminator: semicolon or comma.
|
|
20046
20237
|
*/
|
|
@@ -20254,6 +20445,9 @@ class SerializeExpressionVisitor {
|
|
|
20254
20445
|
visitVoidExpression(ast, context) {
|
|
20255
20446
|
return `void ${ast.expression.visit(this, context)}`;
|
|
20256
20447
|
}
|
|
20448
|
+
visitRegularExpressionLiteral(ast, context) {
|
|
20449
|
+
return `/${ast.body}/${ast.flags || ''}`;
|
|
20450
|
+
}
|
|
20257
20451
|
visitASTWithSource(ast, context) {
|
|
20258
20452
|
return ast.ast.visit(this, context);
|
|
20259
20453
|
}
|
|
@@ -23356,6 +23550,27 @@ function transformLiteralMap(expr) {
|
|
|
23356
23550
|
return new PureFunctionExpr(literalMap(derivedEntries), nonConstantArgs);
|
|
23357
23551
|
}
|
|
23358
23552
|
|
|
23553
|
+
/** Optimizes regular expressions used in expressions. */
|
|
23554
|
+
function optimizeRegularExpressions(job) {
|
|
23555
|
+
for (const view of job.units) {
|
|
23556
|
+
for (const op of view.ops()) {
|
|
23557
|
+
transformExpressionsInOp(op, (expr) => {
|
|
23558
|
+
if (expr instanceof RegularExpressionLiteral$1 &&
|
|
23559
|
+
// We can't optimize global regexes, because they're stateful.
|
|
23560
|
+
(expr.flags === null || !expr.flags.includes('g'))) {
|
|
23561
|
+
return job.pool.getSharedConstant(new RegularExpressionConstant(), expr);
|
|
23562
|
+
}
|
|
23563
|
+
return expr;
|
|
23564
|
+
}, VisitorContextFlag.None);
|
|
23565
|
+
}
|
|
23566
|
+
}
|
|
23567
|
+
}
|
|
23568
|
+
class RegularExpressionConstant extends GenericKeyFn {
|
|
23569
|
+
toSharedConstantDeclaration(declName, keyExpr) {
|
|
23570
|
+
return new DeclareVarStmt(declName, keyExpr, undefined, StmtModifier.Final);
|
|
23571
|
+
}
|
|
23572
|
+
}
|
|
23573
|
+
|
|
23359
23574
|
// This file contains helpers for generating calls to Ivy instructions. In particular, each
|
|
23360
23575
|
// instruction type is represented as a function, which may select a specific instruction variant
|
|
23361
23576
|
// depending on the exact arguments.
|
|
@@ -23969,7 +24184,6 @@ function callVariadicInstruction(config, baseArgs, interpolationArgs, extraArgs,
|
|
|
23969
24184
|
return createStatementOp(callVariadicInstructionExpr(config, baseArgs, interpolationArgs, extraArgs, sourceSpan).toStmt());
|
|
23970
24185
|
}
|
|
23971
24186
|
|
|
23972
|
-
const ARIA_PREFIX = 'aria';
|
|
23973
24187
|
/**
|
|
23974
24188
|
* Map of target resolvers for event listeners.
|
|
23975
24189
|
*/
|
|
@@ -24348,33 +24562,6 @@ function reifyUpdateOperations(unit, ops) {
|
|
|
24348
24562
|
}
|
|
24349
24563
|
}
|
|
24350
24564
|
}
|
|
24351
|
-
/**
|
|
24352
|
-
* Converts an ARIA property name to its corresponding attribute name, if necessary.
|
|
24353
|
-
*
|
|
24354
|
-
* For example, converts `ariaLabel` to `aria-label`.
|
|
24355
|
-
*
|
|
24356
|
-
* https://www.w3.org/TR/wai-aria-1.2/#accessibilityroleandproperties-correspondence
|
|
24357
|
-
*
|
|
24358
|
-
* This must be kept in sync with the the function of the same name in
|
|
24359
|
-
* packages/core/src/render3/instructions/aria_property.ts.
|
|
24360
|
-
*
|
|
24361
|
-
* @param name A property name that starts with `aria`.
|
|
24362
|
-
* @returns The corresponding attribute name.
|
|
24363
|
-
*/
|
|
24364
|
-
function ariaAttrName(name) {
|
|
24365
|
-
return name.charAt(ARIA_PREFIX.length) !== '-'
|
|
24366
|
-
? ARIA_PREFIX + '-' + name.slice(ARIA_PREFIX.length).toLowerCase()
|
|
24367
|
-
: name; // Property already has attribute name.
|
|
24368
|
-
}
|
|
24369
|
-
/**
|
|
24370
|
-
* Returns whether `name` is an ARIA property (or attribute) name.
|
|
24371
|
-
*
|
|
24372
|
-
* This is a heuristic based on whether name begins with and is longer than `aria`. For example,
|
|
24373
|
-
* this returns true for both `ariaLabel` and `aria-label`.
|
|
24374
|
-
*/
|
|
24375
|
-
function isAriaProperty(name) {
|
|
24376
|
-
return name.startsWith(ARIA_PREFIX) && name.length > ARIA_PREFIX.length;
|
|
24377
|
-
}
|
|
24378
24565
|
/**
|
|
24379
24566
|
* Reifies a DOM property binding operation.
|
|
24380
24567
|
*
|
|
@@ -24385,9 +24572,7 @@ function isAriaProperty(name) {
|
|
|
24385
24572
|
* @returns A statement to update the property at runtime.
|
|
24386
24573
|
*/
|
|
24387
24574
|
function reifyDomProperty(op) {
|
|
24388
|
-
return
|
|
24389
|
-
? attribute(ariaAttrName(op.name), op.expression, null, null, op.sourceSpan)
|
|
24390
|
-
: domProperty(DOM_PROPERTY_REMAPPING.get(op.name) ?? op.name, op.expression, op.sanitizer, op.sourceSpan);
|
|
24575
|
+
return domProperty(DOM_PROPERTY_REMAPPING.get(op.name) ?? op.name, op.expression, op.sanitizer, op.sourceSpan);
|
|
24391
24576
|
}
|
|
24392
24577
|
/**
|
|
24393
24578
|
* Reifies a property binding operation.
|
|
@@ -24399,7 +24584,7 @@ function reifyDomProperty(op) {
|
|
|
24399
24584
|
* @returns A statement to update the property at runtime.
|
|
24400
24585
|
*/
|
|
24401
24586
|
function reifyProperty(op) {
|
|
24402
|
-
return
|
|
24587
|
+
return isAriaAttribute(op.name)
|
|
24403
24588
|
? ariaProperty(op.name, op.expression, op.sourceSpan)
|
|
24404
24589
|
: property(op.name, op.expression, op.sanitizer, op.sourceSpan);
|
|
24405
24590
|
}
|
|
@@ -26447,6 +26632,7 @@ function wrapI18nIcus(job) {
|
|
|
26447
26632
|
*/
|
|
26448
26633
|
const phases = [
|
|
26449
26634
|
{ kind: CompilationJobKind.Tmpl, fn: removeContentSelectors },
|
|
26635
|
+
{ kind: CompilationJobKind.Both, fn: optimizeRegularExpressions },
|
|
26450
26636
|
{ kind: CompilationJobKind.Host, fn: parseHostStyleProperties },
|
|
26451
26637
|
{ kind: CompilationJobKind.Tmpl, fn: emitNamespaceChanges },
|
|
26452
26638
|
{ kind: CompilationJobKind.Tmpl, fn: propagateI18nBlocks },
|
|
@@ -27293,6 +27479,9 @@ function convertAst(ast, job, baseSourceSpan) {
|
|
|
27293
27479
|
else if (ast instanceof ParenthesizedExpression) {
|
|
27294
27480
|
return new ParenthesizedExpr(convertAst(ast.expression, job, baseSourceSpan), undefined, convertSourceSpan(ast.span, baseSourceSpan));
|
|
27295
27481
|
}
|
|
27482
|
+
else if (ast instanceof RegularExpressionLiteral) {
|
|
27483
|
+
return new RegularExpressionLiteral$1(ast.body, ast.flags, baseSourceSpan);
|
|
27484
|
+
}
|
|
27296
27485
|
else {
|
|
27297
27486
|
throw new Error(`Unhandled expression type "${ast.constructor.name}" in file "${baseSourceSpan?.start.file.url}"`);
|
|
27298
27487
|
}
|
|
@@ -34261,7 +34450,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
|
|
|
34261
34450
|
function compileDeclareClassMetadata(metadata) {
|
|
34262
34451
|
const definitionMap = new DefinitionMap();
|
|
34263
34452
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
|
|
34264
|
-
definitionMap.set('version', literal('21.0.0-next.
|
|
34453
|
+
definitionMap.set('version', literal('21.0.0-next.5'));
|
|
34265
34454
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34266
34455
|
definitionMap.set('type', metadata.type);
|
|
34267
34456
|
definitionMap.set('decorators', metadata.decorators);
|
|
@@ -34279,7 +34468,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
|
|
|
34279
34468
|
callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? literal(null));
|
|
34280
34469
|
callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? literal(null));
|
|
34281
34470
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
|
|
34282
|
-
definitionMap.set('version', literal('21.0.0-next.
|
|
34471
|
+
definitionMap.set('version', literal('21.0.0-next.5'));
|
|
34283
34472
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34284
34473
|
definitionMap.set('type', metadata.type);
|
|
34285
34474
|
definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
|
|
@@ -34374,7 +34563,7 @@ function createDirectiveDefinitionMap(meta) {
|
|
|
34374
34563
|
const definitionMap = new DefinitionMap();
|
|
34375
34564
|
const minVersion = getMinimumVersionForPartialOutput(meta);
|
|
34376
34565
|
definitionMap.set('minVersion', literal(minVersion));
|
|
34377
|
-
definitionMap.set('version', literal('21.0.0-next.
|
|
34566
|
+
definitionMap.set('version', literal('21.0.0-next.5'));
|
|
34378
34567
|
// e.g. `type: MyDirective`
|
|
34379
34568
|
definitionMap.set('type', meta.type.value);
|
|
34380
34569
|
if (meta.isStandalone !== undefined) {
|
|
@@ -34790,7 +34979,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
|
|
|
34790
34979
|
function compileDeclareFactoryFunction(meta) {
|
|
34791
34980
|
const definitionMap = new DefinitionMap();
|
|
34792
34981
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
|
|
34793
|
-
definitionMap.set('version', literal('21.0.0-next.
|
|
34982
|
+
definitionMap.set('version', literal('21.0.0-next.5'));
|
|
34794
34983
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34795
34984
|
definitionMap.set('type', meta.type.value);
|
|
34796
34985
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
@@ -34825,7 +35014,7 @@ function compileDeclareInjectableFromMetadata(meta) {
|
|
|
34825
35014
|
function createInjectableDefinitionMap(meta) {
|
|
34826
35015
|
const definitionMap = new DefinitionMap();
|
|
34827
35016
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
|
|
34828
|
-
definitionMap.set('version', literal('21.0.0-next.
|
|
35017
|
+
definitionMap.set('version', literal('21.0.0-next.5'));
|
|
34829
35018
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34830
35019
|
definitionMap.set('type', meta.type.value);
|
|
34831
35020
|
// Only generate providedIn property if it has a non-null value
|
|
@@ -34876,7 +35065,7 @@ function compileDeclareInjectorFromMetadata(meta) {
|
|
|
34876
35065
|
function createInjectorDefinitionMap(meta) {
|
|
34877
35066
|
const definitionMap = new DefinitionMap();
|
|
34878
35067
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
|
|
34879
|
-
definitionMap.set('version', literal('21.0.0-next.
|
|
35068
|
+
definitionMap.set('version', literal('21.0.0-next.5'));
|
|
34880
35069
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34881
35070
|
definitionMap.set('type', meta.type.value);
|
|
34882
35071
|
definitionMap.set('providers', meta.providers);
|
|
@@ -34909,7 +35098,7 @@ function createNgModuleDefinitionMap(meta) {
|
|
|
34909
35098
|
throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
|
|
34910
35099
|
}
|
|
34911
35100
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
|
|
34912
|
-
definitionMap.set('version', literal('21.0.0-next.
|
|
35101
|
+
definitionMap.set('version', literal('21.0.0-next.5'));
|
|
34913
35102
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34914
35103
|
definitionMap.set('type', meta.type.value);
|
|
34915
35104
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
@@ -34960,7 +35149,7 @@ function compileDeclarePipeFromMetadata(meta) {
|
|
|
34960
35149
|
function createPipeDefinitionMap(meta) {
|
|
34961
35150
|
const definitionMap = new DefinitionMap();
|
|
34962
35151
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
34963
|
-
definitionMap.set('version', literal('21.0.0-next.
|
|
35152
|
+
definitionMap.set('version', literal('21.0.0-next.5'));
|
|
34964
35153
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
34965
35154
|
// e.g. `type: MyPipe`
|
|
34966
35155
|
definitionMap.set('type', meta.type.value);
|
|
@@ -35116,7 +35305,7 @@ function compileHmrUpdateCallback(definitions, constantStatements, meta) {
|
|
|
35116
35305
|
* @description
|
|
35117
35306
|
* Entry point for all public APIs of the compiler package.
|
|
35118
35307
|
*/
|
|
35119
|
-
const VERSION = new Version('21.0.0-next.
|
|
35308
|
+
const VERSION = new Version('21.0.0-next.5');
|
|
35120
35309
|
|
|
35121
35310
|
//////////////////////////////////////
|
|
35122
35311
|
// THIS FILE HAS GLOBAL SIDE EFFECT //
|
|
@@ -35142,5 +35331,5 @@ const VERSION = new Version('21.0.0-next.4');
|
|
|
35142
35331
|
// the late binding of the Compiler to the @angular/core for jit compilation.
|
|
35143
35332
|
publishFacade(_global);
|
|
35144
35333
|
|
|
35145
|
-
export { AST, ASTWithName, ASTWithSource, AbsoluteSourceSpan, ArrayType, ArrowFunctionExpr, Attribute, Binary, BinaryOperator, BinaryOperatorExpr, BindingPipe, BindingPipeType, BindingType, Block, BlockParameter, BoundElementProperty, BuiltinType, BuiltinTypeName, CUSTOM_ELEMENTS_SCHEMA, Call, Chain, ChangeDetectionStrategy, CombinedRecursiveAstVisitor, CommaExpr, Comment, CompilerConfig, CompilerFacadeImpl, Component, Conditional, ConditionalExpr, ConstantPool, CssSelector, DEFAULT_INTERPOLATION_CONFIG, DYNAMIC_TYPE, DeclareFunctionStmt, DeclareVarStmt, Directive, DomElementSchemaRegistry, DynamicImportExpr, EOF, Element, ElementSchemaRegistry, EmitterVisitorContext, EmptyExpr$1 as EmptyExpr, Expansion, ExpansionCase, Expression, ExpressionBinding, ExpressionStatement, ExpressionType, ExternalExpr, ExternalReference, FactoryTarget, FunctionExpr, HtmlParser, HtmlTagDefinition, I18NHtmlParser, IfStmt, ImplicitReceiver, InstantiateExpr, Interpolation$1 as Interpolation, InterpolationConfig, InvokeFunctionExpr, JSDocComment, JitEvaluator, KeyedRead, LeadingComment, LetDeclaration, Lexer, LiteralArray, LiteralArrayExpr, LiteralExpr, LiteralMap, LiteralMapExpr, LiteralPrimitive, LocalizedString, MapType, MessageBundle, NONE_TYPE, NO_ERRORS_SCHEMA, NodeWithI18n, NonNullAssert, NotExpr, ParenthesizedExpr, ParenthesizedExpression, ParseError, ParseErrorLevel, ParseLocation, ParseSourceFile, ParseSourceSpan, ParseSpan, ParseTreeResult, ParsedEvent, ParsedEventType, ParsedProperty, ParsedPropertyType, ParsedVariable, Parser, PrefixNot, PropertyRead, Identifiers as R3Identifiers, R3NgModuleMetadataKind, R3SelectorScopeMode, R3TargetBinder, R3TemplateDependencyKind, ReadKeyExpr, ReadPropExpr, ReadVarExpr, RecursiveAstVisitor, RecursiveVisitor, ResourceLoader, ReturnStatement, SCHEMA, SECURITY_SCHEMA, STRING_TYPE, SafeCall, SafeKeyedRead, SafePropertyRead, SelectorContext, SelectorListContext, SelectorMatcher, SelectorlessMatcher, Serializer, SplitInterpolation, Statement, StmtModifier, StringToken, StringTokenKind, TagContentType, TaggedTemplateLiteral, TaggedTemplateLiteralExpr, TemplateBindingParseResult, TemplateLiteral, TemplateLiteralElement, TemplateLiteralElementExpr, TemplateLiteralExpr, Text, ThisReceiver, BlockNode as TmplAstBlockNode, BoundAttribute as TmplAstBoundAttribute, BoundDeferredTrigger as TmplAstBoundDeferredTrigger, BoundEvent as TmplAstBoundEvent, BoundText as TmplAstBoundText, Component$1 as TmplAstComponent, Content as TmplAstContent, DeferredBlock as TmplAstDeferredBlock, DeferredBlockError as TmplAstDeferredBlockError, DeferredBlockLoading as TmplAstDeferredBlockLoading, DeferredBlockPlaceholder as TmplAstDeferredBlockPlaceholder, DeferredTrigger as TmplAstDeferredTrigger, Directive$1 as TmplAstDirective, Element$1 as TmplAstElement, ForLoopBlock as TmplAstForLoopBlock, ForLoopBlockEmpty as TmplAstForLoopBlockEmpty, HostElement as TmplAstHostElement, HoverDeferredTrigger as TmplAstHoverDeferredTrigger, Icu$1 as TmplAstIcu, IdleDeferredTrigger as TmplAstIdleDeferredTrigger, IfBlock as TmplAstIfBlock, IfBlockBranch as TmplAstIfBlockBranch, ImmediateDeferredTrigger as TmplAstImmediateDeferredTrigger, InteractionDeferredTrigger as TmplAstInteractionDeferredTrigger, LetDeclaration$1 as TmplAstLetDeclaration, NeverDeferredTrigger as TmplAstNeverDeferredTrigger, RecursiveVisitor$1 as TmplAstRecursiveVisitor, Reference as TmplAstReference, SwitchBlock as TmplAstSwitchBlock, SwitchBlockCase as TmplAstSwitchBlockCase, Template as TmplAstTemplate, Text$3 as TmplAstText, TextAttribute as TmplAstTextAttribute, TimerDeferredTrigger as TmplAstTimerDeferredTrigger, UnknownBlock as TmplAstUnknownBlock, Variable as TmplAstVariable, ViewportDeferredTrigger as TmplAstViewportDeferredTrigger, Token, TokenType, TransplantedType, TreeError, Type, TypeModifier, TypeofExpr, TypeofExpression, Unary, UnaryOperator, UnaryOperatorExpr, VERSION, VariableBinding, Version, ViewEncapsulation$1 as ViewEncapsulation, VoidExpr, VoidExpression, WrappedNodeExpr, Xliff, Xliff2, Xmb, XmlParser, Xtb, _ATTR_TO_PROP, compileClassDebugInfo, compileClassMetadata, compileComponentClassMetadata, compileComponentDeclareClassMetadata, compileComponentFromMetadata, compileDeclareClassMetadata, compileDeclareComponentFromMetadata, compileDeclareDirectiveFromMetadata, compileDeclareFactoryFunction, compileDeclareInjectableFromMetadata, compileDeclareInjectorFromMetadata, compileDeclareNgModuleFromMetadata, compileDeclarePipeFromMetadata, compileDeferResolverFunction, compileDirectiveFromMetadata, compileFactoryFunction, compileHmrInitializer, compileHmrUpdateCallback, compileInjectable, compileInjector, compileNgModule, compileOpaqueAsyncClassMetadata, compilePipeFromMetadata, computeMsgId, core, createCssSelectorFromNode, createInjectableType, createMayBeForwardRefExpression, devOnlyGuardedExpression, emitDistinctChangesOnlyDefaultValue, encapsulateStyle, escapeRegExp, findMatchingDirectivesAndPipes, getHtmlTagDefinition, getNsPrefix, getSafePropertyAccessString, identifierName, isNgContainer, isNgContent, isNgTemplate, jsDocComment, leadingComment, literal, literalMap, makeBindingParser, mergeNsAndName, output_ast as outputAst, parseHostBindings, parseTemplate, preserveWhitespacesDefault, publishFacade, r3JitTypeSourceSpan, sanitizeIdentifier, setEnableTemplateSourceLocations, splitNsName, visitAll$1 as tmplAstVisitAll, verifyHostBindings, visitAll };
|
|
35334
|
+
export { AST, ASTWithName, ASTWithSource, AbsoluteSourceSpan, ArrayType, ArrowFunctionExpr, Attribute, Binary, BinaryOperator, BinaryOperatorExpr, BindingPipe, BindingPipeType, BindingType, Block, BlockParameter, BoundElementProperty, BuiltinType, BuiltinTypeName, CUSTOM_ELEMENTS_SCHEMA, Call, Chain, ChangeDetectionStrategy, CombinedRecursiveAstVisitor, CommaExpr, Comment, CompilerConfig, CompilerFacadeImpl, Component, Conditional, ConditionalExpr, ConstantPool, CssSelector, DEFAULT_INTERPOLATION_CONFIG, DYNAMIC_TYPE, DeclareFunctionStmt, DeclareVarStmt, Directive, DomElementSchemaRegistry, DynamicImportExpr, EOF, Element, ElementSchemaRegistry, EmitterVisitorContext, EmptyExpr$1 as EmptyExpr, Expansion, ExpansionCase, Expression, ExpressionBinding, ExpressionStatement, ExpressionType, ExternalExpr, ExternalReference, FactoryTarget, FunctionExpr, HtmlParser, HtmlTagDefinition, I18NHtmlParser, IfStmt, ImplicitReceiver, InstantiateExpr, Interpolation$1 as Interpolation, InterpolationConfig, InvokeFunctionExpr, JSDocComment, JitEvaluator, KeyedRead, LeadingComment, LetDeclaration, Lexer, LiteralArray, LiteralArrayExpr, LiteralExpr, LiteralMap, LiteralMapExpr, LiteralPrimitive, LocalizedString, MapType, MessageBundle, NONE_TYPE, NO_ERRORS_SCHEMA, NodeWithI18n, NonNullAssert, NotExpr, ParenthesizedExpr, ParenthesizedExpression, ParseError, ParseErrorLevel, ParseLocation, ParseSourceFile, ParseSourceSpan, ParseSpan, ParseTreeResult, ParsedEvent, ParsedEventType, ParsedProperty, ParsedPropertyType, ParsedVariable, Parser, PrefixNot, PropertyRead, Identifiers as R3Identifiers, R3NgModuleMetadataKind, R3SelectorScopeMode, R3TargetBinder, R3TemplateDependencyKind, ReadKeyExpr, ReadPropExpr, ReadVarExpr, RecursiveAstVisitor, RecursiveVisitor, RegularExpressionLiteral, ResourceLoader, ReturnStatement, SCHEMA, SECURITY_SCHEMA, STRING_TYPE, SafeCall, SafeKeyedRead, SafePropertyRead, SelectorContext, SelectorListContext, SelectorMatcher, SelectorlessMatcher, Serializer, SplitInterpolation, Statement, StmtModifier, StringToken, StringTokenKind, TagContentType, TaggedTemplateLiteral, TaggedTemplateLiteralExpr, TemplateBindingParseResult, TemplateLiteral, TemplateLiteralElement, TemplateLiteralElementExpr, TemplateLiteralExpr, Text, ThisReceiver, BlockNode as TmplAstBlockNode, BoundAttribute as TmplAstBoundAttribute, BoundDeferredTrigger as TmplAstBoundDeferredTrigger, BoundEvent as TmplAstBoundEvent, BoundText as TmplAstBoundText, Component$1 as TmplAstComponent, Content as TmplAstContent, DeferredBlock as TmplAstDeferredBlock, DeferredBlockError as TmplAstDeferredBlockError, DeferredBlockLoading as TmplAstDeferredBlockLoading, DeferredBlockPlaceholder as TmplAstDeferredBlockPlaceholder, DeferredTrigger as TmplAstDeferredTrigger, Directive$1 as TmplAstDirective, Element$1 as TmplAstElement, ForLoopBlock as TmplAstForLoopBlock, ForLoopBlockEmpty as TmplAstForLoopBlockEmpty, HostElement as TmplAstHostElement, HoverDeferredTrigger as TmplAstHoverDeferredTrigger, Icu$1 as TmplAstIcu, IdleDeferredTrigger as TmplAstIdleDeferredTrigger, IfBlock as TmplAstIfBlock, IfBlockBranch as TmplAstIfBlockBranch, ImmediateDeferredTrigger as TmplAstImmediateDeferredTrigger, InteractionDeferredTrigger as TmplAstInteractionDeferredTrigger, LetDeclaration$1 as TmplAstLetDeclaration, NeverDeferredTrigger as TmplAstNeverDeferredTrigger, RecursiveVisitor$1 as TmplAstRecursiveVisitor, Reference as TmplAstReference, SwitchBlock as TmplAstSwitchBlock, SwitchBlockCase as TmplAstSwitchBlockCase, Template as TmplAstTemplate, Text$3 as TmplAstText, TextAttribute as TmplAstTextAttribute, TimerDeferredTrigger as TmplAstTimerDeferredTrigger, UnknownBlock as TmplAstUnknownBlock, Variable as TmplAstVariable, ViewportDeferredTrigger as TmplAstViewportDeferredTrigger, Token, TokenType, TransplantedType, TreeError, Type, TypeModifier, TypeofExpr, TypeofExpression, Unary, UnaryOperator, UnaryOperatorExpr, VERSION, VariableBinding, Version, ViewEncapsulation$1 as ViewEncapsulation, VoidExpr, VoidExpression, WrappedNodeExpr, Xliff, Xliff2, Xmb, XmlParser, Xtb, _ATTR_TO_PROP, compileClassDebugInfo, compileClassMetadata, compileComponentClassMetadata, compileComponentDeclareClassMetadata, compileComponentFromMetadata, compileDeclareClassMetadata, compileDeclareComponentFromMetadata, compileDeclareDirectiveFromMetadata, compileDeclareFactoryFunction, compileDeclareInjectableFromMetadata, compileDeclareInjectorFromMetadata, compileDeclareNgModuleFromMetadata, compileDeclarePipeFromMetadata, compileDeferResolverFunction, compileDirectiveFromMetadata, compileFactoryFunction, compileHmrInitializer, compileHmrUpdateCallback, compileInjectable, compileInjector, compileNgModule, compileOpaqueAsyncClassMetadata, compilePipeFromMetadata, computeMsgId, core, createCssSelectorFromNode, createInjectableType, createMayBeForwardRefExpression, devOnlyGuardedExpression, emitDistinctChangesOnlyDefaultValue, encapsulateStyle, escapeRegExp, findMatchingDirectivesAndPipes, getHtmlTagDefinition, getNsPrefix, getSafePropertyAccessString, identifierName, isNgContainer, isNgContent, isNgTemplate, jsDocComment, leadingComment, literal, literalMap, makeBindingParser, mergeNsAndName, output_ast as outputAst, parseHostBindings, parseTemplate, preserveWhitespacesDefault, publishFacade, r3JitTypeSourceSpan, sanitizeIdentifier, setEnableTemplateSourceLocations, splitNsName, visitAll$1 as tmplAstVisitAll, verifyHostBindings, visitAll };
|
|
35146
35335
|
//# sourceMappingURL=compiler.mjs.map
|