@angular/compiler-cli 22.0.0-next.3 → 22.0.0-next.4

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 (47) hide show
  1. package/bundles/{chunk-EAE5KCUR.js → chunk-33PKOB6H.js} +4 -4
  2. package/bundles/{chunk-NPMPTFII.js → chunk-6IEU2J75.js} +37 -7
  3. package/bundles/{chunk-NPMPTFII.js.map → chunk-6IEU2J75.js.map} +1 -1
  4. package/bundles/{chunk-HFKTR5QY.js → chunk-AI2LKYE3.js} +3 -3
  5. package/bundles/chunk-AI2LKYE3.js.map +6 -0
  6. package/bundles/{chunk-XSRMZ57L.js → chunk-ARNGIZEA.js} +47 -50
  7. package/bundles/chunk-ARNGIZEA.js.map +6 -0
  8. package/bundles/{chunk-5EGV6MZF.js → chunk-BCQGTZBZ.js} +127 -92
  9. package/bundles/chunk-BCQGTZBZ.js.map +6 -0
  10. package/bundles/{chunk-I6T4FEIP.js → chunk-L35AQF75.js} +84 -37
  11. package/bundles/chunk-L35AQF75.js.map +6 -0
  12. package/bundles/{chunk-UUQRZWDP.js → chunk-TXJNNYJ4.js} +2 -2
  13. package/bundles/index.js +6 -6
  14. package/bundles/linker/babel/index.js +69 -12
  15. package/bundles/linker/babel/index.js.map +1 -1
  16. package/bundles/linker/index.js +2 -2
  17. package/bundles/private/hybrid_analysis.js +2 -2
  18. package/bundles/private/migrations.js +4 -4
  19. package/bundles/private/testing.js +38 -11
  20. package/bundles/private/testing.js.map +2 -2
  21. package/bundles/private/tooling.js +3 -3
  22. package/bundles/src/bin/ng_xi18n.js +6 -6
  23. package/bundles/src/bin/ngc.js +6 -6
  24. package/linker/babel/src/ast/babel_ast_factory.d.ts +15 -8
  25. package/linker/src/file_linker/emit_scopes/emit_scope.d.ts +3 -3
  26. package/linker/src/file_linker/emit_scopes/local_emit_scope.d.ts +1 -1
  27. package/linker/src/file_linker/file_linker.d.ts +2 -2
  28. package/linker/src/file_linker/linker_environment.d.ts +4 -4
  29. package/linker/src/file_linker/partial_linkers/partial_linker_selector.d.ts +1 -1
  30. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
  31. package/linker/src/file_linker/translator.d.ts +2 -2
  32. package/linker/src/linker_import_generator.d.ts +2 -2
  33. package/package.json +2 -2
  34. package/src/ngtsc/file_system/testing/index.d.ts +1 -1
  35. package/src/ngtsc/file_system/testing/src/test_helper.d.ts +1 -0
  36. package/src/ngtsc/translator/src/api/ast_factory.d.ts +38 -6
  37. package/src/ngtsc/translator/src/translator.d.ts +8 -2
  38. package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +12 -6
  39. package/src/ngtsc/typecheck/api/api.d.ts +2 -1
  40. package/src/ngtsc/typecheck/src/tcb_adapter.d.ts +2 -1
  41. package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -2
  42. package/bundles/chunk-5EGV6MZF.js.map +0 -6
  43. package/bundles/chunk-HFKTR5QY.js.map +0 -6
  44. package/bundles/chunk-I6T4FEIP.js.map +0 -6
  45. package/bundles/chunk-XSRMZ57L.js.map +0 -6
  46. /package/bundles/{chunk-EAE5KCUR.js.map → chunk-33PKOB6H.js.map} +0 -0
  47. /package/bundles/{chunk-UUQRZWDP.js.map → chunk-TXJNNYJ4.js.map} +0 -0
@@ -4,17 +4,18 @@
4
4
 
5
5
  import {
6
6
  getInitializerApiJitTransform
7
- } from "../chunk-XSRMZ57L.js";
7
+ } from "../chunk-ARNGIZEA.js";
8
8
  import {
9
9
  ImportedSymbolsTracker,
10
10
  TypeScriptReflectionHost
11
- } from "../chunk-5EGV6MZF.js";
12
- import "../chunk-I6T4FEIP.js";
11
+ } from "../chunk-BCQGTZBZ.js";
12
+ import "../chunk-L35AQF75.js";
13
13
  import {
14
14
  InvalidFileSystem,
15
15
  absoluteFrom,
16
16
  basename,
17
17
  dirname,
18
+ getFileSystem,
18
19
  resolve,
19
20
  setFileSystem
20
21
  } from "../chunk-UTWH365F.js";
@@ -209,15 +210,37 @@ var MockFileSystem = class {
209
210
  }
