@angular/compiler 16.1.2 → 16.2.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/esm2022/src/compiler_util/expression_converter.mjs +2 -1
  2. package/esm2022/src/constant_pool.mjs +4 -1
  3. package/esm2022/src/output/output_ast.mjs +81 -1
  4. package/esm2022/src/render3/partial/class_metadata.mjs +1 -1
  5. package/esm2022/src/render3/partial/directive.mjs +1 -1
  6. package/esm2022/src/render3/partial/factory.mjs +1 -1
  7. package/esm2022/src/render3/partial/injectable.mjs +1 -1
  8. package/esm2022/src/render3/partial/injector.mjs +1 -1
  9. package/esm2022/src/render3/partial/ng_module.mjs +1 -1
  10. package/esm2022/src/render3/partial/pipe.mjs +1 -1
  11. package/esm2022/src/template/pipeline/ir/src/element.mjs +5 -2
  12. package/esm2022/src/template/pipeline/ir/src/enums.mjs +21 -1
  13. package/esm2022/src/template/pipeline/ir/src/expression.mjs +146 -1
  14. package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +13 -1
  15. package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +18 -3
  16. package/esm2022/src/template/pipeline/src/emit.mjs +19 -13
  17. package/esm2022/src/template/pipeline/src/ingest.mjs +68 -62
  18. package/esm2022/src/template/pipeline/src/phases/attribute_extraction.mjs +74 -0
  19. package/esm2022/src/template/pipeline/src/phases/expand_safe_reads.mjs +86 -0
  20. package/esm2022/src/template/pipeline/src/phases/nullish_coalescing.mjs +26 -0
  21. package/esm2022/src/version.mjs +1 -1
  22. package/fesm2022/compiler.mjs +1700 -1253
  23. package/fesm2022/compiler.mjs.map +1 -1
  24. package/fesm2022/testing.mjs +1 -1
  25. package/index.d.ts +28 -1
  26. package/package.json +2 -2
  27. package/testing/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.1.2
2
+ * @license Angular v16.2.0-next.0
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.1.2
2
+ * @license Angular v16.2.0-next.0
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -338,6 +338,7 @@ export declare class BinaryOperatorExpr extends Expression {
338
338
  isEquivalent(e: Expression): boolean;
339
339
  isConstant(): boolean;
340
340
  visitExpression(visitor: ExpressionVisitor, context: any): any;
341
+ clone(): BinaryOperatorExpr;
341
342
  }
342
343
 
343
344
  /**
@@ -563,6 +564,7 @@ export declare class CommaExpr extends Expression {
563
564
  isEquivalent(e: Expression): boolean;
564
565
  isConstant(): boolean;
565
566
  visitExpression(visitor: ExpressionVisitor, context: any): any;
567
+ clone(): CommaExpr;
566
568
  }
567
569
 
568
570
  declare class Comment_2 implements BaseNode {
@@ -681,6 +683,7 @@ export declare class ConditionalExpr extends Expression {
681
683
  isEquivalent(e: Expression): boolean;
682
684
  isConstant(): boolean;
683
685
  visitExpression(visitor: ExpressionVisitor, context: any): any;
686
+ clone(): ConditionalExpr;
684
687
  }
685
688
 
686
689
  declare interface Console_2 {
@@ -1094,6 +1097,7 @@ export declare abstract class Expression {
1094
1097
  * Return true if the expression is constant.
1095
1098
  */
1096
1099
  abstract isConstant(): boolean;
1100
+ abstract clone(): Expression;
1097
1101
  prop(name: string, sourceSpan?: ParseSourceSpan | null): ReadPropExpr;
1098
1102
  key(index: Expression, type?: Type | null, sourceSpan?: ParseSourceSpan | null): ReadKeyExpr;
1099
1103
  callFn(params: Expression[], sourceSpan?: ParseSourceSpan | null, pure?: boolean): InvokeFunctionExpr;
@@ -1189,6 +1193,7 @@ export declare class ExternalExpr extends Expression {
1189
1193
  isEquivalent(e: Expression): boolean;
1190
1194
  isConstant(): boolean;
1191
1195
  visitExpression(visitor: ExpressionVisitor, context: any): any;
1196
+ clone(): ExternalExpr;
1192
1197
  }
1193
1198
 
