@angular/compiler 14.0.0-next.1 → 14.0.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/compiler_facade_interface.mjs +1 -1
- package/esm2020/src/expression_parser/parser.mjs +34 -15
- package/esm2020/src/jit_compiler_facade.mjs +4 -1
- package/esm2020/src/output/output_ast.mjs +1 -1
- package/esm2020/src/render3/partial/api.mjs +1 -1
- package/esm2020/src/render3/partial/class_metadata.mjs +1 -1
- package/esm2020/src/render3/partial/directive.mjs +1 -1
- package/esm2020/src/render3/partial/factory.mjs +1 -1
- package/esm2020/src/render3/partial/injectable.mjs +1 -1
- package/esm2020/src/render3/partial/injector.mjs +1 -1
- package/esm2020/src/render3/partial/ng_module.mjs +1 -1
- package/esm2020/src/render3/partial/pipe.mjs +1 -1
- package/esm2020/src/render3/r3_pipe_compiler.mjs +1 -1
- package/esm2020/src/render3/r3_template_transform.mjs +4 -4
- package/esm2020/src/render3/view/api.mjs +1 -1
- package/esm2020/src/render3/view/i18n/get_msg_utils.mjs +2 -5
- package/esm2020/src/render3/view/i18n/meta.mjs +11 -6
- package/esm2020/src/template_parser/binding_parser.mjs +11 -11
- package/esm2020/src/version.mjs +1 -1
- package/fesm2015/compiler.mjs +71 -47
- package/fesm2015/compiler.mjs.map +1 -1
- package/fesm2015/testing.mjs +1 -1
- package/fesm2020/compiler.mjs +69 -45
- package/fesm2020/compiler.mjs.map +1 -1
- package/fesm2020/testing.mjs +1 -1
- package/package.json +1 -1
- package/src/compiler_facade_interface.d.ts +4 -0
- package/src/expression_parser/parser.d.ts +19 -3
- package/src/output/output_ast.d.ts +2 -1
- package/src/render3/partial/api.d.ts +10 -0
- package/src/render3/r3_pipe_compiler.d.ts +4 -0
- package/src/render3/view/api.d.ts +4 -0
- package/src/render3/view/i18n/meta.d.ts +1 -1
- package/src/template_parser/binding_parser.d.ts +1 -1
package/fesm2015/testing.mjs
CHANGED
package/fesm2020/compiler.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v14.0.0-next.
|
|
2
|
+
* @license Angular v14.0.0-next.2
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -9348,11 +9348,15 @@ class Parser$1 {
|
|
|
9348
9348
|
this._lexer = _lexer;
|
|
9349
9349
|
this.errors = [];
|
|
9350
9350
|
}
|
|
9351
|
-
parseAction(input, location, absoluteOffset, interpolationConfig = DEFAULT_INTERPOLATION_CONFIG) {
|
|
9351
|
+
parseAction(input, isAssignmentEvent, location, absoluteOffset, interpolationConfig = DEFAULT_INTERPOLATION_CONFIG) {
|
|
9352
9352
|
this._checkNoInterpolation(input, location, interpolationConfig);
|
|
9353
9353
|
const sourceToLex = this._stripComments(input);
|
|
9354
9354
|
const tokens = this._lexer.tokenize(sourceToLex);
|
|
9355
|
-
|
|
9355
|
+
let flags = 1 /* Action */;
|
|
9356
|
+
if (isAssignmentEvent) {
|
|
9357
|
+
flags |= 2 /* AssignmentEvent */;
|
|
9358
|
+
}
|
|
9359
|
+
const ast = new _ParseAST(input, location, absoluteOffset, tokens, flags, this.errors, 0).parseChain();
|
|
9356
9360
|
return new ASTWithSource(ast, input, location, absoluteOffset, this.errors);
|
|
9357
9361
|
}
|
|
9358
9362
|
parseBinding(input, location, absoluteOffset, interpolationConfig = DEFAULT_INTERPOLATION_CONFIG) {
|
|
@@ -9379,7 +9383,7 @@ class Parser$1 {
|
|
|
9379
9383
|
this._checkNoInterpolation(input, location, interpolationConfig);
|
|
9380
9384
|
const sourceToLex = this._stripComments(input);
|
|
9381
9385
|
const tokens = this._lexer.tokenize(sourceToLex);
|
|
9382
|
-
return new _ParseAST(input, location, absoluteOffset, tokens,
|
|
9386
|
+
return new _ParseAST(input, location, absoluteOffset, tokens, 0 /* None */, this.errors, 0)
|
|
9383
9387
|
.parseChain();
|
|
9384
9388
|
}
|
|
9385
9389
|
/**
|
|
@@ -9410,7 +9414,7 @@ class Parser$1 {
|
|
|
9410
9414
|
*/
|
|
9411
9415
|
parseTemplateBindings(templateKey, templateValue, templateUrl, absoluteKeyOffset, absoluteValueOffset) {
|
|
9412
9416
|
const tokens = this._lexer.tokenize(templateValue);
|
|
9413
|
-
const parser = new _ParseAST(templateValue, templateUrl, absoluteValueOffset, tokens,
|
|
9417
|
+
const parser = new _ParseAST(templateValue, templateUrl, absoluteValueOffset, tokens, 0 /* None */, this.errors, 0 /* relative offset */);
|
|
9414
9418
|
return parser.parseTemplateBindings({
|
|
9415
9419
|
source: templateKey,
|
|
9416
9420
|
span: new AbsoluteSourceSpan(absoluteKeyOffset, absoluteKeyOffset + templateKey.length),
|
|
@@ -9425,7 +9429,7 @@ class Parser$1 {
|
|
|
9425
9429
|
const expressionText = expressions[i].text;
|
|
9426
9430
|
const sourceToLex = this._stripComments(expressionText);
|
|
9427
9431
|
const tokens = this._lexer.tokenize(sourceToLex);
|
|
9428
|
-
const ast = new _ParseAST(input, location, absoluteOffset, tokens,
|
|
9432
|
+
const ast = new _ParseAST(input, location, absoluteOffset, tokens, 0 /* None */, this.errors, offsets[i])
|
|
9429
9433
|
.parseChain();
|
|
9430
9434
|
expressionNodes.push(ast);
|
|
9431
9435
|
}
|
|
@@ -9439,8 +9443,7 @@ class Parser$1 {
|
|
|
9439
9443
|
parseInterpolationExpression(expression, location, absoluteOffset) {
|
|
9440
9444
|
const sourceToLex = this._stripComments(expression);
|
|
9441
9445
|
const tokens = this._lexer.tokenize(sourceToLex);
|
|
9442
|
-
const ast = new _ParseAST(expression, location, absoluteOffset, tokens,
|
|
9443
|
-
/* parseAction */ false, this.errors, 0)
|
|
9446
|
+
const ast = new _ParseAST(expression, location, absoluteOffset, tokens, 0 /* None */, this.errors, 0)
|
|
9444
9447
|
.parseChain();
|
|
9445
9448
|
const strings = ['', '']; // The prefix and suffix strings are both empty
|
|
9446
9449
|
return this.createInterpolationAst(strings, [ast], expression, location, absoluteOffset);
|
|
@@ -9611,12 +9614,12 @@ var ParseContextFlags;
|
|
|
9611
9614
|
ParseContextFlags[ParseContextFlags["Writable"] = 1] = "Writable";
|
|
9612
9615
|
})(ParseContextFlags || (ParseContextFlags = {}));
|
|
9613
9616
|
class _ParseAST {
|
|
9614
|
-
constructor(input, location, absoluteOffset, tokens,
|
|
9617
|
+
constructor(input, location, absoluteOffset, tokens, parseFlags, errors, offset) {
|
|
9615
9618
|
this.input = input;
|
|
9616
9619
|
this.location = location;
|
|
9617
9620
|
this.absoluteOffset = absoluteOffset;
|
|
9618
9621
|
this.tokens = tokens;
|
|
9619
|
-
this.
|
|
9622
|
+
this.parseFlags = parseFlags;
|
|
9620
9623
|
this.errors = errors;
|
|
9621
9624
|
this.offset = offset;
|
|
9622
9625
|
this.rparensExpected = 0;
|
|
@@ -9793,7 +9796,7 @@ class _ParseAST {
|
|
|
9793
9796
|
const expr = this.parsePipe();
|
|
9794
9797
|
exprs.push(expr);
|
|
9795
9798
|
if (this.consumeOptionalCharacter($SEMICOLON)) {
|
|
9796
|
-
if (!this.
|
|
9799
|
+
if (!(this.parseFlags & 1 /* Action */)) {
|
|
9797
9800
|
this.error('Binding expression cannot contain chained expression');
|
|
9798
9801
|
}
|
|
9799
9802
|
while (this.consumeOptionalCharacter($SEMICOLON)) {
|
|
@@ -9817,7 +9820,7 @@ class _ParseAST {
|
|
|
9817
9820
|
const start = this.inputIndex;
|
|
9818
9821
|
let result = this.parseExpression();
|
|
9819
9822
|
if (this.consumeOptionalOperator('|')) {
|
|
9820
|
-
if (this.
|
|
9823
|
+
if (this.parseFlags & 1 /* Action */) {
|
|
9821
9824
|
this.error('Cannot have a pipe in an action expression');
|
|
9822
9825
|
}
|
|
9823
9826
|
do {
|
|
@@ -10159,7 +10162,7 @@ class _ParseAST {
|
|
|
10159
10162
|
const nameSpan = this.sourceSpan(nameStart);
|
|
10160
10163
|
let receiver;
|
|
10161
10164
|
if (isSafe) {
|
|
10162
|
-
if (this.
|
|
10165
|
+
if (this.consumeOptionalAssignment()) {
|
|
10163
10166
|
this.error('The \'?.\' operator cannot be used in the assignment');
|
|
10164
10167
|
receiver = new EmptyExpr(this.span(start), this.sourceSpan(start));
|
|
10165
10168
|
}
|
|
@@ -10168,8 +10171,8 @@ class _ParseAST {
|
|
|
10168
10171
|
}
|
|
10169
10172
|
}
|
|
10170
10173
|
else {
|
|
10171
|
-
if (this.
|
|
10172
|
-
if (!this.
|
|
10174
|
+
if (this.consumeOptionalAssignment()) {
|
|
10175
|
+
if (!(this.parseFlags & 1 /* Action */)) {
|
|
10173
10176
|
this.error('Bindings cannot contain assignments');
|
|
10174
10177
|
return new EmptyExpr(this.span(start), this.sourceSpan(start));
|
|
10175
10178
|
}
|
|
@@ -10195,6 +10198,22 @@ class _ParseAST {
|
|
|
10195
10198
|
return isSafe ? new SafeCall(span, sourceSpan, receiver, args, argumentSpan) :
|
|
10196
10199
|
new Call(span, sourceSpan, receiver, args, argumentSpan);
|
|
10197
10200
|
}
|
|
10201
|
+
consumeOptionalAssignment() {
|
|
10202
|
+
// When parsing assignment events (originating from two-way-binding aka banana-in-a-box syntax),
|
|
10203
|
+
// it is valid for the primary expression to be terminated by the non-null operator. This
|
|
10204
|
+
// primary expression is substituted as LHS of the assignment operator to achieve
|
|
10205
|
+
// two-way-binding, such that the LHS could be the non-null operator. The grammar doesn't
|
|
10206
|
+
// naturally allow for this syntax, so assignment events are parsed specially.
|
|
10207
|
+
if ((this.parseFlags & 2 /* AssignmentEvent */) && this.next.isOperator('!') &&
|
|
10208
|
+
this.peek(1).isOperator('=')) {
|
|
10209
|
+
// First skip over the ! operator.
|
|
10210
|
+
this.advance();
|
|
10211
|
+
// Then skip over the = operator, to fully consume the optional assignment operator.
|
|
10212
|
+
this.advance();
|
|
10213
|
+
return true;
|
|
10214
|
+
}
|
|
10215
|
+
return this.consumeOptionalOperator('=');
|
|
10216
|
+
}
|
|
10198
10217
|
parseCallArguments() {
|
|
10199
10218
|
if (this.next.isCharacter($RPAREN))
|
|
10200
10219
|
return [];
|
|
@@ -14884,7 +14903,7 @@ class BindingParser {
|
|
|
14884
14903
|
// Regardless, neither of these values are used in Ivy but are only here to satisfy the
|
|
14885
14904
|
// function signature. This should likely be refactored in the future so that `sourceSpan`
|
|
14886
14905
|
// isn't being used inaccurately.
|
|
14887
|
-
this.parseEvent(propName, expression, sourceSpan, sourceSpan, [], targetEvents, sourceSpan);
|
|
14906
|
+
this.parseEvent(propName, expression, /* isAssignmentEvent */ false, sourceSpan, sourceSpan, [], targetEvents, sourceSpan);
|
|
14888
14907
|
}
|
|
14889
14908
|
else {
|
|
14890
14909
|
this._reportError(`Value of the host listener "${propName}" needs to be a string representing an expression but got "${expression}" (${typeof expression})`, sourceSpan);
|
|
@@ -15121,7 +15140,7 @@ class BindingParser {
|
|
|
15121
15140
|
return new BoundElementProperty(boundPropertyName, bindingType, securityContexts[0], boundProp.expression, unit, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);
|
|
15122
15141
|
}
|
|
15123
15142
|
// TODO: keySpan should be required but was made optional to avoid changing VE parser.
|
|
15124
|
-
parseEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan) {
|
|
15143
|
+
parseEvent(name, expression, isAssignmentEvent, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan) {
|
|
15125
15144
|
if (name.length === 0) {
|
|
15126
15145
|
this._reportError(`Event name is missing in binding`, sourceSpan);
|
|
15127
15146
|
}
|
|
@@ -15130,21 +15149,21 @@ class BindingParser {
|
|
|
15130
15149
|
if (keySpan !== undefined) {
|
|
15131
15150
|
keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + 1, keySpan.end.offset));
|
|
15132
15151
|
}
|
|
15133
|
-
this._parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents, keySpan);
|
|
15152
|
+
this._parseAnimationEvent(name, expression, isAssignmentEvent, sourceSpan, handlerSpan, targetEvents, keySpan);
|
|
15134
15153
|
}
|
|
15135
15154
|
else {
|
|
15136
|
-
this._parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan);
|
|
15155
|
+
this._parseRegularEvent(name, expression, isAssignmentEvent, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan);
|
|
15137
15156
|
}
|
|
15138
15157
|
}
|
|
15139
15158
|
calcPossibleSecurityContexts(selector, propName, isAttribute) {
|
|
15140
15159
|
const prop = this._schemaRegistry.getMappedPropName(propName);
|
|
15141
15160
|
return calcPossibleSecurityContexts(this._schemaRegistry, selector, prop, isAttribute);
|
|
15142
15161
|
}
|
|
15143
|
-
_parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents, keySpan) {
|
|
15162
|
+
_parseAnimationEvent(name, expression, isAssignmentEvent, sourceSpan, handlerSpan, targetEvents, keySpan) {
|
|
15144
15163
|
const matches = splitAtPeriod(name, [name, '']);
|
|
15145
15164
|
const eventName = matches[0];
|
|
15146
15165
|
const phase = matches[1].toLowerCase();
|
|
15147
|
-
const ast = this._parseAction(expression, handlerSpan);
|
|
15166
|
+
const ast = this._parseAction(expression, isAssignmentEvent, handlerSpan);
|
|
15148
15167
|
targetEvents.push(new ParsedEvent(eventName, phase, 1 /* Animation */, ast, sourceSpan, handlerSpan, keySpan));
|
|
15149
15168
|
if (eventName.length === 0) {
|
|
15150
15169
|
this._reportError(`Animation event name is missing in binding`, sourceSpan);
|
|
@@ -15158,20 +15177,20 @@ class BindingParser {
|
|
|
15158
15177
|
this._reportError(`The animation trigger output event (@${eventName}) is missing its phase value name (start or done are currently supported)`, sourceSpan);
|
|
15159
15178
|
}
|
|
15160
15179
|
}
|
|
15161
|
-
_parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan) {
|
|
15180
|
+
_parseRegularEvent(name, expression, isAssignmentEvent, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan) {
|
|
15162
15181
|
// long format: 'target: eventName'
|
|
15163
15182
|
const [target, eventName] = splitAtColon(name, [null, name]);
|
|
15164
|
-
const ast = this._parseAction(expression, handlerSpan);
|
|
15183
|
+
const ast = this._parseAction(expression, isAssignmentEvent, handlerSpan);
|
|
15165
15184
|
targetMatchableAttrs.push([name, ast.source]);
|
|
15166
15185
|
targetEvents.push(new ParsedEvent(eventName, target, 0 /* Regular */, ast, sourceSpan, handlerSpan, keySpan));
|
|
15167
15186
|
// Don't detect directives for event names for now,
|
|
15168
15187
|
// so don't add the event name to the matchableAttrs
|
|
15169
15188
|
}
|
|
15170
|
-
_parseAction(value, sourceSpan) {
|
|
15189
|
+
_parseAction(value, isAssignmentEvent, sourceSpan) {
|
|
15171
15190
|
const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown').toString();
|
|
15172
15191
|
const absoluteOffset = (sourceSpan && sourceSpan.start) ? sourceSpan.start.offset : 0;
|
|
15173
15192
|
try {
|
|
15174
|
-
const ast = this._exprParser.parseAction(value, sourceInfo, absoluteOffset, this._interpolationConfig);
|
|
15193
|
+
const ast = this._exprParser.parseAction(value, isAssignmentEvent, sourceInfo, absoluteOffset, this._interpolationConfig);
|
|
15175
15194
|
if (ast) {
|
|
15176
15195
|
this._reportExpressionParserErrors(ast.errors, sourceSpan);
|
|
15177
15196
|
}
|
|
@@ -15633,7 +15652,7 @@ class HtmlAstToIvyAst {
|
|
|
15633
15652
|
const events = [];
|
|
15634
15653
|
const identifier = bindParts[IDENT_KW_IDX];
|
|
15635
15654
|
const keySpan = createKeySpan(srcSpan, bindParts[KW_ON_IDX], identifier);
|
|
15636
|
-
this.bindingParser.parseEvent(identifier, value, srcSpan, attribute.valueSpan || srcSpan, matchableAttributes, events, keySpan);
|
|
15655
|
+
this.bindingParser.parseEvent(identifier, value, /* isAssignmentEvent */ false, srcSpan, attribute.valueSpan || srcSpan, matchableAttributes, events, keySpan);
|
|
15637
15656
|
addEvents(events, boundEvents);
|
|
15638
15657
|
}
|
|
15639
15658
|
else if (bindParts[KW_BINDON_IDX]) {
|
|
@@ -15677,7 +15696,7 @@ class HtmlAstToIvyAst {
|
|
|
15677
15696
|
}
|
|
15678
15697
|
else {
|
|
15679
15698
|
const events = [];
|
|
15680
|
-
this.bindingParser.parseEvent(identifier, value, srcSpan, attribute.valueSpan || srcSpan, matchableAttributes, events, keySpan);
|
|
15699
|
+
this.bindingParser.parseEvent(identifier, value, /* isAssignmentEvent */ false, srcSpan, attribute.valueSpan || srcSpan, matchableAttributes, events, keySpan);
|
|
15681
15700
|
addEvents(events, boundEvents);
|
|
15682
15701
|
}
|
|
15683
15702
|
return true;
|
|
@@ -15715,7 +15734,7 @@ class HtmlAstToIvyAst {
|
|
|
15715
15734
|
}
|
|
15716
15735
|
parseAssignmentEvent(name, expression, sourceSpan, valueSpan, targetMatchableAttrs, boundEvents, keySpan) {
|
|
15717
15736
|
const events = [];
|
|
15718
|
-
this.bindingParser.parseEvent(`${name}Change`, `${expression}=$event`, sourceSpan, valueSpan || sourceSpan, targetMatchableAttrs, events, keySpan);
|
|
15737
|
+
this.bindingParser.parseEvent(`${name}Change`, `${expression} =$event`, /* isAssignmentEvent */ true, sourceSpan, valueSpan || sourceSpan, targetMatchableAttrs, events, keySpan);
|
|
15719
15738
|
addEvents(events, boundEvents);
|
|
15720
15739
|
}
|
|
15721
15740
|
reportError(message, sourceSpan, level = ParseErrorLevel.ERROR) {
|
|
@@ -16503,7 +16522,8 @@ class I18nMetaVisitor {
|
|
|
16503
16522
|
*/
|
|
16504
16523
|
_parseMetadata(meta) {
|
|
16505
16524
|
return typeof meta === 'string' ? parseI18nMeta(meta) :
|
|
16506
|
-
meta instanceof Message ? meta :
|
|
16525
|
+
meta instanceof Message ? meta :
|
|
16526
|
+
{};
|
|
16507
16527
|
}
|
|
16508
16528
|
/**
|
|
16509
16529
|
* Generate (or restore) message id if not specified already.
|
|
@@ -16528,9 +16548,9 @@ class I18nMetaVisitor {
|
|
|
16528
16548
|
// `packages/compiler/src/render3/view/template.ts`).
|
|
16529
16549
|
// In that case we want to reuse the legacy message generated in the 1st pass (see
|
|
16530
16550
|
// `setI18nRefs()`).
|
|
16531
|
-
const previousMessage = meta instanceof Message ?
|
|
16532
|
-
meta :
|
|
16533
|
-
|
|
16551
|
+
const previousMessage = meta instanceof Message ? meta :
|
|
16552
|
+
meta instanceof IcuPlaceholder ? meta.previousMessage :
|
|
16553
|
+
undefined;
|
|
16534
16554
|
message.legacyIds = previousMessage ? previousMessage.legacyIds : [];
|
|
16535
16555
|
}
|
|
16536
16556
|
}
|
|
@@ -16575,10 +16595,14 @@ function i18nMetaToJSDoc(meta) {
|
|
|
16575
16595
|
if (meta.description) {
|
|
16576
16596
|
tags.push({ tagName: "desc" /* Desc */, text: meta.description });
|
|
16577
16597
|
}
|
|
16598
|
+
else {
|
|
16599
|
+
// Suppress the JSCompiler warning that a `@desc` was not given for this message.
|
|
16600
|
+
tags.push({ tagName: "suppress" /* Suppress */, text: '{msgDescriptions}' });
|
|
16601
|
+
}
|
|
16578
16602
|
if (meta.meaning) {
|
|
16579
16603
|
tags.push({ tagName: "meaning" /* Meaning */, text: meta.meaning });
|
|
16580
16604
|
}
|
|
16581
|
-
return
|
|
16605
|
+
return jsDocComment(tags);
|
|
16582
16606
|
}
|
|
16583
16607
|
|
|
16584
16608
|
/** Closure uses `goog.getMsg(message)` to lookup translations */
|
|
@@ -16596,10 +16620,7 @@ function createGoogleGetMsgStatements(variable$1, message, closureVar, params) {
|
|
|
16596
16620
|
// const MSG_... = goog.getMsg(..);
|
|
16597
16621
|
// I18N_X = MSG_...;
|
|
16598
16622
|
const googGetMsgStmt = closureVar.set(variable(GOOG_GET_MSG).callFn(args)).toConstDecl();
|
|
16599
|
-
|
|
16600
|
-
if (metaComment !== null) {
|
|
16601
|
-
googGetMsgStmt.addLeadingComment(metaComment);
|
|
16602
|
-
}
|
|
16623
|
+
googGetMsgStmt.addLeadingComment(i18nMetaToJSDoc(message));
|
|
16603
16624
|
const i18nAssignmentStmt = new ExpressionStatement(variable$1.set(closureVar));
|
|
16604
16625
|
return [googGetMsgStmt, i18nAssignmentStmt];
|
|
16605
16626
|
}
|
|
@@ -19150,6 +19171,7 @@ class CompilerFacadeImpl {
|
|
|
19150
19171
|
deps: null,
|
|
19151
19172
|
pipeName: facade.pipeName,
|
|
19152
19173
|
pure: facade.pure,
|
|
19174
|
+
isStandalone: facade.isStandalone,
|
|
19153
19175
|
};
|
|
19154
19176
|
const res = compilePipeFromMetadata(metadata);
|
|
19155
19177
|
return this.jitExpression(res.expression, angularCoreEnv, sourceMapUrl, []);
|
|
@@ -19410,6 +19432,7 @@ function convertDeclareDirectiveFacadeToMetadata(declaration, typeSourceSpan) {
|
|
|
19410
19432
|
deps: null,
|
|
19411
19433
|
typeArgumentCount: 0,
|
|
19412
19434
|
fullInheritance: false,
|
|
19435
|
+
isStandalone: declaration.isStandalone ?? false,
|
|
19413
19436
|
};
|
|
19414
19437
|
}
|
|
19415
19438
|
function convertHostDeclarationToMetadata(host = {}) {
|
|
@@ -19591,6 +19614,7 @@ function convertDeclarePipeFacadeToMetadata(declaration) {
|
|
|
19591
19614
|
pipeName: declaration.name,
|
|
19592
19615
|
deps: null,
|
|
19593
19616
|
pure: declaration.pure ?? true,
|
|
19617
|
+
isStandalone: declaration.isStandalone ?? false,
|
|
19594
19618
|
};
|
|
19595
19619
|
}
|
|
19596
19620
|
function convertDeclareInjectorFacadeToMetadata(declaration) {
|
|
@@ -19617,7 +19641,7 @@ function publishFacade(global) {
|
|
|
19617
19641
|
* Use of this source code is governed by an MIT-style license that can be
|
|
19618
19642
|
* found in the LICENSE file at https://angular.io/license
|
|
19619
19643
|
*/
|
|
19620
|
-
const VERSION = new Version('14.0.0-next.
|
|
19644
|
+
const VERSION = new Version('14.0.0-next.2');
|
|
19621
19645
|
|
|
19622
19646
|
/**
|
|
19623
19647
|
* @license
|
|
@@ -21658,7 +21682,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$6 = '12.0.0';
|
|
|
21658
21682
|
function compileDeclareClassMetadata(metadata) {
|
|
21659
21683
|
const definitionMap = new DefinitionMap();
|
|
21660
21684
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$6));
|
|
21661
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
21685
|
+
definitionMap.set('version', literal('14.0.0-next.2'));
|
|
21662
21686
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
21663
21687
|
definitionMap.set('type', metadata.type);
|
|
21664
21688
|
definitionMap.set('decorators', metadata.decorators);
|
|
@@ -21775,7 +21799,7 @@ function compileDeclareDirectiveFromMetadata(meta) {
|
|
|
21775
21799
|
function createDirectiveDefinitionMap(meta) {
|
|
21776
21800
|
const definitionMap = new DefinitionMap();
|
|
21777
21801
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
|
|
21778
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
21802
|
+
definitionMap.set('version', literal('14.0.0-next.2'));
|
|
21779
21803
|
// e.g. `type: MyDirective`
|
|
21780
21804
|
definitionMap.set('type', meta.internalType);
|
|
21781
21805
|
// e.g. `selector: 'some-dir'`
|
|
@@ -21996,7 +22020,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
|
|
|
21996
22020
|
function compileDeclareFactoryFunction(meta) {
|
|
21997
22021
|
const definitionMap = new DefinitionMap();
|
|
21998
22022
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
|
|
21999
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22023
|
+
definitionMap.set('version', literal('14.0.0-next.2'));
|
|
22000
22024
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22001
22025
|
definitionMap.set('type', meta.internalType);
|
|
22002
22026
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
@@ -22038,7 +22062,7 @@ function compileDeclareInjectableFromMetadata(meta) {
|
|
|
22038
22062
|
function createInjectableDefinitionMap(meta) {
|
|
22039
22063
|
const definitionMap = new DefinitionMap();
|
|
22040
22064
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
|
|
22041
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22065
|
+
definitionMap.set('version', literal('14.0.0-next.2'));
|
|
22042
22066
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22043
22067
|
definitionMap.set('type', meta.internalType);
|
|
22044
22068
|
// Only generate providedIn property if it has a non-null value
|
|
@@ -22096,7 +22120,7 @@ function compileDeclareInjectorFromMetadata(meta) {
|
|
|
22096
22120
|
function createInjectorDefinitionMap(meta) {
|
|
22097
22121
|
const definitionMap = new DefinitionMap();
|
|
22098
22122
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
|
|
22099
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22123
|
+
definitionMap.set('version', literal('14.0.0-next.2'));
|
|
22100
22124
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22101
22125
|
definitionMap.set('type', meta.internalType);
|
|
22102
22126
|
definitionMap.set('providers', meta.providers);
|
|
@@ -22133,7 +22157,7 @@ function compileDeclareNgModuleFromMetadata(meta) {
|
|
|
22133
22157
|
function createNgModuleDefinitionMap(meta) {
|
|
22134
22158
|
const definitionMap = new DefinitionMap();
|
|
22135
22159
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
|
|
22136
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22160
|
+
definitionMap.set('version', literal('14.0.0-next.2'));
|
|
22137
22161
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22138
22162
|
definitionMap.set('type', meta.internalType);
|
|
22139
22163
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
@@ -22191,7 +22215,7 @@ function compileDeclarePipeFromMetadata(meta) {
|
|
|
22191
22215
|
function createPipeDefinitionMap(meta) {
|
|
22192
22216
|
const definitionMap = new DefinitionMap();
|
|
22193
22217
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
22194
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22218
|
+
definitionMap.set('version', literal('14.0.0-next.2'));
|
|
22195
22219
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22196
22220
|
// e.g. `type: MyPipe`
|
|
22197
22221
|
definitionMap.set('type', meta.internalType);
|