210
211
  copyInto(from, to) {
211
212
  for (const path in from) {
212
- const item = from[path];
213
213
  const canonicalPath = this.getCanonicalPath(path);
214
- if (isSymLink(item)) {
215
- to[canonicalPath] = new SymLink(this.getCanonicalPath(item.path));
216
- } else if (isFolder(item)) {
217
- to[canonicalPath] = this.cloneFolder(item);
218
- } else {
219
- to[canonicalPath] = from[path];
220
- }
214
+ Object.defineProperty(to, canonicalPath, {
215
+ configurable: true,
216
+ enumerable: true,
217
+ get: () => {
218
+ const item = from[path];
219
+ let cloned;
220
+ if (isSymLink(item)) {
221
+ cloned = new SymLink(this.getCanonicalPath(item.path));
222
+ } else if (isFolder(item)) {
223
+ cloned = this.cloneFolder(item);
224
+ } else {
225
+ cloned = item;
226
+ }
227
+ Object.defineProperty(to, canonicalPath, {
228
+ configurable: true,
229
+ enumerable: true,
230
+ value: cloned,
231
+ writable: true
232
+ });
233
+ return cloned;
234
+ },
235
+ set: (value) => {
236
+ Object.defineProperty(to, canonicalPath, {
237
+ configurable: true,
238
+ enumerable: true,
239
+ value,
240
+ writable: true
241
+ });
242
+ }
243
+ });
221
244
  }
222
245
  }
223
246
  findFromPath(path, options) {
@@ -435,7 +458,11 @@ runInEachFileSystem.native = (callback) => runInFileSystem(FS_NATIVE, callback,
435
458
  runInEachFileSystem.osX = (callback) => runInFileSystem(FS_OS_X, callback, true);
436
459
  runInEachFileSystem.unix = (callback) => runInFileSystem(FS_UNIX, callback, true);
437
460
  runInEachFileSystem.windows = (callback) => runInFileSystem(FS_WINDOWS, callback, true);
461
+ var mockFileSystemLocked = false;
438
462
  function initMockFileSystem(os2, cwd) {
463
+ if (mockFileSystemLocked) {
464
+ return getFileSystem();
465
+ }
439
466
  const fs = createMockFileSystem(os2, cwd);
440
467
  setFileSystem(fs);
441
468
  monkeyPatchTypeScript(fs);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ngtsc/file_system/testing/src/mock_file_system.ts", "../../src/ngtsc/file_system/testing/src/mock_file_system_native.ts", "../../src/ngtsc/file_system/testing/src/mock_file_system_posix.ts", "../../src/ngtsc/file_system/testing/src/mock_file_system_windows.ts", "../../src/ngtsc/file_system/testing/src/test_helper.ts"],
4
- "mappings": "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",
5
- "names": ["basename", "p", "p", "os", "p", "absPath"]
4
+ "mappings": "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",
5
+ "names": ["basename", "p", "p", "os", "os", "p", "absPath"]
6
6
  }
@@ -4,9 +4,9 @@
4
4
 
5
5
  import {
6
6
  angularJitApplicationTransform
7
- } from "../chunk-XSRMZ57L.js";
8
- import "../chunk-5EGV6MZF.js";
9
- import "../chunk-I6T4FEIP.js";
7
+ } from "../chunk-ARNGIZEA.js";
8
+ import "../chunk-BCQGTZBZ.js";
9
+ import "../chunk-L35AQF75.js";
10
10
  import "../chunk-UTWH365F.js";
11
11
  import "../chunk-KWAGEHJJ.js";
12
12
  import "../chunk-IEBNHER4.js";
@@ -6,14 +6,14 @@
6
6
  import {
7
7
  main,
8
8
  readCommandLineAndConfiguration
9
- } from "../../chunk-UUQRZWDP.js";
9
+ } from "../../chunk-TXJNNYJ4.js";
10
10
  import {
11
11
  EmitFlags
12
- } from "../../chunk-EAE5KCUR.js";
13
- import "../../chunk-NPMPTFII.js";
14
- import "../../chunk-XSRMZ57L.js";
15
- import "../../chunk-5EGV6MZF.js";
16
- import "../../chunk-I6T4FEIP.js";
12
+ } from "../../chunk-33PKOB6H.js";
13
+ import "../../chunk-6IEU2J75.js";
14
+ import "../../chunk-ARNGIZEA.js";
15
+ import "../../chunk-BCQGTZBZ.js";
16
+ import "../../chunk-L35AQF75.js";
17
17
  import {
18
18
  setFileSystem
19
19
  } from "../../chunk-UTWH365F.js";
@@ -5,12 +5,12 @@
5
5
 
6
6
  import {
7
7
  main
8
- } from "../../chunk-UUQRZWDP.js";
9
- import "../../chunk-EAE5KCUR.js";
10
- import "../../chunk-NPMPTFII.js";
11
- import "../../chunk-XSRMZ57L.js";
12
- import "../../chunk-5EGV6MZF.js";
13
- import "../../chunk-I6T4FEIP.js";
8
+ } from "../../chunk-TXJNNYJ4.js";
9
+ import "../../chunk-33PKOB6H.js";
10
+ import "../../chunk-6IEU2J75.js";
11
+ import "../../chunk-ARNGIZEA.js";
12
+ import "../../chunk-BCQGTZBZ.js";
13
+ import "../../chunk-L35AQF75.js";
14
14
  import {
15
15
  setFileSystem
16
16
  } from "../../chunk-UTWH365F.js";
@@ -6,16 +6,17 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import { types as t } from '@babel/core';
9
- import { AstFactory, BinaryOperator, LeadingComment, ObjectLiteralProperty, SourceMapRange, TemplateLiteral, VariableDeclarationType } from '../../../../src/ngtsc/translator/src/api/ast_factory';
9
+ import { AstFactory, BinaryOperator, BuiltInType, LeadingComment, ObjectLiteralProperty, Parameter, SourceMapRange, TemplateLiteral, VariableDeclarationType } from '../../../../src/ngtsc/translator/src/api/ast_factory';
10
10
  /**
11
11
  * A Babel flavored implementation of the AstFactory.
12
12
  */
13
- export declare class BabelAstFactory implements AstFactory<t.Statement, t.Expression | t.SpreadElement> {
13
+ export declare class BabelAstFactory implements AstFactory<t.Statement, t.Expression | t.SpreadElement, t.TSType> {
14
14
  /** The absolute path to the source file being compiled. */
15
- private sourceUrl;
15
+ private sourcePath;
16
+ private readonly typesEnabled;
16
17
  constructor(
17
18
  /** The absolute path to the source file being compiled. */
18
- sourceUrl: string);
19
+ sourcePath: string);
19
20
  attachComments(statement: t.Statement | t.Expression, leadingComments: LeadingComment[]): void;
20
21
  createArrayLiteral: typeof t.arrayExpression;
21
22
  createAssignment(target: t.Expression, operator: BinaryOperator, value: t.Expression): t.Expression;
@@ -26,9 +27,9 @@ export declare class BabelAstFactory implements AstFactory<t.Statement, t.Expres
26
27
  createElementAccess(expression: t.Expression, element: t.Expression): t.Expression;
27
28
  createExpressionStatement: typeof t.expressionStatement;
28
29
  createSpreadElement(expression: t.Expression): t.SpreadElement;
29
- createFunctionDeclaration(functionName: string, parameters: string[], body: t.Statement): t.Statement;
30
- createArrowFunctionExpression(parameters: string[], body: t.Statement | t.Expression): t.Expression;
31
- createFunctionExpression(functionName: string | null, parameters: string[], body: t.Statement): t.Expression;
30
+ createFunctionDeclaration(functionName: string, parameters: Parameter<t.TSType>[], body: t.Statement): t.Statement;
31
+ createArrowFunctionExpression(parameters: Parameter<t.TSType>[], body: t.Statement | t.Expression): t.Expression;
32
+ createFunctionExpression(functionName: string | null, parameters: Parameter<t.TSType>[], body: t.Statement): t.Expression;
32
33
  createIdentifier: typeof t.identifier;
33
34
  createIfStatement: typeof t.ifStatement;
34
35
  createDynamicImport(url: string | t.Expression): t.Expression;
@@ -44,7 +45,13 @@ export declare class BabelAstFactory implements AstFactory<t.Statement, t.Expres
44
45
  createTypeOfExpression(expression: t.Expression): t.Expression;
45
46
  createVoidExpression(expression: t.Expression): t.Expression;
46
47
  createUnaryExpression: typeof t.unaryExpression;
47
- createVariableDeclaration(variableName: string, initializer: t.Expression | null, type: VariableDeclarationType): t.Statement;
48
+ createVariableDeclaration(variableName: string, initializer: t.Expression | null, variableType: VariableDeclarationType, type: t.TSType | null): t.Statement;
48
49
  createRegularExpressionLiteral(body: string, flags: string | null): t.Expression;
49
50
  setSourceMapRange<T extends t.Statement | t.Expression | t.TemplateElement | t.SpreadElement>(node: T, sourceMapRange: SourceMapRange | null): T;
51
+ createBuiltInType(type: BuiltInType): t.TSType;
52
+ createExpressionType(expression: t.Expression, typeParams: t.TSType[] | null): t.TSType;
53
+ createArrayType(elementType: t.TSType): t.TSType;
54
+ createMapType(valueType: t.TSType): t.TSType;
55
+ transplantType(type: t.TSType): t.TSType;
56
+ private identifierWithType;
50
57
  }