1194
1199
  export declare class ExternalReference {
@@ -1225,6 +1230,7 @@ declare class FnParam {
1225
1230
  type: Type | null;
1226
1231
  constructor(name: string, type?: Type | null);
1227
1232
  isEquivalent(param: FnParam): boolean;
1233
+ clone(): FnParam;
1228
1234
  }
1229
1235
 
1230
1236
  /**
@@ -1250,6 +1256,7 @@ export declare class FunctionExpr extends Expression {
1250
1256
  isConstant(): boolean;
1251
1257
  visitExpression(visitor: ExpressionVisitor, context: any): any;
1252
1258
  toDeclStmt(name: string, modifiers?: StmtModifier): DeclareFunctionStmt;
1259
+ clone(): FunctionExpr;
1253
1260
  }
1254
1261
 
1255
1262
  export declare function getHtmlTagDefinition(tagName: string): HtmlTagDefinition;
@@ -1455,6 +1462,7 @@ export declare class InstantiateExpr extends Expression {
1455
1462
  isEquivalent(e: Expression): boolean;
1456
1463
  isConstant(): boolean;
1457
1464
  visitExpression(visitor: ExpressionVisitor, context: any): any;
1465
+ clone(): InstantiateExpr;
1458
1466
  }
1459
1467
 
1460
1468
  declare const INT_TYPE: BuiltinType;
@@ -1500,6 +1508,7 @@ export declare class InvokeFunctionExpr extends Expression {
1500
1508
  isEquivalent(e: Expression): boolean;
1501
1509
  isConstant(): boolean;
1502
1510
  visitExpression(visitor: ExpressionVisitor, context: any): any;
1511
+ clone(): InvokeFunctionExpr;
1503
1512
  }
1504
1513
 
1505
1514
  export declare function isIdentifier(input: string): boolean;
@@ -1629,6 +1638,7 @@ export declare class LiteralArrayExpr extends Expression {
1629
1638
  isConstant(): boolean;
1630
1639
  isEquivalent(e: Expression): boolean;
1631
1640
  visitExpression(visitor: ExpressionVisitor, context: any): any;
1641
+ clone(): LiteralArrayExpr;
1632
1642
  }
1633
1643
 
1634
1644
  export declare class LiteralExpr extends Expression {
@@ -1637,6 +1647,7 @@ export declare class LiteralExpr extends Expression {
1637
1647
  isEquivalent(e: Expression): boolean;
1638
1648
  isConstant(): boolean;
1639
1649
  visitExpression(visitor: ExpressionVisitor, context: any): any;
1650
+ clone(): LiteralExpr;
1640
1651
  }
1641
1652
 
1642
1653
  export declare class LiteralMap extends AST {
@@ -1658,6 +1669,7 @@ declare class LiteralMapEntry {
1658
1669
  quoted: boolean;
1659
1670
  constructor(key: string, value: Expression, quoted: boolean);
1660
1671
  isEquivalent(e: LiteralMapEntry): boolean;
1672
+ clone(): LiteralMapEntry;
1661
1673
  }
1662
1674
 
1663
1675
  export declare class LiteralMapExpr extends Expression {
@@ -1667,6 +1679,7 @@ export declare class LiteralMapExpr extends Expression {
1667
1679
  isEquivalent(e: Expression): boolean;
1668
1680
  isConstant(): boolean;
1669
1681
  visitExpression(visitor: ExpressionVisitor, context: any): any;
1682
+ clone(): LiteralMapExpr;
1670
1683
  }
1671
1684
 
1672
1685
  export declare type LiteralMapKey = {
@@ -1695,6 +1708,7 @@ export declare class LocalizedString extends Expression {
1695
1708
  isEquivalent(e: Expression): boolean;
1696
1709
  isConstant(): boolean;
1697
1710
  visitExpression(visitor: ExpressionVisitor, context: any): any;
1711
+ clone(): LocalizedString;
1698
1712
  /**
1699
1713
  * Serialize the given `meta` and `messagePart` into "cooked" and "raw" strings that can be used
1700
1714
  * in a `$localize` tagged string. The format of the metadata is the same as that parsed by
@@ -1876,6 +1890,7 @@ export declare class NotExpr extends Expression {
1876
1890
  isEquivalent(e: Expression): boolean;
1877
1891
  isConstant(): boolean;
1878
1892
  visitExpression(visitor: ExpressionVisitor, context: any): any;
1893
+ clone(): NotExpr;
1879
1894
  }
1880
1895
 
1881
1896
  declare const NULL_EXPR: LiteralExpr;
@@ -3944,6 +3959,7 @@ export declare class ReadKeyExpr extends Expression {
3944
3959
  isConstant(): boolean;
3945
3960
  visitExpression(visitor: ExpressionVisitor, context: any): any;
3946
3961
  set(value: Expression): WriteKeyExpr;
3962
+ clone(): ReadKeyExpr;
3947
3963
  }
3948
3964
 
3949
3965
  export declare class ReadPropExpr extends Expression {
@@ -3954,6 +3970,7 @@ export declare class ReadPropExpr extends Expression {
3954
3970
  isConstant(): boolean;
3955
3971
  visitExpression(visitor: ExpressionVisitor, context: any): any;
3956
3972
  set(value: Expression): WritePropExpr;
3973
+ clone(): ReadPropExpr;
3957
3974
  }
3958
3975
 
3959
3976
  export declare class ReadVarExpr extends Expression {
@@ -3962,6 +3979,7 @@ export declare class ReadVarExpr extends Expression {
3962
3979
  isEquivalent(e: Expression): boolean;
3963
3980
  isConstant(): boolean;
3964
3981
  visitExpression(visitor: ExpressionVisitor, context: any): any;
3982
+ clone(): ReadVarExpr;
3965
3983
  set(value: Expression): WriteVarExpr;
3966
3984
  }
3967
3985
 
@@ -4311,6 +4329,7 @@ export declare class TaggedTemplateExpr extends Expression {
4311
4329
  isEquivalent(e: Expression): boolean;
4312
4330
  isConstant(): boolean;
4313
4331
  visitExpression(visitor: ExpressionVisitor, context: any): any;
4332
+ clone(): TaggedTemplateExpr;
4314
4333
  }
4315
4334
 
4316
4335
  declare class TagPlaceholder implements Node_3 {
@@ -4385,6 +4404,7 @@ export declare class TemplateLiteral {
4385
4404
  elements: TemplateLiteralElement[];
4386
4405
  expressions: Expression[];
4387
4406
  constructor(elements: TemplateLiteralElement[], expressions: Expression[]);
4407
+ clone(): TemplateLiteral;
4388
4408
  }
4389
4409
 
4390
4410
  export declare class TemplateLiteralElement {
@@ -4392,6 +4412,7 @@ export declare class TemplateLiteralElement {
4392
4412
  sourceSpan?: ParseSourceSpan | undefined;
4393
4413
  rawText: string;
4394
4414
  constructor(text: string, sourceSpan?: ParseSourceSpan | undefined, rawText?: string);
4415
+ clone(): TemplateLiteralElement;
4395
4416
  }
4396
4417
 
4397
4418
  declare class Text_2 extends NodeWithI18n {
@@ -4755,6 +4776,7 @@ export declare class TypeofExpr extends Expression {
4755
4776
  visitExpression(visitor: ExpressionVisitor, context: any): any;
4756
4777
  isEquivalent(e: Expression): boolean;
4757
4778
  isConstant(): boolean;
4779
+ clone(): TypeofExpr;
4758
4780
  }
4759
4781
 
4760
4782
  declare function typeofExpr(expr: Expression): TypeofExpr;
@@ -4809,6 +4831,7 @@ export declare class UnaryOperatorExpr extends Expression {
4809
4831
  isEquivalent(e: Expression): boolean;
4810
4832
  isConstant(): boolean;
4811
4833
  visitExpression(visitor: ExpressionVisitor, context: any): any;
4834
+ clone(): UnaryOperatorExpr;
4812
4835
  }
4813
4836
 
4814
4837
  declare function variable(name: string, type?: Type | null, sourceSpan?: ParseSourceSpan | null): ReadVarExpr;
@@ -4895,6 +4918,7 @@ export declare class WrappedNodeExpr<T> extends Expression {
4895
4918
  isEquivalent(e: Expression): boolean;
4896
4919
  isConstant(): boolean;
4897
4920
  visitExpression(visitor: ExpressionVisitor, context: any): any;
4921
+ clone(): WrappedNodeExpr<T>;
4898
4922
  }
4899
4923
 
4900
4924
  export declare class WriteKeyExpr extends Expression {
@@ -4905,6 +4929,7 @@ export declare class WriteKeyExpr extends Expression {
4905
4929
  isEquivalent(e: Expression): boolean;
4906
4930
  isConstant(): boolean;
4907
4931
  visitExpression(visitor: ExpressionVisitor, context: any): any;
4932
+ clone(): WriteKeyExpr;
4908
4933
  }
4909
4934
 
4910
4935
  export declare class WritePropExpr extends Expression {
@@ -4915,6 +4940,7 @@ export declare class WritePropExpr extends Expression {
4915
4940
  isEquivalent(e: Expression): boolean;
4916
4941
  isConstant(): boolean;
4917
4942
  visitExpression(visitor: ExpressionVisitor, context: any): any;
4943
+ clone(): WritePropExpr;
4918
4944
  }
4919
4945
 
4920
4946
  export declare class WriteVarExpr extends Expression {
@@ -4924,6 +4950,7 @@ export declare class WriteVarExpr extends Expression {
4924
4950
  isEquivalent(e: Expression): boolean;
4925
4951
  isConstant(): boolean;
4926
4952
  visitExpression(visitor: ExpressionVisitor, context: any): any;
4953
+ clone(): WriteVarExpr;
4927
4954
  toDeclStmt(type?: Type | null, modifiers?: StmtModifier): DeclareVarStmt;
4928
4955
  toConstDecl(): DeclareVarStmt;
4929
4956
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/compiler",
3
- "version": "16.1.2",
3
+ "version": "16.2.0-next.0",
4
4
  "description": "Angular - the compiler library",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -11,7 +11,7 @@
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "peerDependencies": {
14
- "@angular/core": "16.1.2"
14
+ "@angular/core": "16.2.0-next.0"
15
15
  },
16
16
  "peerDependenciesMeta": {
17
17
  "@angular/core": {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.1.2
2
+ * @license Angular v16.2.0-next.0
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */