@angular/compiler 17.1.1 → 17.1.3

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 (28) hide show
  1. package/esm2022/src/constant_pool.mjs +14 -4
  2. package/esm2022/src/expression_parser/ast.mjs +2 -1
  3. package/esm2022/src/render3/partial/class_metadata.mjs +1 -1
  4. package/esm2022/src/render3/partial/directive.mjs +1 -1
  5. package/esm2022/src/render3/partial/factory.mjs +1 -1
  6. package/esm2022/src/render3/partial/injectable.mjs +1 -1
  7. package/esm2022/src/render3/partial/injector.mjs +1 -1
  8. package/esm2022/src/render3/partial/ng_module.mjs +1 -1
  9. package/esm2022/src/render3/partial/pipe.mjs +1 -1
  10. package/esm2022/src/render3/r3_class_metadata_compiler.mjs +5 -3
  11. package/esm2022/src/render3/r3_control_flow.mjs +39 -7
  12. package/esm2022/src/render3/r3_template_transform.mjs +5 -5
  13. package/esm2022/src/render3/view/api.mjs +1 -1
  14. package/esm2022/src/render3/view/compiler.mjs +10 -10
  15. package/esm2022/src/render3/view/template.mjs +10 -5
  16. package/esm2022/src/render3/view/util.mjs +2 -2
  17. package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +3 -3
  18. package/esm2022/src/template/pipeline/src/compilation.mjs +3 -2
  19. package/esm2022/src/template/pipeline/src/emit.mjs +2 -2
  20. package/esm2022/src/template/pipeline/src/ingest.mjs +17 -7
  21. package/esm2022/src/template/pipeline/src/phases/create_defer_deps_fns.mjs +9 -3
  22. package/esm2022/src/template/pipeline/src/phases/naming.mjs +5 -2
  23. package/esm2022/src/template_parser/binding_parser.mjs +11 -10
  24. package/esm2022/src/version.mjs +1 -1
  25. package/fesm2022/compiler.mjs +131 -60
  26. package/fesm2022/compiler.mjs.map +1 -1
  27. package/index.d.ts +29 -9
  28. package/package.json +2 -2
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.1.1
2
+ * @license Angular v17.1.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -401,7 +401,7 @@ declare class BindingParser {
401
401
  */
402
402
  private _parseTemplateBindings;
403
403
  parseLiteralAttr(name: string, value: string | null, sourceSpan: ParseSourceSpan, absoluteOffset: number, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan): void;
404
- parsePropertyBinding(name: string, expression: string, isHost: boolean, sourceSpan: ParseSourceSpan, absoluteOffset: number, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan): void;
404
+ parsePropertyBinding(name: string, expression: string, isHost: boolean, isPartOfAssignmentBinding: boolean, sourceSpan: ParseSourceSpan, absoluteOffset: number, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan): void;
405
405
  parsePropertyInterpolation(name: string, value: string, sourceSpan: ParseSourceSpan, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan, interpolatedTokens: InterpolatedAttributeToken[] | InterpolatedTextToken[] | null): boolean;
406
406
  private _parsePropertyAst;
407
407
  private _parseAnimation;
@@ -435,7 +435,8 @@ export declare const enum BindingType {
435
435
  Attribute = 1,
436
436
  Class = 2,
437
437
  Style = 3,
438
- Animation = 4
438
+ Animation = 4,
439
+ TwoWay = 5
439
440
  }
440
441
 
441
442
  export declare class Block extends NodeWithI18n {
@@ -691,7 +692,10 @@ export declare type CompileClassMetadataFn = (metadata: R3ClassMetadata) => outp
691
692
  * Similar to the `setClassMetadata` call, it's wrapped into the `ngDevMode`
692
693
  * check to tree-shake away this code in production mode.
693
694
  */
694
- export declare function compileComponentClassMetadata(metadata: R3ClassMetadata, deferrableTypes: Map<string, string> | null): outputAst.Expression;
695
+ export declare function compileComponentClassMetadata(metadata: R3ClassMetadata, deferrableTypes: Map<string, {
696
+ importPath: string;
697
+ isDefaultImport: boolean;
698
+ }> | null): outputAst.Expression;
695
699
 
696
700
  /**
697
701
  * Compile a component for the render3 runtime as defined by the `R3ComponentMetadata`.
@@ -799,6 +803,13 @@ export declare class ConstantPool {
799
803
  private literals;
800
804
  private literalFactories;
801
805
  private sharedConstants;
806
+ /**
807
+ * Constant pool also tracks claimed names from {@link uniqueName}.
808
+ * This is useful to avoid collisions if variables are intended to be
809
+ * named a certain way- but may conflict. We wouldn't want to always suffix
810
+ * them with unique numbers.
811
+ */
812
+ private _claimedNames;
802
813
  private nextNameIndex;
803
814
  constructor(isClosureCompilerEnabled?: boolean);
804
815
  getConstLiteral(literal: outputAst.Expression, forceShared?: boolean): outputAst.Expression;
@@ -810,13 +821,13 @@ export declare class ConstantPool {
810
821
  getSharedFunctionReference(fn: outputAst.FunctionExpr | outputAst.ArrowFunctionExpr, prefix: string, useUniqueName?: boolean): outputAst.Expression;
811
822
  private _getLiteralFactory;
812
823
  /**
813
- * Produce a unique name.
824
+ * Produce a unique name in the context of this pool.
814
825
  *
815
826
  * The name might be unique among different prefixes if any of the prefixes end in
816
827
  * a digit so the prefix should be a constant string (not based on user input) and
817
828
  * must not end in a digit.
818
829
  */
819
- uniqueName(prefix: string): string;
830
+ uniqueName(name: string, alwaysIncludeSuffix?: boolean): string;
820
831
  private freshName;
821
832
  }
822
833
 
@@ -2434,7 +2445,8 @@ export declare class ParsedEvent {
2434
2445
 
2435
2446
  export declare const enum ParsedEventType {
2436
2447
  Regular = 0,
2437
- Animation = 1
2448
+ Animation = 1,
2449
+ TwoWay = 2
2438
2450
  }
2439
2451
 
2440
2452
  export declare interface ParsedHostBindings {
@@ -2468,7 +2480,8 @@ export declare class ParsedProperty {
2468
2480
  export declare enum ParsedPropertyType {
2469
2481
  DEFAULT = 0,
2470
2482
  LITERAL_ATTR = 1,
2471
- ANIMATION = 2
2483
+ ANIMATION = 2,
2484
+ TWO_WAY = 3
2472
2485
  }
2473
2486
 
2474
2487
  /**
@@ -3035,7 +3048,10 @@ export declare interface R3ComponentMetadata<DeclarationT extends R3TemplateDepe
3035
3048
  /**
3036
3049
  * Map of deferrable symbol names -> corresponding import paths.
3037
3050
  */
3038
- deferrableTypes: Map<string, string>;
3051
+ deferrableTypes: Map<string, {
3052
+ importPath: string;
3053
+ isDefaultImport: boolean;
3054
+ }>;
3039
3055
  /**
3040
3056
  * Specifies how the 'directives' and/or `pipes` array, if generated, need to be emitted.
3041
3057
  */
@@ -3620,6 +3636,10 @@ export declare interface R3DeferBlockTemplateDependency {
3620
3636
  * Import path where this dependency is located.
3621
3637
  */
3622
3638
  importPath: string | null;
3639
+ /**
3640
+ * Whether the symbol is the default export.
3641
+ */
3642
+ isDefaultImport: boolean;
3623
3643
  }
3624
3644
 
3625
3645
  declare interface R3DelegatedFnOrClassMetadata extends R3ConstructorFactoryMetadata {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/compiler",
3
- "version": "17.1.1",
3
+ "version": "17.1.3",
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": "17.1.1"
14
+ "@angular/core": "17.1.3"
15
15
  },
16
16
  "peerDependenciesMeta": {
17
17
  "@angular/core": {