@@ -18,12 +18,12 @@ import { Translator } from '../translator';
18
18
  *
19
19
  * This implementation will emit the definition and the constant statements separately.
20
20
  */
21
- export declare class EmitScope<TStatement, TExpression> {
21
+ export declare class EmitScope<TStatement, TExpression, TType> {
22
22
  protected readonly ngImport: TExpression;
23
- protected readonly translator: Translator<TStatement, TExpression>;
23
+ protected readonly translator: Translator<TStatement, TExpression, TType>;
24
24
  private readonly factory;
25
25
  readonly constantPool: ConstantPool;
26
- constructor(ngImport: TExpression, translator: Translator<TStatement, TExpression>, factory: AstFactory<TStatement, TExpression>);
26
+ constructor(ngImport: TExpression, translator: Translator<TStatement, TExpression, TType>, factory: AstFactory<TStatement, TExpression, TType>);
27
27
  /**
28
28
  * Translate the given Output AST definition expression into a generic `TExpression`.
29
29
  *
@@ -12,7 +12,7 @@ import { EmitScope } from './emit_scope';
12
12
  * there is no clear shared scope for constant statements. In this case they are bundled with the
13
13
  * translated definition and will be emitted into an IIFE.
14
14
  */
15
- export declare class LocalEmitScope<TStatement, TExpression> extends EmitScope<TStatement, TExpression> {
15
+ export declare class LocalEmitScope<TStatement, TExpression, TType> extends EmitScope<TStatement, TExpression, TType> {
16
16
  /**
17
17
  * Translate the given Output AST definition expression into a generic `TExpression`.
18
18
  *
@@ -5,11 +5,11 @@ export declare const NO_STATEMENTS: Readonly<any[]>;
5
5
  /**
6
6
  * This class is responsible for linking all the partial declarations found in a single file.
7
7
  */
8
- export declare class FileLinker<TConstantScope, TStatement, TExpression> {
8
+ export declare class FileLinker<TConstantScope, TStatement, TExpression, TType> {
9
9
  private linkerEnvironment;
10
10
  private linkerSelector;
11
11
  private emitScopes;
12
- constructor(linkerEnvironment: LinkerEnvironment<TStatement, TExpression>, sourceUrl: AbsoluteFsPath, code: string);
12
+ constructor(linkerEnvironment: LinkerEnvironment<TStatement, TExpression, TType>, sourceUrl: AbsoluteFsPath, code: string);
13
13
  /**
14
14
  * Return true if the given callee name matches a partial declaration that can be linked.
15
15
  */
@@ -12,14 +12,14 @@ import { AstFactory } from '../../../src/ngtsc/translator';
12
12
  import { AstHost } from '../ast/ast_host';
13
13
  import { LinkerOptions } from './linker_options';
14
14
  import { Translator } from './translator';
15
- export declare class LinkerEnvironment<TStatement, TExpression> {
15
+ export declare class LinkerEnvironment<TStatement, TExpression, TType> {
16
16
  readonly fileSystem: ReadonlyFileSystem;
17
17
  readonly logger: Logger;
18
18
  readonly host: AstHost<TExpression>;
19
- readonly factory: AstFactory<TStatement, TExpression>;
19
+ readonly factory: AstFactory<TStatement, TExpression, TType>;
20
20
  readonly options: LinkerOptions;
21
- readonly translator: Translator<TStatement, TExpression>;
21
+ readonly translator: Translator<TStatement, TExpression, TType>;
22
22
  readonly sourceFileLoader: SourceFileLoader | null;
23
23
  private constructor();
24
- static create<TStatement, TExpression>(fileSystem: ReadonlyFileSystem, logger: Logger, host: AstHost<TExpression>, factory: AstFactory<TStatement, TExpression>, options: Partial<LinkerOptions>): LinkerEnvironment<TStatement, TExpression>;
24
+ static create<TStatement, TExpression, TType>(fileSystem: ReadonlyFileSystem, logger: Logger, host: AstHost<TExpression>, factory: AstFactory<TStatement, TExpression, TType>, options: Partial<LinkerOptions>): LinkerEnvironment<TStatement, TExpression, TType>;
25
25
  }
@@ -48,7 +48,7 @@ export interface LinkerRange<TExpression> {
48
48
  * `minVersion` of the partial-declaration should be updated, the new linker implementation should
49
49
  * be added to the end of the collection, and the version of the previous linker should be updated.
50
50
  */
51
- export declare function createLinkerMap<TStatement, TExpression>(environment: LinkerEnvironment<TStatement, TExpression>, sourceUrl: AbsoluteFsPath, code: string): Map<string, LinkerRange<TExpression>[]>;
51
+ export declare function createLinkerMap<TStatement, TExpression, TType>(environment: LinkerEnvironment<TStatement, TExpression, TType>, sourceUrl: AbsoluteFsPath, code: string): Map<string, LinkerRange<TExpression>[]>;
52
52
  /**
53
53
  * A helper that selects the appropriate `PartialLinker` for a given declaration.
54
54
  *
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { MaybeForwardRefExpression, outputAst as o, R3DeclareDependencyMetadata, R3DependencyMetadata, R3Reference } from '@angular/compiler';
9
9
  import { AstObject, AstValue } from '../../ast/ast_value';
10
- export declare const PLACEHOLDER_VERSION = "22.0.0-next.3";
10
+ export declare const PLACEHOLDER_VERSION = "22.0.0-next.4";
11
11
  export declare function wrapReference<TExpression>(wrapped: o.WrappedNodeExpr<TExpression>): R3Reference;
12
12
  /**
13
13
  * Parses the value of an enum from the AST value's symbol name.
@@ -13,9 +13,9 @@ import { AstFactory } from '../../../src/ngtsc/translator/src/api/ast_factory';
13
13
  * Generic translator helper class, which exposes methods for translating expressions and
14
14
  * statements.
15
15
  */
16
- export declare class Translator<TStatement, TExpression> {
16
+ export declare class Translator<TStatement, TExpression, TType> {
17
17
  private factory;
18
- constructor(factory: AstFactory<TStatement, TExpression>);
18
+ constructor(factory: AstFactory<TStatement, TExpression, TType>);
19
19
  /**
20
20
  * Translate the given output AST in the context of an expression.
21
21
  */
@@ -14,10 +14,10 @@ import { AstFactory, ImportGenerator, ImportRequest } from '../../src/ngtsc/tran
14
14
  * must be achieved by property access on an `ng` namespace identifier, which is passed in via the
15
15
  * constructor.
16
16
  */
17
- export declare class LinkerImportGenerator<TStatement, TExpression> implements ImportGenerator<null, TExpression> {
17
+ export declare class LinkerImportGenerator<TStatement, TExpression, TType> implements ImportGenerator<null, TExpression> {
18
18
  private factory;
19
19
  private ngImport;
20
- constructor(factory: AstFactory<TStatement, TExpression>, ngImport: TExpression);
20
+ constructor(factory: AstFactory<TStatement, TExpression, TType>, ngImport: TExpression);
21
21
  addImport(request: ImportRequest<null>): TExpression;
22
22
  private assertModuleName;
23
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/compiler-cli",
3
- "version": "22.0.0-next.3",
3
+ "version": "22.0.0-next.4",
4
4
  "description": "Angular - the compiler CLI for Node.js",
5
5
  "typings": "index.d.ts",
6
6
  "bin": {
@@ -43,7 +43,7 @@
43
43
  "typescript": "5.9.3"
44
44
  },
45
45
  "peerDependencies": {
46
- "@angular/compiler": "22.0.0-next.3",
46
+ "@angular/compiler": "22.0.0-next.4",
47
47
  "typescript": ">=5.9 <6.1"
48
48
  },
49
49
  "peerDependenciesMeta": {
@@ -9,4 +9,4 @@ export { Folder, MockFileSystem } from './src/mock_file_system';
9
9
  export { MockFileSystemNative } from './src/mock_file_system_native';
10
10
  export { MockFileSystemPosix } from './src/mock_file_system_posix';
11
11
  export { MockFileSystemWindows } from './src/mock_file_system_windows';
12
- export { initMockFileSystem, runInEachFileSystem, TestFile } from './src/test_helper';
12
+ export { initMockFileSystem, lockMockFileSystem, runInEachFileSystem, TestFile, } from './src/test_helper';
@@ -13,4 +13,5 @@ export interface RunInEachFileSystemFn {
13
13
  osX(callback: (os: string) => void): void;
14
14
  }
15
15
  export declare const runInEachFileSystem: RunInEachFileSystemFn;
16
+ export declare function lockMockFileSystem(): void;
16
17
  export declare function initMockFileSystem(os: string, cwd?: AbsoluteFsPath): MockFileSystem;
@@ -12,7 +12,7 @@
12
12
  * It is up to the caller to do this - e.g. only call `createTaggedTemplate()` or pass `let`|`const`
13
13
  * to `createVariableDeclaration()` if the final JS will allow it.
14
14
  */
15
- export interface AstFactory<TStatement, TExpression> {
15
+ export interface AstFactory<TStatement, TExpression, TType> {
16
16
  /**
17
17
  * Attach the `leadingComments` to the given `statement` node.
18
18
  *
@@ -84,7 +84,7 @@ export interface AstFactory<TStatement, TExpression> {
84
84
  * @param parameters the names of the function's parameters.
85
85
  * @param body a statement (or a block of statements) that are the body of the function.
86
86
  */
87
- createFunctionDeclaration(functionName: string, parameters: string[], body: TStatement): TStatement;
87
+ createFunctionDeclaration(functionName: string, parameters: Parameter<TType>[], body: TStatement): TStatement;
88
88
  /**
89
89
  * Create an expression that represents a function
90
90
  * (e.g. `function foo(param1, param2) { stmt; }`).
@@ -93,7 +93,7 @@ export interface AstFactory<TStatement, TExpression> {
93
93
  * @param parameters the names of the function's parameters.
94
94
  * @param body a statement (or a block of statements) that are the body of the function.
95
95
  */
96
- createFunctionExpression(functionName: string | null, parameters: string[], body: TStatement): TExpression;
96
+ createFunctionExpression(functionName: string | null, parameters: Parameter<TType>[], body: TStatement): TExpression;
97
97
  /**
98
98
  * Create an expression that represents an arrow function
99
99
  * (e.g. `(param1, param2) => body`).
@@ -101,7 +101,7 @@ export interface AstFactory<TStatement, TExpression> {
101
101
  * @param parameters the names of the function's parameters.
102
102
  * @param body an expression or block of statements that are the body of the function.
103
103
  */
104
- createArrowFunctionExpression(parameters: string[], body: TExpression | TStatement): TExpression;
104
+ createArrowFunctionExpression(parameters: Parameter<TType>[], body: TExpression | TStatement): TExpression;
105
105
  /**
106
106
  * Creates an expression that represents a dynamic import
107
107
  * (e.g. `import('./some/path')`)
@@ -216,9 +216,9 @@ export interface AstFactory<TStatement, TExpression> {
216
216
  *
217
217
  * @param variableName the name of the variable.
218
218
  * @param initializer if not `null` then this expression is assigned to the declared variable.
219
- * @param type whether this variable should be declared as `var`, `let` or `const`.
219
+ * @param variableType whether this variable should be declared as `var`, `let` or `const`.
220
220
  */
221
- createVariableDeclaration(variableName: string, initializer: TExpression | null, type: VariableDeclarationType): TStatement;
221
+ createVariableDeclaration(variableName: string, initializer: TExpression | null, variableType: VariableDeclarationType, type: TType | null): TStatement;
222
222
  /**
223
223
  * Create a regular expression literal (e.g. `/\d+/g`).
224
224
  *
@@ -232,6 +232,32 @@ export interface AstFactory<TStatement, TExpression> {
232
232
  * @param target Expression of the spread element.
233
233
  */
234
234
  createSpreadElement(expression: TExpression): TExpression;
235
+ /**
236
+ * Create a type node for a built-in type.
237
+ * @param type Type that should be created.
238
+ */
239
+ createBuiltInType(type: BuiltInType): TType;
240
+ /**
241
+ * Create an expression type.
242
+ * @param expression Expression to be turned into a type node.
243
+ * @param typeParams Type parameters for the expression.
244
+ */
245
+ createExpressionType(expression: TExpression, typeParams: TType[] | null): TType;
246
+ /**
247
+ * Create an array type.
248
+ * @param elementType Type of the array elements.
249
+ */
250
+ createArrayType(elementType: TType): TType;
251
+ /**
252
+ * Create a map type.
253
+ * @param valueType Type of the map values.
254
+ */
255
+ createMapType(valueType: TType): TType;
256
+ /**
257
+ * Forward a transplanted type.
258
+ * @param type Type to be transplanted, if supported.
259
+ */
260
+ transplantType(type: TType): TType;
235
261
  /**
236
262
  * Attach a source map range to the given node.
237
263
  *
@@ -249,6 +275,12 @@ export type VariableDeclarationType = 'const' | 'let' | 'var';
249
275
  * The unary operators supported by the `AstFactory`.
250
276
  */
251
277
  export type UnaryOperator = '+' | '-' | '!';
278
+ /** Supported built-in types. */
279
+ export type BuiltInType = 'any' | 'boolean' | 'number' | 'string' | 'function' | 'never' | 'unknown';
280
+ export interface Parameter<TType> {
281
+ name: string;
282
+ type: TType | null;
283
+ }
252
284
  /**
253
285
  * The binary operators supported by the `AstFactory`.
254
286
  */
@@ -16,14 +16,14 @@ export interface TranslatorOptions<TExpression> {
16
16
  recordWrappedNode?: RecordWrappedNodeFn<TExpression>;
17
17
  annotateForClosureCompiler?: boolean;
18
18
  }
19
- export declare class ExpressionTranslatorVisitor<TFile, TStatement, TExpression> implements o.ExpressionVisitor, o.StatementVisitor {
19
+ export declare class ExpressionTranslatorVisitor<TFile, TStatement, TExpression, TType> implements o.ExpressionVisitor, o.StatementVisitor, o.TypeVisitor {
20
20
  private factory;
21
21
  private imports;
22
22
  private contextFile;
23
23
  private downlevelTaggedTemplates;
24
24
  private downlevelVariableDeclarations;
25
25
  private recordWrappedNode;
26
- constructor(factory: AstFactory<TStatement, TExpression>, imports: ImportGenerator<TFile, TExpression>, contextFile: TFile, options: TranslatorOptions<TExpression>);
26
+ constructor(factory: AstFactory<TStatement, TExpression, TType>, imports: ImportGenerator<TFile, TExpression>, contextFile: TFile, options: TranslatorOptions<TExpression>);
27
27
  visitDeclareVarStmt(stmt: o.DeclareVarStmt, context: Context): TStatement;
28
28
  visitDeclareFunctionStmt(stmt: o.DeclareFunctionStmt, context: Context): TStatement;
29
29
  visitExpressionStmt(stmt: o.ExpressionStatement, context: Context): TStatement;
@@ -37,6 +37,11 @@ export declare class ExpressionTranslatorVisitor<TFile, TStatement, TExpression>
37
37
  visitLiteralExpr(ast: o.LiteralExpr, _context: Context): TExpression;
38
38
  visitRegularExpressionLiteral(ast: o.RegularExpressionLiteralExpr, context: any): TExpression;
39
39
  visitLocalizedString(ast: o.LocalizedString, context: Context): TExpression;
40
+ visitBuiltinType(ast: o.BuiltinType): TType | null;
41
+ visitExpressionType(ast: o.ExpressionType, context: Context): TType;
42
+ visitArrayType(ast: o.ArrayType, context: Context): TType;
43
+ visitMapType(ast: o.MapType, context: Context): TType;
44
+ visitTransplantedType(type: o.TransplantedType<TType>): TType;
40
45
  private createTaggedTemplateExpression;
41
46
  /**
42
47
  * Translate the tagged template literal into a call that is compatible with ES5, using the
@@ -66,4 +71,5 @@ export declare class ExpressionTranslatorVisitor<TFile, TStatement, TExpression>
66
71
  private setSourceMapRange;
67
72
  private attachComments;
68
73
  private getTemplateLiteralFromAst;
74
+ private translateParams;
69
75
  }
@@ -6,11 +6,11 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import ts from 'typescript';
9
- import { AstFactory, BinaryOperator, LeadingComment, ObjectLiteralProperty, SourceMapRange, TemplateLiteral, UnaryOperator, VariableDeclarationType } from './api/ast_factory';
9
+ import { AstFactory, BinaryOperator, BuiltInType, LeadingComment, ObjectLiteralProperty, Parameter, SourceMapRange, TemplateLiteral, UnaryOperator, VariableDeclarationType } from './api/ast_factory';
10
10
  /**
11
11
  * A TypeScript flavoured implementation of the AstFactory.
12
12
  */
13
- export declare class TypeScriptAstFactory implements AstFactory<ts.Statement, ts.Expression> {
13
+ export declare class TypeScriptAstFactory implements AstFactory<ts.Statement, ts.Expression, ts.TypeNode> {
14
14
  private annotateForClosureCompiler;
15
15
  private externalSourceFiles;
16
16
  private readonly UNARY_OPERATORS;
@@ -27,9 +27,10 @@ export declare class TypeScriptAstFactory implements AstFactory<ts.Statement, ts
27
27
  createElementAccess: (expression: ts.Expression, index: number | ts.Expression) => ts.ElementAccessExpression;
28
28
  createExpressionStatement: (expression: ts.Expression) => ts.ExpressionStatement;
29
29
  createDynamicImport(url: string | ts.Expression): ts.CallExpression;
30
- createFunctionDeclaration(functionName: string, parameters: string[], body: ts.Statement): ts.Statement;
31
- createFunctionExpression(functionName: string | null, parameters: string[], body: ts.Statement): ts.Expression;
32
- createArrowFunctionExpression(parameters: string[], body: ts.Statement | ts.Expression): ts.Expression;
30
+ createFunctionDeclaration(functionName: string, parameters: Parameter<ts.TypeNode>[], body: ts.Statement): ts.Statement;
31
+ createFunctionExpression(functionName: string | null, parameters: Parameter<ts.TypeNode>[], body: ts.Statement): ts.Expression;
32
+ createArrowFunctionExpression(parameters: Parameter<ts.TypeNode>[], body: ts.Statement | ts.Expression): ts.Expression;
33
+ private createParameter;
33
34
  createIdentifier: (text: string) => ts.Identifier;
34
35
  createIfStatement(condition: ts.Expression, thenStatement: ts.Statement, elseStatement: ts.Statement | null): ts.Statement;
35
36
  createLiteral(value: string | number | boolean | null | undefined): ts.Expression;
@@ -45,9 +46,14 @@ export declare class TypeScriptAstFactory implements AstFactory<ts.Statement, ts
45
46
  createTypeOfExpression: (expression: ts.Expression) => ts.TypeOfExpression;
46
47
  createVoidExpression: (expression: ts.Expression) => ts.VoidExpression;
47
48
  createUnaryExpression(operator: UnaryOperator, operand: ts.Expression): ts.Expression;
48
- createVariableDeclaration(variableName: string, initializer: ts.Expression | null, type: VariableDeclarationType): ts.Statement;
49
+ createVariableDeclaration(variableName: string, initializer: ts.Expression | null, variableType: VariableDeclarationType, type: ts.TypeNode | null): ts.Statement;
49
50
  createRegularExpressionLiteral(body: string, flags: string | null): ts.Expression;
50
51
  setSourceMapRange<T extends ts.Node>(node: T, sourceMapRange: SourceMapRange | null): T;
52
+ createBuiltInType(type: BuiltInType): ts.TypeNode;
53
+ createExpressionType(expression: ts.Expression, typeParams: ts.TypeNode[] | null): ts.TypeNode;
54
+ createArrayType(elementType: ts.TypeNode): ts.TypeNode;
55
+ createMapType(valueType: ts.TypeNode): ts.TypeNode;
56
+ transplantType(type: ts.TypeNode): ts.TypeNode;
51
57
  }
52
58
  export declare function createTemplateMiddle(cooked: string, raw: string): ts.TemplateMiddle;
53
59
  export declare function createTemplateTail(cooked: string, raw: string): ts.TemplateTail;
@@ -64,7 +64,7 @@ export interface TcbDirectiveMetadata {
64
64
  typeParameters: TcbTypeParameter[] | null;
65
65
  inputs: ClassPropertyMapping<TcbInputMapping>;
66
66
  outputs: ClassPropertyMapping;
67
- hasRequiresInlineTypeCtor: boolean;
67
+ requiresInlineTypeCtor: boolean;
68
68
  ngTemplateGuards: TemplateGuardMeta[];
69
69
  hasNgTemplateContextGuard: boolean;
70
70
  hasNgFieldDirective: boolean;
@@ -79,6 +79,7 @@ export interface TcbDirectiveMetadata {
79
79
  export interface TcbComponentMetadata {
80
80
  ref: TcbReferenceMetadata;
81
81
  typeParameters: TcbTypeParameter[] | null;
82
+ typeArguments: string[] | null;
82
83
  }
83
84
  export interface TcbTypeCheckBlockMetadata {
84
85
  id: TypeCheckId;
@@ -10,11 +10,12 @@ import { Environment } from './environment';
10
10
  import { Reference } from '../../imports';
11
11
  import { ClassDeclaration } from '../../reflection';
12
12
  import ts from 'typescript';
13
+ import { TcbGenericContextBehavior } from './ops/context';
13
14
  /**
14
15
  * Adapts the compiler's `TypeCheckBlockMetadata` (which includes full TS AST nodes)
15
16
  * into a purely detached `TcbTypeCheckBlockMetadata` that can be mapped to JSON.
16
17
  */
17
- export declare function adaptTypeCheckBlockMetadata(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, meta: TypeCheckBlockMetadata, env: Environment): {
18
+ export declare function adaptTypeCheckBlockMetadata(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, meta: TypeCheckBlockMetadata, env: Environment, genericContextBehavior: TcbGenericContextBehavior): {
18
19
  tcbMeta: TcbTypeCheckBlockMetadata;
19
20
  component: TcbComponentMetadata;
20
21
  };
@@ -9,7 +9,6 @@ import { TcbComponentMetadata, TcbTypeCheckBlockMetadata } from '../api';
9
9
  import { DomSchemaChecker } from './dom';
10
10
  import { Environment } from './environment';
11
11
  import { OutOfBandDiagnosticRecorder } from './oob';
12
- import { TcbGenericContextBehavior } from './ops/context';
13
12
  /**
14
13
  * Given a `ts.ClassDeclaration` for a component, and metadata regarding that component, compose a
15
14
  * "type check block" function.
@@ -34,4 +33,4 @@ import { TcbGenericContextBehavior } from './ops/context';
34
33
  * @param genericContextBehavior controls how generic parameters (especially parameters with generic
35
34
  * bounds) will be referenced from the generated TCB code.
36
35
  */
37
- export declare function generateTypeCheckBlock(env: Environment, component: TcbComponentMetadata, name: string, meta: TcbTypeCheckBlockMetadata, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder, genericContextBehavior: TcbGenericContextBehavior): string;
36
+ export declare function generateTypeCheckBlock(env: Environment, component: TcbComponentMetadata, name: string, meta: TcbTypeCheckBlockMetadata, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder): string;