@angular/compiler-cli 17.2.1 → 17.2.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.
- package/bundles/{chunk-UM6JO3VZ.js → chunk-75YFKYUJ.js} +7 -7
- package/bundles/{chunk-63UQIYTZ.js → chunk-FS75LCNP.js} +30 -30
- package/bundles/{chunk-KYE5EYIK.js → chunk-LWM7EW6L.js} +28 -28
- package/bundles/{chunk-KYE5EYIK.js.map → chunk-LWM7EW6L.js.map} +1 -1
- package/bundles/{chunk-PQBKKYRL.js → chunk-MV5DSSRA.js} +497 -492
- package/bundles/chunk-MV5DSSRA.js.map +6 -0
- package/bundles/{chunk-QLLRERNV.js → chunk-NQAH24UD.js} +5 -5
- package/bundles/{chunk-6VEEN3ZS.js → chunk-Q5Y7HH3O.js} +5 -5
- package/bundles/{chunk-64JBPJBS.js → chunk-R4KQI5XI.js} +5 -5
- package/bundles/{chunk-LYJKWJUC.js → chunk-SBDNBITT.js} +3 -3
- package/bundles/{chunk-KMYUI7UU.js → chunk-SGHI77T2.js} +595 -534
- package/bundles/chunk-SGHI77T2.js.map +6 -0
- package/bundles/{chunk-2WQIUGOU.js → chunk-WCD6LVCP.js} +7 -7
- package/bundles/{chunk-CVK4HV4K.js → chunk-YBXVKJOM.js} +248 -188
- package/bundles/{chunk-CVK4HV4K.js.map → chunk-YBXVKJOM.js.map} +3 -3
- package/bundles/index.js +12 -12
- package/bundles/linker/babel/index.js +12 -12
- package/bundles/linker/index.js +4 -4
- package/bundles/ngcc/index.js +1 -1
- package/bundles/private/bazel.js +1 -1
- package/bundles/private/localize.js +3 -3
- package/bundles/private/migrations.js +5 -5
- package/bundles/private/tooling.js +5 -5
- package/bundles/src/bin/ng_xi18n.js +10 -10
- package/bundles/src/bin/ngc.js +8 -8
- package/bundles_metadata.json +1 -1
- package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
- package/package.json +2 -2
- package/src/ngtsc/annotations/component/src/handler.d.ts +3 -2
- package/src/ngtsc/annotations/directive/src/handler.d.ts +3 -2
- package/src/ngtsc/annotations/directive/src/initializer_functions.d.ts +2 -3
- package/src/ngtsc/annotations/directive/src/input_function.d.ts +2 -1
- package/src/ngtsc/annotations/directive/src/model_function.d.ts +2 -1
- package/src/ngtsc/annotations/directive/src/output_function.d.ts +2 -1
- package/src/ngtsc/annotations/directive/src/query_functions.d.ts +2 -1
- package/src/ngtsc/annotations/directive/src/shared.d.ts +2 -2
- package/src/ngtsc/docs/src/constant_extractor.d.ts +2 -2
- package/src/ngtsc/imports/index.d.ts +1 -0
- package/src/ngtsc/imports/src/imported_symbols_tracker.d.ts +37 -0
- package/src/transformers/jit_transforms/initializer_api_transforms/transform.d.ts +2 -1
- package/src/transformers/jit_transforms/initializer_api_transforms/transform_api.d.ts +3 -2
- package/bundles/chunk-KMYUI7UU.js.map +0 -6
- package/bundles/chunk-PQBKKYRL.js.map +0 -6
- /package/bundles/{chunk-UM6JO3VZ.js.map → chunk-75YFKYUJ.js.map} +0 -0
- /package/bundles/{chunk-63UQIYTZ.js.map → chunk-FS75LCNP.js.map} +0 -0
- /package/bundles/{chunk-QLLRERNV.js.map → chunk-NQAH24UD.js.map} +0 -0
- /package/bundles/{chunk-6VEEN3ZS.js.map → chunk-Q5Y7HH3O.js.map} +0 -0
- /package/bundles/{chunk-64JBPJBS.js.map → chunk-R4KQI5XI.js.map} +0 -0
- /package/bundles/{chunk-LYJKWJUC.js.map → chunk-SBDNBITT.js.map} +0 -0
- /package/bundles/{chunk-2WQIUGOU.js.map → chunk-WCD6LVCP.js.map} +0 -0
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
PotentialImportKind,
|
|
9
9
|
PotentialImportMode,
|
|
10
10
|
SymbolKind
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-Q5Y7HH3O.js";
|
|
12
12
|
import {
|
|
13
13
|
CompilationMode,
|
|
14
14
|
ComponentDecoratorHandler,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
declarationTransformFactory,
|
|
40
40
|
isHostDirectiveMetaForGlobalMode,
|
|
41
41
|
ivyTransformFactory
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-MV5DSSRA.js";
|
|
43
43
|
import {
|
|
44
44
|
AbsoluteModuleStrategy,
|
|
45
45
|
AliasStrategy,
|
|
@@ -52,6 +52,7 @@ import {
|
|
|
52
52
|
ExtendedTemplateDiagnosticName,
|
|
53
53
|
ImportFlags,
|
|
54
54
|
ImportManager,
|
|
55
|
+
ImportedSymbolsTracker,
|
|
55
56
|
LocalCompilationExtraImportsTracker,
|
|
56
57
|
LocalIdentifierStrategy,
|
|
57
58
|
LogicalProjectStrategy,
|
|
@@ -88,14 +89,14 @@ import {
|
|
|
88
89
|
toUnredirectedSourceFile,
|
|
89
90
|
translateExpression,
|
|
90
91
|
translateType
|
|
91
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-YBXVKJOM.js";
|
|
92
93
|
import {
|
|
93
94
|
ActivePerfRecorder,
|
|
94
95
|
DelegatingPerfRecorder,
|
|
95
96
|
PerfCheckpoint,
|
|
96
97
|
PerfEvent,
|
|
97
98
|
PerfPhase
|
|
98
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-R4KQI5XI.js";
|
|
99
100
|
import {
|
|
100
101
|
LogicalFileSystem,
|
|
101
102
|
absoluteFrom,
|
|
@@ -105,9 +106,9 @@ import {
|
|
|
105
106
|
getSourceFileOrError,
|
|
106
107
|
join,
|
|
107
108
|
resolve
|
|
108
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-75YFKYUJ.js";
|
|
109
110
|
|
|
110
|
-
// bazel-out/
|
|
111
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
|
|
111
112
|
var DEFAULT_ERROR_CODE = 100;
|
|
112
113
|
var UNKNOWN_ERROR_CODE = 500;
|
|
113
114
|
var SOURCE = "angular";
|
|
@@ -125,7 +126,7 @@ var EmitFlags;
|
|
|
125
126
|
EmitFlags2[EmitFlags2["All"] = 31] = "All";
|
|
126
127
|
})(EmitFlags || (EmitFlags = {}));
|
|
127
128
|
|
|
128
|
-
// bazel-out/
|
|
129
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
|
|
129
130
|
import ts from "typescript";
|
|
130
131
|
var wrapHostForTest = null;
|
|
131
132
|
function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, true) }) {
|
|
@@ -135,7 +136,7 @@ function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, t
|
|
|
135
136
|
return tsHost;
|
|
136
137
|
}
|
|
137
138
|
|
|
138
|
-
// bazel-out/
|
|
139
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/entities.mjs
|
|
139
140
|
var EntryType;
|
|
140
141
|
(function(EntryType2) {
|
|
141
142
|
EntryType2["Block"] = "block";
|
|
@@ -178,11 +179,11 @@ var MemberTags;
|
|
|
178
179
|
MemberTags2["Inherited"] = "override";
|
|
179
180
|
})(MemberTags || (MemberTags = {}));
|
|
180
181
|
|
|
181
|
-
// bazel-out/
|
|
182
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
|
|
182
183
|
import { HtmlParser, MessageBundle } from "@angular/compiler";
|
|
183
|
-
import
|
|
184
|
+
import ts39 from "typescript";
|
|
184
185
|
|
|
185
|
-
// bazel-out/
|
|
186
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
|
|
186
187
|
import { Xliff, Xliff2, Xmb } from "@angular/compiler";
|
|
187
188
|
import * as path from "path";
|
|
188
189
|
function i18nGetExtension(formatName) {
|
|
@@ -233,10 +234,10 @@ function getPathNormalizer(basePath) {
|
|
|
233
234
|
};
|
|
234
235
|
}
|
|
235
236
|
|
|
236
|
-
// bazel-out/
|
|
237
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
|
|
237
238
|
import ts2 from "typescript";
|
|
238
239
|
|
|
239
|
-
// bazel-out/
|
|
240
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
|
|
240
241
|
function toNumbers(value) {
|
|
241
242
|
const suffixIndex = value.lastIndexOf("-");
|
|
242
243
|
return value.slice(0, suffixIndex === -1 ? value.length : suffixIndex).split(".").map((segment) => {
|
|
@@ -271,7 +272,7 @@ function compareVersions(v1, v2) {
|
|
|
271
272
|
return compareNumbers(toNumbers(v1), toNumbers(v2));
|
|
272
273
|
}
|
|
273
274
|
|
|
274
|
-
// bazel-out/
|
|
275
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
|
|
275
276
|
var MIN_TS_VERSION = "5.2.0";
|
|
276
277
|
var MAX_TS_VERSION = "5.4.0";
|
|
277
278
|
var tsVersion = ts2.version;
|
|
@@ -284,10 +285,10 @@ function verifySupportedTypeScriptVersion() {
|
|
|
284
285
|
checkVersion(tsVersion, MIN_TS_VERSION, MAX_TS_VERSION);
|
|
285
286
|
}
|
|
286
287
|
|
|
287
|
-
// bazel-out/
|
|
288
|
-
import
|
|
288
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
|
|
289
|
+
import ts37 from "typescript";
|
|
289
290
|
|
|
290
|
-
// bazel-out/
|
|
291
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
|
|
291
292
|
var CycleAnalyzer = class {
|
|
292
293
|
constructor(importGraph) {
|
|
293
294
|
this.importGraph = importGraph;
|
|
@@ -358,7 +359,7 @@ var Cycle = class {
|
|
|
358
359
|
}
|
|
359
360
|
};
|
|
360
361
|
|
|
361
|
-
// bazel-out/
|
|
362
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
|
|
362
363
|
import ts3 from "typescript";
|
|
363
364
|
var ImportGraph = class {
|
|
364
365
|
constructor(checker, perf) {
|
|
@@ -450,23 +451,23 @@ var Found = class {
|
|
|
450
451
|
}
|
|
451
452
|
};
|
|
452
453
|
|
|
453
|
-
// bazel-out/
|
|
454
|
-
import
|
|
454
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
|
|
455
|
+
import ts10 from "typescript";
|
|
455
456
|
|
|
456
|
-
// bazel-out/
|
|
457
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
|
|
457
458
|
import ts6 from "typescript";
|
|
458
459
|
|
|
459
|
-
// bazel-out/
|
|
460
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/filters.mjs
|
|
460
461
|
function isAngularPrivateName(name) {
|
|
461
462
|
var _a;
|
|
462
463
|
const firstChar = (_a = name[0]) != null ? _a : "";
|
|
463
464
|
return firstChar === "\u0275" || firstChar === "_";
|
|
464
465
|
}
|
|
465
466
|
|
|
466
|
-
// bazel-out/
|
|
467
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
|
|
467
468
|
import ts5 from "typescript";
|
|
468
469
|
|
|
469
|
-
// bazel-out/
|
|
470
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/generics_extractor.mjs
|
|
470
471
|
function extractGenerics(declaration) {
|
|
471
472
|
var _a, _b;
|
|
472
473
|
return (_b = (_a = declaration.typeParameters) == null ? void 0 : _a.map((typeParam) => {
|
|
@@ -479,7 +480,7 @@ function extractGenerics(declaration) {
|
|
|
479
480
|
})) != null ? _b : [];
|
|
480
481
|
}
|
|
481
482
|
|
|
482
|
-
// bazel-out/
|
|
483
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/jsdoc_extractor.mjs
|
|
483
484
|
import ts4 from "typescript";
|
|
484
485
|
var decoratorExpression = /@(?=(Injectable|Component|Directive|Pipe|NgModule|Input|Output|HostBinding|HostListener|Inject|Optional|Self|Host|SkipSelf))/g;
|
|
485
486
|
function extractJsDocTags(node) {
|
|
@@ -523,12 +524,12 @@ function unescapeAngularDecorators(comment) {
|
|
|
523
524
|
return comment.replace(/_NG_AT_/g, "@");
|
|
524
525
|
}
|
|
525
526
|
|
|
526
|
-
// bazel-out/
|
|
527
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_extractor.mjs
|
|
527
528
|
function extractResolvedTypeString(node, checker) {
|
|
528
529
|
return checker.typeToString(checker.getTypeAtLocation(node));
|
|
529
530
|
}
|
|
530
531
|
|
|
531
|
-
// bazel-out/
|
|
532
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
|
|
532
533
|
var FunctionExtractor = class {
|
|
533
534
|
constructor(name, declaration, typeChecker) {
|
|
534
535
|
this.name = name;
|
|
@@ -584,7 +585,7 @@ var FunctionExtractor = class {
|
|
|
584
585
|
}
|
|
585
586
|
};
|
|
586
587
|
|
|
587
|
-
// bazel-out/
|
|
588
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
|
|
588
589
|
var ClassExtractor = class {
|
|
589
590
|
constructor(declaration, typeChecker) {
|
|
590
591
|
this.declaration = declaration;
|
|
@@ -845,26 +846,63 @@ function extractInterface(declaration, typeChecker) {
|
|
|
845
846
|
return extractor.extract();
|
|
846
847
|
}
|
|
847
848
|
|
|
848
|
-
// bazel-out/
|
|
849
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/constant_extractor.mjs
|
|
850
|
+
import ts7 from "typescript";
|
|
851
|
+
var LITERAL_AS_ENUM_TAG = "object-literal-as-enum";
|
|
849
852
|
function extractConstant(declaration, typeChecker) {
|
|
850
853
|
const resolvedType = typeChecker.getBaseTypeOfLiteralType(typeChecker.getTypeAtLocation(declaration));
|
|
851
|
-
const variableStatement = declaration.parent.parent;
|
|
852
854
|
const rawComment = extractRawJsDoc(declaration.parent.parent);
|
|
855
|
+
const jsdocTags = extractJsDocTags(declaration);
|
|
856
|
+
const description = extractJsDocDescription(declaration);
|
|
857
|
+
const name = declaration.name.getText();
|
|
858
|
+
if (jsdocTags.some((tag) => tag.name === LITERAL_AS_ENUM_TAG)) {
|
|
859
|
+
return {
|
|
860
|
+
name,
|
|
861
|
+
entryType: EntryType.Enum,
|
|
862
|
+
members: extractLiteralPropertiesAsEnumMembers(declaration),
|
|
863
|
+
rawComment,
|
|
864
|
+
description,
|
|
865
|
+
jsdocTags: jsdocTags.filter((tag) => tag.name !== LITERAL_AS_ENUM_TAG)
|
|
866
|
+
};
|
|
867
|
+
}
|
|
853
868
|
return {
|
|
854
|
-
name
|
|
869
|
+
name,
|
|
855
870
|
type: typeChecker.typeToString(resolvedType),
|
|
856
871
|
entryType: EntryType.Constant,
|
|
857
872
|
rawComment,
|
|
858
|
-
description
|
|
859
|
-
jsdocTags
|
|
873
|
+
description,
|
|
874
|
+
jsdocTags
|
|
860
875
|
};
|
|
861
876
|
}
|
|
862
877
|
function isSyntheticAngularConstant(declaration) {
|
|
863
878
|
return declaration.name.getText() === "USED_FOR_NG_TYPE_CHECKING";
|
|
864
879
|
}
|
|
880
|
+
function extractLiteralPropertiesAsEnumMembers(declaration) {
|
|
881
|
+
const initializer = declaration.initializer;
|
|
882
|
+
if (initializer === void 0 || !ts7.isObjectLiteralExpression(initializer)) {
|
|
883
|
+
throw new Error(`Declaration tagged with "${LITERAL_AS_ENUM_TAG}" must be initialized to an object literal`);
|
|
884
|
+
}
|
|
885
|
+
return initializer.properties.map((prop) => {
|
|
886
|
+
if (!ts7.isPropertyAssignment(prop) || !ts7.isIdentifier(prop.name)) {
|
|
887
|
+
throw new Error(`Property in declaration tagged with "${LITERAL_AS_ENUM_TAG}" must be a property assignment with a static name`);
|
|
888
|
+
}
|
|
889
|
+
if (!ts7.isNumericLiteral(prop.initializer) && !ts7.isStringLiteralLike(prop.initializer)) {
|
|
890
|
+
throw new Error(`Property in declaration tagged with "${LITERAL_AS_ENUM_TAG}" must be initialized to a number or string literal`);
|
|
891
|
+
}
|
|
892
|
+
return {
|
|
893
|
+
name: prop.name.text,
|
|
894
|
+
type: `${declaration.name.getText()}.${prop.name.text}`,
|
|
895
|
+
value: prop.initializer.getText(),
|
|
896
|
+
memberType: MemberType.EnumItem,
|
|
897
|
+
jsdocTags: extractJsDocTags(prop),
|
|
898
|
+
description: extractJsDocDescription(prop),
|
|
899
|
+
memberTags: []
|
|
900
|
+
};
|
|
901
|
+
});
|
|
902
|
+
}
|
|
865
903
|
|
|
866
|
-
// bazel-out/
|
|
867
|
-
import
|
|
904
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/decorator_extractor.mjs
|
|
905
|
+
import ts8 from "typescript";
|
|
868
906
|
function extractorDecorator(declaration, typeChecker) {
|
|
869
907
|
const documentedNode = getDecoratorJsDocNode(declaration);
|
|
870
908
|
const decoratorType = getDecoratorType(declaration);
|
|
@@ -885,7 +923,7 @@ function isDecoratorDeclaration(declaration) {
|
|
|
885
923
|
return !!getDecoratorType(declaration);
|
|
886
924
|
}
|
|
887
925
|
function isDecoratorOptionsInterface(declaration) {
|
|
888
|
-
return declaration.getSourceFile().statements.some((s) =>
|
|
926
|
+
return declaration.getSourceFile().statements.some((s) => ts8.isVariableStatement(s) && s.declarationList.declarations.some((d) => isDecoratorDeclaration(d) && d.name.getText() === declaration.name.getText()));
|
|
889
927
|
}
|
|
890
928
|
function getDecoratorType(declaration) {
|
|
891
929
|
var _a, _b;
|
|
@@ -902,19 +940,19 @@ function getDecoratorOptions(declaration, typeChecker) {
|
|
|
902
940
|
var _a, _b;
|
|
903
941
|
const name = declaration.name.getText();
|
|
904
942
|
const optionsDeclaration = declaration.getSourceFile().statements.find((node) => {
|
|
905
|
-
return (
|
|
943
|
+
return (ts8.isInterfaceDeclaration(node) || ts8.isTypeAliasDeclaration(node)) && node.name.getText() === name;
|
|
906
944
|
});
|
|
907
945
|
if (!optionsDeclaration) {
|
|
908
946
|
throw new Error(`Decorator "${name}" has no corresponding options interface.`);
|
|
909
947
|
}
|
|
910
948
|
let optionsInterface;
|
|
911
|
-
if (
|
|
949
|
+
if (ts8.isTypeAliasDeclaration(optionsDeclaration)) {
|
|
912
950
|
const aliasedType = typeChecker.getTypeAtLocation(optionsDeclaration.type);
|
|
913
|
-
optionsInterface = ((_b = (_a = aliasedType.getSymbol()) == null ? void 0 : _a.getDeclarations()) != null ? _b : []).find((d) =>
|
|
951
|
+
optionsInterface = ((_b = (_a = aliasedType.getSymbol()) == null ? void 0 : _a.getDeclarations()) != null ? _b : []).find((d) => ts8.isInterfaceDeclaration(d));
|
|
914
952
|
} else {
|
|
915
953
|
optionsInterface = optionsDeclaration;
|
|
916
954
|
}
|
|
917
|
-
if (!optionsInterface || !
|
|
955
|
+
if (!optionsInterface || !ts8.isInterfaceDeclaration(optionsInterface)) {
|
|
918
956
|
throw new Error(`Options for decorator "${name}" is not an interface.`);
|
|
919
957
|
}
|
|
920
958
|
return extractInterface(optionsInterface, typeChecker).members;
|
|
@@ -922,22 +960,22 @@ function getDecoratorOptions(declaration, typeChecker) {
|
|
|
922
960
|
function getDecoratorJsDocNode(declaration) {
|
|
923
961
|
const name = declaration.name.getText();
|
|
924
962
|
const decoratorInterface = declaration.getSourceFile().statements.find((s) => {
|
|
925
|
-
return
|
|
963
|
+
return ts8.isInterfaceDeclaration(s) && s.name.getText() === `${name}Decorator`;
|
|
926
964
|
});
|
|
927
|
-
if (!decoratorInterface || !
|
|
965
|
+
if (!decoratorInterface || !ts8.isInterfaceDeclaration(decoratorInterface)) {
|
|
928
966
|
throw new Error(`No interface "${name}Decorator" found.`);
|
|
929
967
|
}
|
|
930
968
|
const callSignature = decoratorInterface.members.find((node) => {
|
|
931
|
-
return
|
|
969
|
+
return ts8.isCallSignatureDeclaration(node) && extractRawJsDoc(node);
|
|
932
970
|
});
|
|
933
|
-
if (!callSignature || !
|
|
971
|
+
if (!callSignature || !ts8.isCallSignatureDeclaration(callSignature)) {
|
|
934
972
|
throw new Error(`No call signature with JsDoc on "${name}Decorator"`);
|
|
935
973
|
}
|
|
936
974
|
return callSignature;
|
|
937
975
|
}
|
|
938
976
|
|
|
939
|
-
// bazel-out/
|
|
940
|
-
import
|
|
977
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/enum_extractor.mjs
|
|
978
|
+
import ts9 from "typescript";
|
|
941
979
|
function extractEnum(declaration, typeChecker) {
|
|
942
980
|
return {
|
|
943
981
|
name: declaration.name.getText(),
|
|
@@ -962,12 +1000,12 @@ function extractEnumMembers(declaration, checker) {
|
|
|
962
1000
|
function getEnumMemberValue(memberNode) {
|
|
963
1001
|
var _a;
|
|
964
1002
|
const literal = memberNode.getChildren().find((n) => {
|
|
965
|
-
return
|
|
1003
|
+
return ts9.isNumericLiteral(n) || ts9.isStringLiteral(n) || ts9.isPrefixUnaryExpression(n) && n.operator === ts9.SyntaxKind.MinusToken && ts9.isNumericLiteral(n.operand);
|
|
966
1004
|
});
|
|
967
1005
|
return (_a = literal == null ? void 0 : literal.getText()) != null ? _a : "";
|
|
968
1006
|
}
|
|
969
1007
|
|
|
970
|
-
// bazel-out/
|
|
1008
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_alias_extractor.mjs
|
|
971
1009
|
function extractTypeAlias(declaration) {
|
|
972
1010
|
return {
|
|
973
1011
|
name: declaration.name.getText(),
|
|
@@ -979,7 +1017,7 @@ function extractTypeAlias(declaration) {
|
|
|
979
1017
|
};
|
|
980
1018
|
}
|
|
981
1019
|
|
|
982
|
-
// bazel-out/
|
|
1020
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
|
|
983
1021
|
var DocsExtractor = class {
|
|
984
1022
|
constructor(typeChecker, metadataReader) {
|
|
985
1023
|
this.typeChecker = typeChecker;
|
|
@@ -1002,20 +1040,20 @@ var DocsExtractor = class {
|
|
|
1002
1040
|
if (isNamedClassDeclaration(node)) {
|
|
1003
1041
|
return extractClass(node, this.metadataReader, this.typeChecker);
|
|
1004
1042
|
}
|
|
1005
|
-
if (
|
|
1043
|
+
if (ts10.isInterfaceDeclaration(node) && !isIgnoredInterface(node)) {
|
|
1006
1044
|
return extractInterface(node, this.typeChecker);
|
|
1007
1045
|
}
|
|
1008
|
-
if (
|
|
1046
|
+
if (ts10.isFunctionDeclaration(node)) {
|
|
1009
1047
|
const functionExtractor = new FunctionExtractor(node.name.getText(), node, this.typeChecker);
|
|
1010
1048
|
return functionExtractor.extract();
|
|
1011
1049
|
}
|
|
1012
|
-
if (
|
|
1050
|
+
if (ts10.isVariableDeclaration(node) && !isSyntheticAngularConstant(node)) {
|
|
1013
1051
|
return isDecoratorDeclaration(node) ? extractorDecorator(node, this.typeChecker) : extractConstant(node, this.typeChecker);
|
|
1014
1052
|
}
|
|
1015
|
-
if (
|
|
1053
|
+
if (ts10.isTypeAliasDeclaration(node)) {
|
|
1016
1054
|
return extractTypeAlias(node);
|
|
1017
1055
|
}
|
|
1018
|
-
if (
|
|
1056
|
+
if (ts10.isEnumDeclaration(node)) {
|
|
1019
1057
|
return extractEnum(node, this.typeChecker);
|
|
1020
1058
|
}
|
|
1021
1059
|
return null;
|
|
@@ -1028,7 +1066,7 @@ var DocsExtractor = class {
|
|
|
1028
1066
|
const declarationCount = exportedDeclarations.length;
|
|
1029
1067
|
for (let i = 0; i < declarationCount; i++) {
|
|
1030
1068
|
const [exportName, declaration] = exportedDeclarations[i];
|
|
1031
|
-
if (
|
|
1069
|
+
if (ts10.isFunctionDeclaration(declaration)) {
|
|
1032
1070
|
const extractor = new FunctionExtractor(exportName, declaration, this.typeChecker);
|
|
1033
1071
|
const overloads = extractor.getOverloads().map((overload) => [exportName, overload]);
|
|
1034
1072
|
exportedDeclarations.push(...overloads);
|
|
@@ -1041,8 +1079,8 @@ function isIgnoredInterface(node) {
|
|
|
1041
1079
|
return node.name.getText().endsWith("Decorator") || isDecoratorOptionsInterface(node);
|
|
1042
1080
|
}
|
|
1043
1081
|
|
|
1044
|
-
// bazel-out/
|
|
1045
|
-
import
|
|
1082
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
|
|
1083
|
+
import ts11 from "typescript";
|
|
1046
1084
|
var FlatIndexGenerator = class {
|
|
1047
1085
|
constructor(entryPoint, relativeFlatIndexPath, moduleName) {
|
|
1048
1086
|
this.entryPoint = entryPoint;
|
|
@@ -1058,7 +1096,7 @@ var FlatIndexGenerator = class {
|
|
|
1058
1096
|
|
|
1059
1097
|
export * from '${relativeEntryPoint}';
|
|
1060
1098
|
`;
|
|
1061
|
-
const genFile =
|
|
1099
|
+
const genFile = ts11.createSourceFile(this.flatIndexPath, contents, ts11.ScriptTarget.ES2015, true, ts11.ScriptKind.TS);
|
|
1062
1100
|
if (this.moduleName !== null) {
|
|
1063
1101
|
genFile.moduleName = this.moduleName;
|
|
1064
1102
|
}
|
|
@@ -1066,7 +1104,7 @@ export * from '${relativeEntryPoint}';
|
|
|
1066
1104
|
}
|
|
1067
1105
|
};
|
|
1068
1106
|
|
|
1069
|
-
// bazel-out/
|
|
1107
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
|
|
1070
1108
|
function findFlatIndexEntryPoint(rootFiles) {
|
|
1071
1109
|
const tsFiles = rootFiles.filter((file) => isNonDeclarationTsPath(file));
|
|
1072
1110
|
let resolvedEntryPoint = null;
|
|
@@ -1082,8 +1120,8 @@ function findFlatIndexEntryPoint(rootFiles) {
|
|
|
1082
1120
|
return resolvedEntryPoint;
|
|
1083
1121
|
}
|
|
1084
1122
|
|
|
1085
|
-
// bazel-out/
|
|
1086
|
-
import
|
|
1123
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
|
|
1124
|
+
import ts12 from "typescript";
|
|
1087
1125
|
function checkForPrivateExports(entryPoint, checker, refGraph) {
|
|
1088
1126
|
const diagnostics = [];
|
|
1089
1127
|
const topLevelExports = /* @__PURE__ */ new Set();
|
|
@@ -1093,7 +1131,7 @@ function checkForPrivateExports(entryPoint, checker, refGraph) {
|
|
|
1093
1131
|
}
|
|
1094
1132
|
const exportedSymbols = checker.getExportsOfModule(moduleSymbol);
|
|
1095
1133
|
exportedSymbols.forEach((symbol) => {
|
|
1096
|
-
if (symbol.flags &
|
|
1134
|
+
if (symbol.flags & ts12.SymbolFlags.Alias) {
|
|
1097
1135
|
symbol = checker.getAliasedSymbol(symbol);
|
|
1098
1136
|
}
|
|
1099
1137
|
const decl = symbol.valueDeclaration;
|
|
@@ -1117,7 +1155,7 @@ function checkForPrivateExports(entryPoint, checker, refGraph) {
|
|
|
1117
1155
|
visibleVia = transitivePath.map((seg) => getNameOfDeclaration(seg)).join(" -> ");
|
|
1118
1156
|
}
|
|
1119
1157
|
const diagnostic = {
|
|
1120
|
-
category:
|
|
1158
|
+
category: ts12.DiagnosticCategory.Error,
|
|
1121
1159
|
code: ngErrorCode(ErrorCode.SYMBOL_NOT_EXPORTED),
|
|
1122
1160
|
file: transitiveReference.getSourceFile(),
|
|
1123
1161
|
...getPosOfDeclaration(transitiveReference),
|
|
@@ -1137,7 +1175,7 @@ function getPosOfDeclaration(decl) {
|
|
|
1137
1175
|
};
|
|
1138
1176
|
}
|
|
1139
1177
|
function getIdentifierOfDeclaration(decl) {
|
|
1140
|
-
if ((
|
|
1178
|
+
if ((ts12.isClassDeclaration(decl) || ts12.isVariableDeclaration(decl) || ts12.isFunctionDeclaration(decl)) && decl.name !== void 0 && ts12.isIdentifier(decl.name)) {
|
|
1141
1179
|
return decl.name;
|
|
1142
1180
|
} else {
|
|
1143
1181
|
return null;
|
|
@@ -1149,20 +1187,20 @@ function getNameOfDeclaration(decl) {
|
|
|
1149
1187
|
}
|
|
1150
1188
|
function getDescriptorOfDeclaration(decl) {
|
|
1151
1189
|
switch (decl.kind) {
|
|
1152
|
-
case
|
|
1190
|
+
case ts12.SyntaxKind.ClassDeclaration:
|
|
1153
1191
|
return "class";
|
|
1154
|
-
case
|
|
1192
|
+
case ts12.SyntaxKind.FunctionDeclaration:
|
|
1155
1193
|
return "function";
|
|
1156
|
-
case
|
|
1194
|
+
case ts12.SyntaxKind.VariableDeclaration:
|
|
1157
1195
|
return "variable";
|
|
1158
|
-
case
|
|
1196
|
+
case ts12.SyntaxKind.EnumDeclaration:
|
|
1159
1197
|
return "enum";
|
|
1160
1198
|
default:
|
|
1161
1199
|
return "declaration";
|
|
1162
1200
|
}
|
|
1163
1201
|
}
|
|
1164
1202
|
|
|
1165
|
-
// bazel-out/
|
|
1203
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
|
|
1166
1204
|
var ReferenceGraph = class {
|
|
1167
1205
|
constructor() {
|
|
1168
1206
|
this.references = /* @__PURE__ */ new Map();
|
|
@@ -1216,7 +1254,7 @@ var ReferenceGraph = class {
|
|
|
1216
1254
|
}
|
|
1217
1255
|
};
|
|
1218
1256
|
|
|
1219
|
-
// bazel-out/
|
|
1257
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
|
|
1220
1258
|
var NgOriginalFile = Symbol("NgOriginalFile");
|
|
1221
1259
|
var UpdateMode;
|
|
1222
1260
|
(function(UpdateMode2) {
|
|
@@ -1224,13 +1262,13 @@ var UpdateMode;
|
|
|
1224
1262
|
UpdateMode2[UpdateMode2["Incremental"] = 1] = "Incremental";
|
|
1225
1263
|
})(UpdateMode || (UpdateMode = {}));
|
|
1226
1264
|
|
|
1227
|
-
// bazel-out/
|
|
1228
|
-
import
|
|
1265
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
|
|
1266
|
+
import ts14 from "typescript";
|
|
1229
1267
|
|
|
1230
|
-
// bazel-out/
|
|
1231
|
-
import
|
|
1268
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
|
|
1269
|
+
import ts13 from "typescript";
|
|
1232
1270
|
|
|
1233
|
-
// bazel-out/
|
|
1271
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/expando.mjs
|
|
1234
1272
|
var NgExtension = Symbol("NgExtension");
|
|
1235
1273
|
function isExtended(sf) {
|
|
1236
1274
|
return sf[NgExtension] !== void 0;
|
|
@@ -1290,13 +1328,13 @@ function retagTsFile(sf) {
|
|
|
1290
1328
|
}
|
|
1291
1329
|
}
|
|
1292
1330
|
|
|
1293
|
-
// bazel-out/
|
|
1331
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/util.mjs
|
|
1294
1332
|
var TS_EXTENSIONS = /\.tsx?$/i;
|
|
1295
1333
|
function makeShimFileName(fileName, suffix) {
|
|
1296
1334
|
return absoluteFrom(fileName.replace(TS_EXTENSIONS, suffix));
|
|
1297
1335
|
}
|
|
1298
1336
|
|
|
1299
|
-
// bazel-out/
|
|
1337
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
|
|
1300
1338
|
var ShimAdapter = class {
|
|
1301
1339
|
constructor(delegate, tsRootFiles, topLevelGenerators, perFileGenerators, oldProgram) {
|
|
1302
1340
|
this.delegate = delegate;
|
|
@@ -1359,10 +1397,10 @@ var ShimAdapter = class {
|
|
|
1359
1397
|
}
|
|
1360
1398
|
const prefix = match[1];
|
|
1361
1399
|
let baseFileName = absoluteFrom(prefix + ".ts");
|
|
1362
|
-
let inputFile = this.delegate.getSourceFile(baseFileName,
|
|
1400
|
+
let inputFile = this.delegate.getSourceFile(baseFileName, ts13.ScriptTarget.Latest);
|
|
1363
1401
|
if (inputFile === void 0) {
|
|
1364
1402
|
baseFileName = absoluteFrom(prefix + ".tsx");
|
|
1365
|
-
inputFile = this.delegate.getSourceFile(baseFileName,
|
|
1403
|
+
inputFile = this.delegate.getSourceFile(baseFileName, ts13.ScriptTarget.Latest);
|
|
1366
1404
|
}
|
|
1367
1405
|
if (inputFile === void 0 || isShim(inputFile)) {
|
|
1368
1406
|
return void 0;
|
|
@@ -1391,7 +1429,7 @@ var ShimAdapter = class {
|
|
|
1391
1429
|
}
|
|
1392
1430
|
};
|
|
1393
1431
|
|
|
1394
|
-
// bazel-out/
|
|
1432
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/reference_tagger.mjs
|
|
1395
1433
|
var ShimReferenceTagger = class {
|
|
1396
1434
|
constructor(shimExtensions) {
|
|
1397
1435
|
this.tagged = /* @__PURE__ */ new Set();
|
|
@@ -1425,7 +1463,7 @@ var ShimReferenceTagger = class {
|
|
|
1425
1463
|
}
|
|
1426
1464
|
};
|
|
1427
1465
|
|
|
1428
|
-
// bazel-out/
|
|
1466
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
|
|
1429
1467
|
var DelegatingCompilerHost = class {
|
|
1430
1468
|
get jsDocParsingMode() {
|
|
1431
1469
|
return this.delegate.jsDocParsingMode;
|
|
@@ -1523,7 +1561,7 @@ var TsCreateProgramDriver = class {
|
|
|
1523
1561
|
this.sfMap.clear();
|
|
1524
1562
|
}
|
|
1525
1563
|
for (const [filePath, { newText, originalFile }] of contents.entries()) {
|
|
1526
|
-
const sf =
|
|
1564
|
+
const sf = ts14.createSourceFile(filePath, newText, ts14.ScriptTarget.Latest, true);
|
|
1527
1565
|
if (originalFile !== null) {
|
|
1528
1566
|
sf[NgOriginalFile] = originalFile;
|
|
1529
1567
|
}
|
|
@@ -1532,7 +1570,7 @@ var TsCreateProgramDriver = class {
|
|
|
1532
1570
|
const host = new UpdatedProgramHost(this.sfMap, this.originalProgram, this.originalHost, this.shimExtensionPrefixes);
|
|
1533
1571
|
const oldProgram = this.program;
|
|
1534
1572
|
retagAllTsFiles(oldProgram);
|
|
1535
|
-
this.program =
|
|
1573
|
+
this.program = ts14.createProgram({
|
|
1536
1574
|
host,
|
|
1537
1575
|
rootNames: this.program.getRootFileNames(),
|
|
1538
1576
|
options: this.options,
|
|
@@ -1544,7 +1582,7 @@ var TsCreateProgramDriver = class {
|
|
|
1544
1582
|
}
|
|
1545
1583
|
};
|
|
1546
1584
|
|
|
1547
|
-
// bazel-out/
|
|
1585
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
|
|
1548
1586
|
var FileDependencyGraph = class {
|
|
1549
1587
|
constructor() {
|
|
1550
1588
|
this.nodes = /* @__PURE__ */ new Map();
|
|
@@ -1611,7 +1649,7 @@ function isLogicallyChanged(sf, node, changedTsPaths, deletedTsPaths, changedRes
|
|
|
1611
1649
|
return false;
|
|
1612
1650
|
}
|
|
1613
1651
|
|
|
1614
|
-
// bazel-out/
|
|
1652
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
|
|
1615
1653
|
var IncrementalStateKind;
|
|
1616
1654
|
(function(IncrementalStateKind2) {
|
|
1617
1655
|
IncrementalStateKind2[IncrementalStateKind2["Fresh"] = 0] = "Fresh";
|
|
@@ -1619,7 +1657,7 @@ var IncrementalStateKind;
|
|
|
1619
1657
|
IncrementalStateKind2[IncrementalStateKind2["Analyzed"] = 2] = "Analyzed";
|
|
1620
1658
|
})(IncrementalStateKind || (IncrementalStateKind = {}));
|
|
1621
1659
|
|
|
1622
|
-
// bazel-out/
|
|
1660
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
|
|
1623
1661
|
var PhaseKind;
|
|
1624
1662
|
(function(PhaseKind2) {
|
|
1625
1663
|
PhaseKind2[PhaseKind2["Analysis"] = 0] = "Analysis";
|
|
@@ -1820,7 +1858,7 @@ function toOriginalSourceFile(sf) {
|
|
|
1820
1858
|
}
|
|
1821
1859
|
}
|
|
1822
1860
|
|
|
1823
|
-
// bazel-out/
|
|
1861
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
|
|
1824
1862
|
var TrackedIncrementalBuildStrategy = class {
|
|
1825
1863
|
constructor() {
|
|
1826
1864
|
this.state = null;
|
|
@@ -1856,7 +1894,7 @@ var PatchedProgramIncrementalBuildStrategy = class {
|
|
|
1856
1894
|
};
|
|
1857
1895
|
var SYM_INCREMENTAL_STATE = Symbol("NgIncrementalState");
|
|
1858
1896
|
|
|
1859
|
-
// bazel-out/
|
|
1897
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
|
|
1860
1898
|
var IdentifierKind;
|
|
1861
1899
|
(function(IdentifierKind2) {
|
|
1862
1900
|
IdentifierKind2[IdentifierKind2["Property"] = 0] = "Property";
|
|
@@ -1874,7 +1912,7 @@ var AbsoluteSourceSpan = class {
|
|
|
1874
1912
|
}
|
|
1875
1913
|
};
|
|
1876
1914
|
|
|
1877
|
-
// bazel-out/
|
|
1915
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
|
|
1878
1916
|
var IndexingContext = class {
|
|
1879
1917
|
constructor() {
|
|
1880
1918
|
this.components = /* @__PURE__ */ new Set();
|
|
@@ -1884,10 +1922,10 @@ var IndexingContext = class {
|
|
|
1884
1922
|
}
|
|
1885
1923
|
};
|
|
1886
1924
|
|
|
1887
|
-
// bazel-out/
|
|
1925
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
|
|
1888
1926
|
import { ParseSourceFile } from "@angular/compiler";
|
|
1889
1927
|
|
|
1890
|
-
// bazel-out/
|
|
1928
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
|
|
1891
1929
|
import { ASTWithSource, ImplicitReceiver, PropertyRead, PropertyWrite, RecursiveAstVisitor, TmplAstBoundDeferredTrigger, TmplAstElement, TmplAstRecursiveVisitor, TmplAstReference, TmplAstTemplate } from "@angular/compiler";
|
|
1892
1930
|
var ExpressionVisitor = class extends RecursiveAstVisitor {
|
|
1893
1931
|
constructor(expressionStr, absoluteOffset, boundTemplate, targetToIdentifier) {
|
|
@@ -2169,7 +2207,7 @@ function getTemplateIdentifiers(boundTemplate) {
|
|
|
2169
2207
|
return { identifiers: visitor.identifiers, errors: visitor.errors };
|
|
2170
2208
|
}
|
|
2171
2209
|
|
|
2172
|
-
// bazel-out/
|
|
2210
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
|
|
2173
2211
|
function generateAnalysis(context) {
|
|
2174
2212
|
const analysis = /* @__PURE__ */ new Map();
|
|
2175
2213
|
context.components.forEach(({ declaration, selector, boundTemplate, templateMeta }) => {
|
|
@@ -2205,7 +2243,7 @@ function generateAnalysis(context) {
|
|
|
2205
2243
|
return analysis;
|
|
2206
2244
|
}
|
|
2207
2245
|
|
|
2208
|
-
// bazel-out/
|
|
2246
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
|
|
2209
2247
|
var NgModuleIndexImpl = class {
|
|
2210
2248
|
constructor(metaReader, localReader) {
|
|
2211
2249
|
this.metaReader = metaReader;
|
|
@@ -2294,8 +2332,8 @@ var NgModuleIndexImpl = class {
|
|
|
2294
2332
|
}
|
|
2295
2333
|
};
|
|
2296
2334
|
|
|
2297
|
-
// bazel-out/
|
|
2298
|
-
import
|
|
2335
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
|
|
2336
|
+
import ts15 from "typescript";
|
|
2299
2337
|
var CSS_PREPROCESSOR_EXT = /(\.scss|\.sass|\.less|\.styl)$/;
|
|
2300
2338
|
var RESOURCE_MARKER = ".$ngresource$";
|
|
2301
2339
|
var RESOURCE_MARKER_TS = RESOURCE_MARKER + ".ts";
|
|
@@ -2405,7 +2443,7 @@ var AdapterResourceLoader = class {
|
|
|
2405
2443
|
return this.adapter.rootDirs.map((rootDir) => join(rootDir, segment));
|
|
2406
2444
|
}
|
|
2407
2445
|
getResolvedCandidateLocations(url, fromFile) {
|
|
2408
|
-
const failedLookup =
|
|
2446
|
+
const failedLookup = ts15.resolveModuleName(url + RESOURCE_MARKER, fromFile, this.options, this.lookupResolutionHost);
|
|
2409
2447
|
if (failedLookup.failedLookupLocations === void 0) {
|
|
2410
2448
|
throw new Error(`Internal error: expected to find failedLookupLocations during resolution of resource '${url}' in context of ${fromFile}`);
|
|
2411
2449
|
}
|
|
@@ -2440,7 +2478,7 @@ function createLookupResolutionHost(adapter) {
|
|
|
2440
2478
|
};
|
|
2441
2479
|
}
|
|
2442
2480
|
|
|
2443
|
-
// bazel-out/
|
|
2481
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
|
|
2444
2482
|
var StandaloneComponentScopeReader = class {
|
|
2445
2483
|
constructor(metaReader, localModuleReader, dtsModuleReader) {
|
|
2446
2484
|
this.metaReader = metaReader;
|
|
@@ -2536,11 +2574,11 @@ var StandaloneComponentScopeReader = class {
|
|
|
2536
2574
|
}
|
|
2537
2575
|
};
|
|
2538
2576
|
|
|
2539
|
-
// bazel-out/
|
|
2577
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
|
|
2540
2578
|
import { CssSelector as CssSelector2, DomElementSchemaRegistry as DomElementSchemaRegistry2, ExternalExpr as ExternalExpr2, WrappedNodeExpr as WrappedNodeExpr2 } from "@angular/compiler";
|
|
2541
2579
|
|
|
2542
|
-
// bazel-out/
|
|
2543
|
-
import
|
|
2580
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
|
|
2581
|
+
import ts16 from "typescript";
|
|
2544
2582
|
function makeTemplateDiagnostic(templateId, mapping, span, category, code, messageText, relatedMessages) {
|
|
2545
2583
|
var _a;
|
|
2546
2584
|
if (mapping.type === "direct") {
|
|
@@ -2549,7 +2587,7 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
|
|
|
2549
2587
|
relatedInformation = [];
|
|
2550
2588
|
for (const relatedMessage of relatedMessages) {
|
|
2551
2589
|
relatedInformation.push({
|
|
2552
|
-
category:
|
|
2590
|
+
category: ts16.DiagnosticCategory.Message,
|
|
2553
2591
|
code: 0,
|
|
2554
2592
|
file: relatedMessage.sourceFile,
|
|
2555
2593
|
start: relatedMessage.start,
|
|
@@ -2578,7 +2616,7 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
|
|
|
2578
2616
|
if (relatedMessages !== void 0) {
|
|
2579
2617
|
for (const relatedMessage of relatedMessages) {
|
|
2580
2618
|
relatedInformation.push({
|
|
2581
|
-
category:
|
|
2619
|
+
category: ts16.DiagnosticCategory.Message,
|
|
2582
2620
|
code: 0,
|
|
2583
2621
|
file: relatedMessage.sourceFile,
|
|
2584
2622
|
start: relatedMessage.start,
|
|
@@ -2608,7 +2646,7 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
|
|
|
2608
2646
|
};
|
|
2609
2647
|
}
|
|
2610
2648
|
relatedInformation.push({
|
|
2611
|
-
category:
|
|
2649
|
+
category: ts16.DiagnosticCategory.Message,
|
|
2612
2650
|
code: 0,
|
|
2613
2651
|
file: componentSf,
|
|
2614
2652
|
start: mapping.node.getStart(),
|
|
@@ -2643,10 +2681,10 @@ function parseTemplateAsSourceFile(fileName, template) {
|
|
|
2643
2681
|
if (parseTemplateAsSourceFileForTest !== null) {
|
|
2644
2682
|
return parseTemplateAsSourceFileForTest(fileName, template);
|
|
2645
2683
|
}
|
|
2646
|
-
return
|
|
2684
|
+
return ts16.createSourceFile(fileName, template, ts16.ScriptTarget.Latest, false, ts16.ScriptKind.JSX);
|
|
2647
2685
|
}
|
|
2648
2686
|
|
|
2649
|
-
// bazel-out/
|
|
2687
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
|
|
2650
2688
|
var TEMPLATE_ID = Symbol("ngTemplateId");
|
|
2651
2689
|
var NEXT_TEMPLATE_ID = Symbol("ngNextTemplateId");
|
|
2652
2690
|
function getTemplateId(clazz) {
|
|
@@ -2663,17 +2701,17 @@ function allocateTemplateId(sf) {
|
|
|
2663
2701
|
return `tcb${sf[NEXT_TEMPLATE_ID]++}`;
|
|
2664
2702
|
}
|
|
2665
2703
|
|
|
2666
|
-
// bazel-out/
|
|
2704
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
|
|
2667
2705
|
import { EmptyExpr, ImplicitReceiver as ImplicitReceiver2, PropertyRead as PropertyRead2, PropertyWrite as PropertyWrite2, SafePropertyRead, TmplAstReference as TmplAstReference2, TmplAstTextAttribute } from "@angular/compiler";
|
|
2668
|
-
import
|
|
2706
|
+
import ts18 from "typescript";
|
|
2669
2707
|
|
|
2670
|
-
// bazel-out/
|
|
2708
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
|
|
2671
2709
|
import { AbsoluteSourceSpan as AbsoluteSourceSpan2 } from "@angular/compiler";
|
|
2672
|
-
import
|
|
2710
|
+
import ts17 from "typescript";
|
|
2673
2711
|
var parseSpanComment = /^(\d+),(\d+)$/;
|
|
2674
2712
|
function readSpanComment(node, sourceFile = node.getSourceFile()) {
|
|
2675
|
-
return
|
|
2676
|
-
if (kind !==
|
|
2713
|
+
return ts17.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
|
|
2714
|
+
if (kind !== ts17.SyntaxKind.MultiLineCommentTrivia) {
|
|
2677
2715
|
return null;
|
|
2678
2716
|
}
|
|
2679
2717
|
const commentText = sourceFile.text.substring(pos + 2, end - 2);
|
|
@@ -2697,25 +2735,25 @@ var ExpressionIdentifier;
|
|
|
2697
2735
|
ExpressionIdentifier2["VARIABLE_AS_EXPRESSION"] = "VAE";
|
|
2698
2736
|
})(ExpressionIdentifier || (ExpressionIdentifier = {}));
|
|
2699
2737
|
function addExpressionIdentifier(node, identifier) {
|
|
2700
|
-
|
|
2738
|
+
ts17.addSyntheticTrailingComment(
|
|
2701
2739
|
node,
|
|
2702
|
-
|
|
2740
|
+
ts17.SyntaxKind.MultiLineCommentTrivia,
|
|
2703
2741
|
`${CommentTriviaType.EXPRESSION_TYPE_IDENTIFIER}:${identifier}`,
|
|
2704
2742
|
false
|
|
2705
2743
|
);
|
|
2706
2744
|
}
|
|
2707
2745
|
var IGNORE_FOR_DIAGNOSTICS_MARKER = `${CommentTriviaType.DIAGNOSTIC}:ignore`;
|
|
2708
2746
|
function markIgnoreDiagnostics(node) {
|
|
2709
|
-
|
|
2747
|
+
ts17.addSyntheticTrailingComment(
|
|
2710
2748
|
node,
|
|
2711
|
-
|
|
2749
|
+
ts17.SyntaxKind.MultiLineCommentTrivia,
|
|
2712
2750
|
IGNORE_FOR_DIAGNOSTICS_MARKER,
|
|
2713
2751
|
false
|
|
2714
2752
|
);
|
|
2715
2753
|
}
|
|
2716
2754
|
function hasIgnoreForDiagnosticsMarker(node, sourceFile) {
|
|
2717
|
-
return
|
|
2718
|
-
if (kind !==
|
|
2755
|
+
return ts17.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
|
|
2756
|
+
if (kind !== ts17.SyntaxKind.MultiLineCommentTrivia) {
|
|
2719
2757
|
return null;
|
|
2720
2758
|
}
|
|
2721
2759
|
const commentText = sourceFile.text.substring(pos + 2, end - 2);
|
|
@@ -2789,8 +2827,8 @@ function findAllMatchingNodes(tcb, opts) {
|
|
|
2789
2827
|
return results;
|
|
2790
2828
|
}
|
|
2791
2829
|
function hasExpressionIdentifier(sourceFile, node, identifier) {
|
|
2792
|
-
return
|
|
2793
|
-
if (kind !==
|
|
2830
|
+
return ts17.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
|
|
2831
|
+
if (kind !== ts17.SyntaxKind.MultiLineCommentTrivia) {
|
|
2794
2832
|
return false;
|
|
2795
2833
|
}
|
|
2796
2834
|
const commentText = sourceFile.text.substring(pos + 2, end - 2);
|
|
@@ -2798,7 +2836,7 @@ function hasExpressionIdentifier(sourceFile, node, identifier) {
|
|
|
2798
2836
|
}) || false;
|
|
2799
2837
|
}
|
|
2800
2838
|
|
|
2801
|
-
// bazel-out/
|
|
2839
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
|
|
2802
2840
|
var CompletionEngine = class {
|
|
2803
2841
|
constructor(tcb, data, tcbPath, tcbIsShim) {
|
|
2804
2842
|
this.tcb = tcb;
|
|
@@ -2808,7 +2846,7 @@ var CompletionEngine = class {
|
|
|
2808
2846
|
this.templateContextCache = /* @__PURE__ */ new Map();
|
|
2809
2847
|
this.expressionCompletionCache = /* @__PURE__ */ new Map();
|
|
2810
2848
|
const globalRead = findFirstMatchingNode(this.tcb, {
|
|
2811
|
-
filter:
|
|
2849
|
+
filter: ts18.isPropertyAccessExpression,
|
|
2812
2850
|
withExpressionIdentifier: ExpressionIdentifier.COMPONENT_COMPLETION
|
|
2813
2851
|
});
|
|
2814
2852
|
if (globalRead !== null) {
|
|
@@ -2832,7 +2870,7 @@ var CompletionEngine = class {
|
|
|
2832
2870
|
let nodeContext = null;
|
|
2833
2871
|
if (node instanceof EmptyExpr) {
|
|
2834
2872
|
const nodeLocation = findFirstMatchingNode(this.tcb, {
|
|
2835
|
-
filter:
|
|
2873
|
+
filter: ts18.isIdentifier,
|
|
2836
2874
|
withSpan: node.sourceSpan
|
|
2837
2875
|
});
|
|
2838
2876
|
if (nodeLocation !== null) {
|
|
@@ -2845,7 +2883,7 @@ var CompletionEngine = class {
|
|
|
2845
2883
|
}
|
|
2846
2884
|
if (node instanceof PropertyRead2 && node.receiver instanceof ImplicitReceiver2) {
|
|
2847
2885
|
const nodeLocation = findFirstMatchingNode(this.tcb, {
|
|
2848
|
-
filter:
|
|
2886
|
+
filter: ts18.isPropertyAccessExpression,
|
|
2849
2887
|
withSpan: node.sourceSpan
|
|
2850
2888
|
});
|
|
2851
2889
|
if (nodeLocation) {
|
|
@@ -2869,21 +2907,21 @@ var CompletionEngine = class {
|
|
|
2869
2907
|
let tsExpr = null;
|
|
2870
2908
|
if (expr instanceof PropertyRead2 || expr instanceof PropertyWrite2) {
|
|
2871
2909
|
tsExpr = findFirstMatchingNode(this.tcb, {
|
|
2872
|
-
filter:
|
|
2910
|
+
filter: ts18.isPropertyAccessExpression,
|
|
2873
2911
|
withSpan: expr.nameSpan
|
|
2874
2912
|
});
|
|
2875
2913
|
} else if (expr instanceof SafePropertyRead) {
|
|
2876
2914
|
const ternaryExpr = findFirstMatchingNode(this.tcb, {
|
|
2877
|
-
filter:
|
|
2915
|
+
filter: ts18.isParenthesizedExpression,
|
|
2878
2916
|
withSpan: expr.sourceSpan
|
|
2879
2917
|
});
|
|
2880
|
-
if (ternaryExpr === null || !
|
|
2918
|
+
if (ternaryExpr === null || !ts18.isConditionalExpression(ternaryExpr.expression)) {
|
|
2881
2919
|
return null;
|
|
2882
2920
|
}
|
|
2883
2921
|
const whenTrue = ternaryExpr.expression.whenTrue;
|
|
2884
|
-
if (
|
|
2922
|
+
if (ts18.isPropertyAccessExpression(whenTrue)) {
|
|
2885
2923
|
tsExpr = whenTrue;
|
|
2886
|
-
} else if (
|
|
2924
|
+
} else if (ts18.isCallExpression(whenTrue) && ts18.isPropertyAccessExpression(whenTrue.expression)) {
|
|
2887
2925
|
tsExpr = whenTrue.expression;
|
|
2888
2926
|
}
|
|
2889
2927
|
}
|
|
@@ -2905,15 +2943,15 @@ var CompletionEngine = class {
|
|
|
2905
2943
|
let tsExpr = null;
|
|
2906
2944
|
if (expr instanceof TmplAstTextAttribute) {
|
|
2907
2945
|
const strNode = findFirstMatchingNode(this.tcb, {
|
|
2908
|
-
filter:
|
|
2946
|
+
filter: ts18.isParenthesizedExpression,
|
|
2909
2947
|
withSpan: expr.sourceSpan
|
|
2910
2948
|
});
|
|
2911
|
-
if (strNode !== null &&
|
|
2949
|
+
if (strNode !== null && ts18.isStringLiteral(strNode.expression)) {
|
|
2912
2950
|
tsExpr = strNode.expression;
|
|
2913
2951
|
}
|
|
2914
2952
|
} else {
|
|
2915
2953
|
tsExpr = findFirstMatchingNode(this.tcb, {
|
|
2916
|
-
filter: (n) =>
|
|
2954
|
+
filter: (n) => ts18.isStringLiteral(n) || ts18.isNumericLiteral(n),
|
|
2917
2955
|
withSpan: expr.sourceSpan
|
|
2918
2956
|
});
|
|
2919
2957
|
}
|
|
@@ -2921,7 +2959,7 @@ var CompletionEngine = class {
|
|
|
2921
2959
|
return null;
|
|
2922
2960
|
}
|
|
2923
2961
|
let positionInShimFile = tsExpr.getEnd();
|
|
2924
|
-
if (
|
|
2962
|
+
if (ts18.isStringLiteral(tsExpr)) {
|
|
2925
2963
|
positionInShimFile -= 1;
|
|
2926
2964
|
}
|
|
2927
2965
|
const res = {
|
|
@@ -2955,12 +2993,12 @@ var CompletionEngine = class {
|
|
|
2955
2993
|
}
|
|
2956
2994
|
};
|
|
2957
2995
|
|
|
2958
|
-
// bazel-out/
|
|
2959
|
-
import
|
|
2996
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
|
|
2997
|
+
import ts31 from "typescript";
|
|
2960
2998
|
|
|
2961
|
-
// bazel-out/
|
|
2999
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
|
|
2962
3000
|
import { DomElementSchemaRegistry } from "@angular/compiler";
|
|
2963
|
-
import
|
|
3001
|
+
import ts19 from "typescript";
|
|
2964
3002
|
var REGISTRY = new DomElementSchemaRegistry();
|
|
2965
3003
|
var REMOVE_XHTML_REGEX = /^:xhtml:/;
|
|
2966
3004
|
var RegistryDomSchemaChecker = class {
|
|
@@ -2985,7 +3023,7 @@ var RegistryDomSchemaChecker = class {
|
|
|
2985
3023
|
} else {
|
|
2986
3024
|
errorMsg += `2. To allow any element add 'NO_ERRORS_SCHEMA' to the ${schemas2} of this component.`;
|
|
2987
3025
|
}
|
|
2988
|
-
const diag = makeTemplateDiagnostic(id, mapping, element.startSourceSpan,
|
|
3026
|
+
const diag = makeTemplateDiagnostic(id, mapping, element.startSourceSpan, ts19.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SCHEMA_INVALID_ELEMENT), errorMsg);
|
|
2989
3027
|
this._diagnostics.push(diag);
|
|
2990
3028
|
}
|
|
2991
3029
|
}
|
|
@@ -3005,16 +3043,16 @@ var RegistryDomSchemaChecker = class {
|
|
|
3005
3043
|
2. If '${element.name}' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the ${schemas2} of this component to suppress this message.
|
|
3006
3044
|
3. To allow any property add 'NO_ERRORS_SCHEMA' to the ${schemas2} of this component.`;
|
|
3007
3045
|
}
|
|
3008
|
-
const diag = makeTemplateDiagnostic(id, mapping, span,
|
|
3046
|
+
const diag = makeTemplateDiagnostic(id, mapping, span, ts19.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SCHEMA_INVALID_ATTRIBUTE), errorMsg);
|
|
3009
3047
|
this._diagnostics.push(diag);
|
|
3010
3048
|
}
|
|
3011
3049
|
}
|
|
3012
3050
|
};
|
|
3013
3051
|
|
|
3014
|
-
// bazel-out/
|
|
3015
|
-
import
|
|
3052
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
|
|
3053
|
+
import ts24 from "typescript";
|
|
3016
3054
|
|
|
3017
|
-
// bazel-out/
|
|
3055
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/reference_emit_environment.mjs
|
|
3018
3056
|
import { ExpressionType, ExternalExpr, TypeModifier } from "@angular/compiler";
|
|
3019
3057
|
var ReferenceEmitEnvironment = class {
|
|
3020
3058
|
constructor(importManager, refEmitter, reflector, contextFile) {
|
|
@@ -3045,87 +3083,87 @@ var ReferenceEmitEnvironment = class {
|
|
|
3045
3083
|
}
|
|
3046
3084
|
};
|
|
3047
3085
|
|
|
3048
|
-
// bazel-out/
|
|
3049
|
-
import
|
|
3086
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
|
|
3087
|
+
import ts20 from "typescript";
|
|
3050
3088
|
var SAFE_TO_CAST_WITHOUT_PARENS = /* @__PURE__ */ new Set([
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3089
|
+
ts20.SyntaxKind.ParenthesizedExpression,
|
|
3090
|
+
ts20.SyntaxKind.Identifier,
|
|
3091
|
+
ts20.SyntaxKind.CallExpression,
|
|
3092
|
+
ts20.SyntaxKind.NonNullExpression,
|
|
3093
|
+
ts20.SyntaxKind.ElementAccessExpression,
|
|
3094
|
+
ts20.SyntaxKind.PropertyAccessExpression,
|
|
3095
|
+
ts20.SyntaxKind.ArrayLiteralExpression,
|
|
3096
|
+
ts20.SyntaxKind.ObjectLiteralExpression,
|
|
3097
|
+
ts20.SyntaxKind.StringLiteral,
|
|
3098
|
+
ts20.SyntaxKind.NumericLiteral,
|
|
3099
|
+
ts20.SyntaxKind.TrueKeyword,
|
|
3100
|
+
ts20.SyntaxKind.FalseKeyword,
|
|
3101
|
+
ts20.SyntaxKind.NullKeyword,
|
|
3102
|
+
ts20.SyntaxKind.UndefinedKeyword
|
|
3065
3103
|
]);
|
|
3066
3104
|
function tsCastToAny(expr) {
|
|
3067
3105
|
if (!SAFE_TO_CAST_WITHOUT_PARENS.has(expr.kind)) {
|
|
3068
|
-
expr =
|
|
3106
|
+
expr = ts20.factory.createParenthesizedExpression(expr);
|
|
3069
3107
|
}
|
|
3070
|
-
return
|
|
3108
|
+
return ts20.factory.createParenthesizedExpression(ts20.factory.createAsExpression(expr, ts20.factory.createKeywordTypeNode(ts20.SyntaxKind.AnyKeyword)));
|
|
3071
3109
|
}
|
|
3072
3110
|
function tsCreateElement(tagName) {
|
|
3073
|
-
const createElement =
|
|
3074
|
-
|
|
3111
|
+
const createElement = ts20.factory.createPropertyAccessExpression(
|
|
3112
|
+
ts20.factory.createIdentifier("document"),
|
|
3075
3113
|
"createElement"
|
|
3076
3114
|
);
|
|
3077
|
-
return
|
|
3115
|
+
return ts20.factory.createCallExpression(
|
|
3078
3116
|
createElement,
|
|
3079
3117
|
void 0,
|
|
3080
|
-
[
|
|
3118
|
+
[ts20.factory.createStringLiteral(tagName)]
|
|
3081
3119
|
);
|
|
3082
3120
|
}
|
|
3083
3121
|
function tsDeclareVariable(id, type) {
|
|
3084
3122
|
addExpressionIdentifier(type, ExpressionIdentifier.VARIABLE_AS_EXPRESSION);
|
|
3085
|
-
const initializer =
|
|
3086
|
-
const decl =
|
|
3123
|
+
const initializer = ts20.factory.createAsExpression(ts20.factory.createNonNullExpression(ts20.factory.createNull()), type);
|
|
3124
|
+
const decl = ts20.factory.createVariableDeclaration(
|
|
3087
3125
|
id,
|
|
3088
3126
|
void 0,
|
|
3089
3127
|
void 0,
|
|
3090
3128
|
initializer
|
|
3091
3129
|
);
|
|
3092
|
-
return
|
|
3130
|
+
return ts20.factory.createVariableStatement(
|
|
3093
3131
|
void 0,
|
|
3094
3132
|
[decl]
|
|
3095
3133
|
);
|
|
3096
3134
|
}
|
|
3097
3135
|
function tsCreateTypeQueryForCoercedInput(typeName, coercedInputName) {
|
|
3098
|
-
return
|
|
3136
|
+
return ts20.factory.createTypeQueryNode(ts20.factory.createQualifiedName(typeName, `ngAcceptInputType_${coercedInputName}`));
|
|
3099
3137
|
}
|
|
3100
3138
|
function tsCreateVariable(id, initializer) {
|
|
3101
|
-
const decl =
|
|
3139
|
+
const decl = ts20.factory.createVariableDeclaration(
|
|
3102
3140
|
id,
|
|
3103
3141
|
void 0,
|
|
3104
3142
|
void 0,
|
|
3105
3143
|
initializer
|
|
3106
3144
|
);
|
|
3107
|
-
return
|
|
3145
|
+
return ts20.factory.createVariableStatement(
|
|
3108
3146
|
void 0,
|
|
3109
3147
|
[decl]
|
|
3110
3148
|
);
|
|
3111
3149
|
}
|
|
3112
3150
|
function tsCallMethod(receiver, methodName, args = []) {
|
|
3113
|
-
const methodAccess =
|
|
3114
|
-
return
|
|
3151
|
+
const methodAccess = ts20.factory.createPropertyAccessExpression(receiver, methodName);
|
|
3152
|
+
return ts20.factory.createCallExpression(
|
|
3115
3153
|
methodAccess,
|
|
3116
3154
|
void 0,
|
|
3117
3155
|
args
|
|
3118
3156
|
);
|
|
3119
3157
|
}
|
|
3120
3158
|
function isAccessExpression(node) {
|
|
3121
|
-
return
|
|
3159
|
+
return ts20.isPropertyAccessExpression(node) || ts20.isElementAccessExpression(node);
|
|
3122
3160
|
}
|
|
3123
3161
|
function tsNumericExpression(value) {
|
|
3124
3162
|
if (value < 0) {
|
|
3125
|
-
const operand =
|
|
3126
|
-
return
|
|
3163
|
+
const operand = ts20.factory.createNumericLiteral(Math.abs(value));
|
|
3164
|
+
return ts20.factory.createPrefixUnaryExpression(ts20.SyntaxKind.MinusToken, operand);
|
|
3127
3165
|
}
|
|
3128
|
-
return
|
|
3166
|
+
return ts20.factory.createNumericLiteral(value);
|
|
3129
3167
|
}
|
|
3130
3168
|
function getImportString(imp) {
|
|
3131
3169
|
if (imp.qualifier === null) {
|
|
@@ -3135,16 +3173,16 @@ function getImportString(imp) {
|
|
|
3135
3173
|
}
|
|
3136
3174
|
}
|
|
3137
3175
|
|
|
3138
|
-
// bazel-out/
|
|
3176
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
|
|
3139
3177
|
import { ExpressionType as ExpressionType2, R3Identifiers as R3Identifiers2, WrappedNodeExpr } from "@angular/compiler";
|
|
3140
|
-
import
|
|
3178
|
+
import ts23 from "typescript";
|
|
3141
3179
|
|
|
3142
|
-
// bazel-out/
|
|
3180
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
|
|
3143
3181
|
import { R3Identifiers } from "@angular/compiler";
|
|
3144
|
-
import
|
|
3182
|
+
import ts22 from "typescript";
|
|
3145
3183
|
|
|
3146
|
-
// bazel-out/
|
|
3147
|
-
import
|
|
3184
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
|
|
3185
|
+
import ts21 from "typescript";
|
|
3148
3186
|
var TypeParameterEmitter = class {
|
|
3149
3187
|
constructor(typeParameters, reflector) {
|
|
3150
3188
|
this.typeParameters = typeParameters;
|
|
@@ -3181,11 +3219,11 @@ var TypeParameterEmitter = class {
|
|
|
3181
3219
|
return this.typeParameters.map((typeParam) => {
|
|
3182
3220
|
const constraint = typeParam.constraint !== void 0 ? emitter.emitType(typeParam.constraint) : void 0;
|
|
3183
3221
|
const defaultType = typeParam.default !== void 0 ? emitter.emitType(typeParam.default) : void 0;
|
|
3184
|
-
return
|
|
3222
|
+
return ts21.factory.updateTypeParameterDeclaration(typeParam, typeParam.modifiers, typeParam.name, constraint, defaultType);
|
|
3185
3223
|
});
|
|
3186
3224
|
}
|
|
3187
3225
|
resolveTypeReference(type) {
|
|
3188
|
-
const target =
|
|
3226
|
+
const target = ts21.isIdentifier(type.typeName) ? type.typeName : type.typeName.right;
|
|
3189
3227
|
const declaration = this.reflector.getDeclarationOfIdentifier(target);
|
|
3190
3228
|
if (declaration === null || declaration.node === null) {
|
|
3191
3229
|
return null;
|
|
@@ -3211,8 +3249,8 @@ var TypeParameterEmitter = class {
|
|
|
3211
3249
|
if (typeNode === null) {
|
|
3212
3250
|
return null;
|
|
3213
3251
|
}
|
|
3214
|
-
if (!
|
|
3215
|
-
throw new Error(`Expected TypeReferenceNode for emitted reference, got ${
|
|
3252
|
+
if (!ts21.isTypeReferenceNode(typeNode)) {
|
|
3253
|
+
throw new Error(`Expected TypeReferenceNode for emitted reference, got ${ts21.SyntaxKind[typeNode.kind]}.`);
|
|
3216
3254
|
}
|
|
3217
3255
|
return typeNode;
|
|
3218
3256
|
}
|
|
@@ -3221,7 +3259,7 @@ var TypeParameterEmitter = class {
|
|
|
3221
3259
|
}
|
|
3222
3260
|
};
|
|
3223
3261
|
|
|
3224
|
-
// bazel-out/
|
|
3262
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
|
|
3225
3263
|
var TCB_FILE_IMPORT_GRAPH_PREPARE_MODULES = [
|
|
3226
3264
|
R3Identifiers.InputSignalBrandWriteType.moduleName
|
|
3227
3265
|
];
|
|
@@ -3257,14 +3295,14 @@ function getTemplateMapping(shimSf, position, resolver, isDiagnosticRequest) {
|
|
|
3257
3295
|
}
|
|
3258
3296
|
function findTypeCheckBlock(file, id, isDiagnosticRequest) {
|
|
3259
3297
|
for (const stmt of file.statements) {
|
|
3260
|
-
if (
|
|
3298
|
+
if (ts22.isFunctionDeclaration(stmt) && getTemplateId2(stmt, file, isDiagnosticRequest) === id) {
|
|
3261
3299
|
return stmt;
|
|
3262
3300
|
}
|
|
3263
3301
|
}
|
|
3264
3302
|
return null;
|
|
3265
3303
|
}
|
|
3266
3304
|
function findSourceLocation(node, sourceFile, isDiagnosticsRequest) {
|
|
3267
|
-
while (node !== void 0 && !
|
|
3305
|
+
while (node !== void 0 && !ts22.isFunctionDeclaration(node)) {
|
|
3268
3306
|
if (hasIgnoreForDiagnosticsMarker(node, sourceFile) && isDiagnosticsRequest) {
|
|
3269
3307
|
return null;
|
|
3270
3308
|
}
|
|
@@ -3281,7 +3319,7 @@ function findSourceLocation(node, sourceFile, isDiagnosticsRequest) {
|
|
|
3281
3319
|
return null;
|
|
3282
3320
|
}
|
|
3283
3321
|
function getTemplateId2(node, sourceFile, isDiagnosticRequest) {
|
|
3284
|
-
while (!
|
|
3322
|
+
while (!ts22.isFunctionDeclaration(node)) {
|
|
3285
3323
|
if (hasIgnoreForDiagnosticsMarker(node, sourceFile) && isDiagnosticRequest) {
|
|
3286
3324
|
return null;
|
|
3287
3325
|
}
|
|
@@ -3291,8 +3329,8 @@ function getTemplateId2(node, sourceFile, isDiagnosticRequest) {
|
|
|
3291
3329
|
}
|
|
3292
3330
|
}
|
|
3293
3331
|
const start = node.getFullStart();
|
|
3294
|
-
return
|
|
3295
|
-
if (kind !==
|
|
3332
|
+
return ts22.forEachLeadingCommentRange(sourceFile.text, start, (pos, end, kind) => {
|
|
3333
|
+
if (kind !== ts22.SyntaxKind.MultiLineCommentTrivia) {
|
|
3296
3334
|
return null;
|
|
3297
3335
|
}
|
|
3298
3336
|
const commentText = sourceFile.text.substring(pos + 2, end - 2);
|
|
@@ -3309,32 +3347,32 @@ function checkIfGenericTypeBoundsCanBeEmitted(node, reflector, env) {
|
|
|
3309
3347
|
return emitter.canEmit((ref) => env.canReferenceType(ref));
|
|
3310
3348
|
}
|
|
3311
3349
|
|
|
3312
|
-
// bazel-out/
|
|
3350
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
|
|
3313
3351
|
function generateTypeCtorDeclarationFn(env, meta, nodeTypeRef, typeParams) {
|
|
3314
3352
|
const rawTypeArgs = typeParams !== void 0 ? generateGenericArgs(typeParams) : void 0;
|
|
3315
|
-
const rawType =
|
|
3353
|
+
const rawType = ts23.factory.createTypeReferenceNode(nodeTypeRef, rawTypeArgs);
|
|
3316
3354
|
const initParam = constructTypeCtorParameter(env, meta, rawType);
|
|
3317
3355
|
const typeParameters = typeParametersWithDefaultTypes(typeParams);
|
|
3318
3356
|
if (meta.body) {
|
|
3319
|
-
const fnType =
|
|
3357
|
+
const fnType = ts23.factory.createFunctionTypeNode(
|
|
3320
3358
|
typeParameters,
|
|
3321
3359
|
[initParam],
|
|
3322
3360
|
rawType
|
|
3323
3361
|
);
|
|
3324
|
-
const decl =
|
|
3362
|
+
const decl = ts23.factory.createVariableDeclaration(
|
|
3325
3363
|
meta.fnName,
|
|
3326
3364
|
void 0,
|
|
3327
3365
|
fnType,
|
|
3328
|
-
|
|
3366
|
+
ts23.factory.createNonNullExpression(ts23.factory.createNull())
|
|
3329
3367
|
);
|
|
3330
|
-
const declList =
|
|
3331
|
-
return
|
|
3368
|
+
const declList = ts23.factory.createVariableDeclarationList([decl], ts23.NodeFlags.Const);
|
|
3369
|
+
return ts23.factory.createVariableStatement(
|
|
3332
3370
|
void 0,
|
|
3333
3371
|
declList
|
|
3334
3372
|
);
|
|
3335
3373
|
} else {
|
|
3336
|
-
return
|
|
3337
|
-
[
|
|
3374
|
+
return ts23.factory.createFunctionDeclaration(
|
|
3375
|
+
[ts23.factory.createModifier(ts23.SyntaxKind.DeclareKeyword)],
|
|
3338
3376
|
void 0,
|
|
3339
3377
|
meta.fnName,
|
|
3340
3378
|
typeParameters,
|
|
@@ -3346,16 +3384,16 @@ function generateTypeCtorDeclarationFn(env, meta, nodeTypeRef, typeParams) {
|
|
|
3346
3384
|
}
|
|
3347
3385
|
function generateInlineTypeCtor(env, node, meta) {
|
|
3348
3386
|
const rawTypeArgs = node.typeParameters !== void 0 ? generateGenericArgs(node.typeParameters) : void 0;
|
|
3349
|
-
const rawType =
|
|
3387
|
+
const rawType = ts23.factory.createTypeReferenceNode(node.name, rawTypeArgs);
|
|
3350
3388
|
const initParam = constructTypeCtorParameter(env, meta, rawType);
|
|
3351
3389
|
let body = void 0;
|
|
3352
3390
|
if (meta.body) {
|
|
3353
|
-
body =
|
|
3354
|
-
|
|
3391
|
+
body = ts23.factory.createBlock([
|
|
3392
|
+
ts23.factory.createReturnStatement(ts23.factory.createNonNullExpression(ts23.factory.createNull()))
|
|
3355
3393
|
]);
|
|
3356
3394
|
}
|
|
3357
|
-
return
|
|
3358
|
-
[
|
|
3395
|
+
return ts23.factory.createMethodDeclaration(
|
|
3396
|
+
[ts23.factory.createModifier(ts23.SyntaxKind.StaticKeyword)],
|
|
3359
3397
|
void 0,
|
|
3360
3398
|
meta.fnName,
|
|
3361
3399
|
void 0,
|
|
@@ -3372,12 +3410,12 @@ function constructTypeCtorParameter(env, meta, rawType) {
|
|
|
3372
3410
|
const signalInputKeys = [];
|
|
3373
3411
|
for (const { classPropertyName, transform, isSignal: isSignal2 } of meta.fields.inputs) {
|
|
3374
3412
|
if (isSignal2) {
|
|
3375
|
-
signalInputKeys.push(
|
|
3413
|
+
signalInputKeys.push(ts23.factory.createLiteralTypeNode(ts23.factory.createStringLiteral(classPropertyName)));
|
|
3376
3414
|
} else if (!meta.coercedInputFields.has(classPropertyName)) {
|
|
3377
|
-
plainKeys.push(
|
|
3415
|
+
plainKeys.push(ts23.factory.createLiteralTypeNode(ts23.factory.createStringLiteral(classPropertyName)));
|
|
3378
3416
|
} else {
|
|
3379
3417
|
const coercionType = transform != null ? transform.type.node : tsCreateTypeQueryForCoercedInput(rawType.typeName, classPropertyName);
|
|
3380
|
-
coercedKeys.push(
|
|
3418
|
+
coercedKeys.push(ts23.factory.createPropertySignature(
|
|
3381
3419
|
void 0,
|
|
3382
3420
|
classPropertyName,
|
|
3383
3421
|
void 0,
|
|
@@ -3386,25 +3424,25 @@ function constructTypeCtorParameter(env, meta, rawType) {
|
|
|
3386
3424
|
}
|
|
3387
3425
|
}
|
|
3388
3426
|
if (plainKeys.length > 0) {
|
|
3389
|
-
const keyTypeUnion =
|
|
3390
|
-
initType =
|
|
3427
|
+
const keyTypeUnion = ts23.factory.createUnionTypeNode(plainKeys);
|
|
3428
|
+
initType = ts23.factory.createTypeReferenceNode("Pick", [rawType, keyTypeUnion]);
|
|
3391
3429
|
}
|
|
3392
3430
|
if (coercedKeys.length > 0) {
|
|
3393
|
-
const coercedLiteral =
|
|
3394
|
-
initType = initType !== null ?
|
|
3431
|
+
const coercedLiteral = ts23.factory.createTypeLiteralNode(coercedKeys);
|
|
3432
|
+
initType = initType !== null ? ts23.factory.createIntersectionTypeNode([initType, coercedLiteral]) : coercedLiteral;
|
|
3395
3433
|
}
|
|
3396
3434
|
if (signalInputKeys.length > 0) {
|
|
3397
|
-
const keyTypeUnion =
|
|
3435
|
+
const keyTypeUnion = ts23.factory.createUnionTypeNode(signalInputKeys);
|
|
3398
3436
|
const unwrapDirectiveSignalInputsExpr = env.referenceExternalType(R3Identifiers2.UnwrapDirectiveSignalInputs.moduleName, R3Identifiers2.UnwrapDirectiveSignalInputs.name, [
|
|
3399
3437
|
new ExpressionType2(new WrappedNodeExpr(rawType)),
|
|
3400
3438
|
new ExpressionType2(new WrappedNodeExpr(keyTypeUnion))
|
|
3401
3439
|
]);
|
|
3402
|
-
initType = initType !== null ?
|
|
3440
|
+
initType = initType !== null ? ts23.factory.createIntersectionTypeNode([initType, unwrapDirectiveSignalInputsExpr]) : unwrapDirectiveSignalInputsExpr;
|
|
3403
3441
|
}
|
|
3404
3442
|
if (initType === null) {
|
|
3405
|
-
initType =
|
|
3443
|
+
initType = ts23.factory.createTypeLiteralNode([]);
|
|
3406
3444
|
}
|
|
3407
|
-
return
|
|
3445
|
+
return ts23.factory.createParameterDeclaration(
|
|
3408
3446
|
void 0,
|
|
3409
3447
|
void 0,
|
|
3410
3448
|
"init",
|
|
@@ -3414,7 +3452,7 @@ function constructTypeCtorParameter(env, meta, rawType) {
|
|
|
3414
3452
|
);
|
|
3415
3453
|
}
|
|
3416
3454
|
function generateGenericArgs(params) {
|
|
3417
|
-
return params.map((param) =>
|
|
3455
|
+
return params.map((param) => ts23.factory.createTypeReferenceNode(param.name, void 0));
|
|
3418
3456
|
}
|
|
3419
3457
|
function requiresInlineTypeCtor(node, host, env) {
|
|
3420
3458
|
return !checkIfGenericTypeBoundsCanBeEmitted(node, host, env);
|
|
@@ -3425,14 +3463,14 @@ function typeParametersWithDefaultTypes(params) {
|
|
|
3425
3463
|
}
|
|
3426
3464
|
return params.map((param) => {
|
|
3427
3465
|
if (param.default === void 0) {
|
|
3428
|
-
return
|
|
3466
|
+
return ts23.factory.updateTypeParameterDeclaration(param, param.modifiers, param.name, param.constraint, ts23.factory.createKeywordTypeNode(ts23.SyntaxKind.AnyKeyword));
|
|
3429
3467
|
} else {
|
|
3430
3468
|
return param;
|
|
3431
3469
|
}
|
|
3432
3470
|
});
|
|
3433
3471
|
}
|
|
3434
3472
|
|
|
3435
|
-
// bazel-out/
|
|
3473
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
|
|
3436
3474
|
var Environment = class extends ReferenceEmitEnvironment {
|
|
3437
3475
|
constructor(config, importManager, refEmitter, reflector, contextFile) {
|
|
3438
3476
|
super(importManager, refEmitter, reflector, contextFile);
|
|
@@ -3454,13 +3492,13 @@ var Environment = class extends ReferenceEmitEnvironment {
|
|
|
3454
3492
|
}
|
|
3455
3493
|
if (requiresInlineTypeCtor(node, this.reflector, this)) {
|
|
3456
3494
|
const ref = this.reference(dirRef);
|
|
3457
|
-
const typeCtorExpr =
|
|
3495
|
+
const typeCtorExpr = ts24.factory.createPropertyAccessExpression(ref, "ngTypeCtor");
|
|
3458
3496
|
this.typeCtors.set(node, typeCtorExpr);
|
|
3459
3497
|
return typeCtorExpr;
|
|
3460
3498
|
} else {
|
|
3461
3499
|
const fnName = `_ctor${this.nextIds.typeCtor++}`;
|
|
3462
3500
|
const nodeTypeRef = this.referenceType(dirRef);
|
|
3463
|
-
if (!
|
|
3501
|
+
if (!ts24.isTypeReferenceNode(nodeTypeRef)) {
|
|
3464
3502
|
throw new Error(`Expected TypeReferenceNode from reference to ${dirRef.debugName}`);
|
|
3465
3503
|
}
|
|
3466
3504
|
const meta = {
|
|
@@ -3475,7 +3513,7 @@ var Environment = class extends ReferenceEmitEnvironment {
|
|
|
3475
3513
|
const typeParams = this.emitTypeParameters(node);
|
|
3476
3514
|
const typeCtor = generateTypeCtorDeclarationFn(this, meta, nodeTypeRef.typeName, typeParams);
|
|
3477
3515
|
this.typeCtorStatements.push(typeCtor);
|
|
3478
|
-
const fnId =
|
|
3516
|
+
const fnId = ts24.factory.createIdentifier(fnName);
|
|
3479
3517
|
this.typeCtors.set(node, fnId);
|
|
3480
3518
|
return fnId;
|
|
3481
3519
|
}
|
|
@@ -3485,7 +3523,7 @@ var Environment = class extends ReferenceEmitEnvironment {
|
|
|
3485
3523
|
return this.pipeInsts.get(ref.node);
|
|
3486
3524
|
}
|
|
3487
3525
|
const pipeType = this.referenceType(ref);
|
|
3488
|
-
const pipeInstId =
|
|
3526
|
+
const pipeInstId = ts24.factory.createIdentifier(`_pipe${this.nextIds.pipeInst++}`);
|
|
3489
3527
|
this.pipeInstStatements.push(tsDeclareVariable(pipeInstId, pipeType));
|
|
3490
3528
|
this.pipeInsts.set(ref.node, pipeInstId);
|
|
3491
3529
|
return pipeInstId;
|
|
@@ -3507,9 +3545,9 @@ var Environment = class extends ReferenceEmitEnvironment {
|
|
|
3507
3545
|
}
|
|
3508
3546
|
};
|
|
3509
3547
|
|
|
3510
|
-
// bazel-out/
|
|
3548
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
|
|
3511
3549
|
import { AbsoluteSourceSpan as AbsoluteSourceSpan3, TmplAstElement as TmplAstElement2, TmplAstForLoopBlock, TmplAstForLoopBlockEmpty } from "@angular/compiler";
|
|
3512
|
-
import
|
|
3550
|
+
import ts25 from "typescript";
|
|
3513
3551
|
var OutOfBandDiagnosticRecorderImpl = class {
|
|
3514
3552
|
constructor(resolver) {
|
|
3515
3553
|
this.resolver = resolver;
|
|
@@ -3523,7 +3561,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
3523
3561
|
const mapping = this.resolver.getSourceMapping(templateId);
|
|
3524
3562
|
const value = ref.value.trim();
|
|
3525
3563
|
const errorMsg = `No directive found with exportAs '${value}'.`;
|
|
3526
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, ref.valueSpan || ref.sourceSpan,
|
|
3564
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, ref.valueSpan || ref.sourceSpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_REFERENCE_TARGET), errorMsg));
|
|
3527
3565
|
}
|
|
3528
3566
|
missingPipe(templateId, ast) {
|
|
3529
3567
|
if (this.recordedPipes.has(ast)) {
|
|
@@ -3535,7 +3573,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
3535
3573
|
if (sourceSpan === null) {
|
|
3536
3574
|
throw new Error(`Assertion failure: no SourceLocation found for usage of pipe '${ast.name}'.`);
|
|
3537
3575
|
}
|
|
3538
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan,
|
|
3576
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_PIPE), errorMsg));
|
|
3539
3577
|
this.recordedPipes.add(ast);
|
|
3540
3578
|
}
|
|
3541
3579
|
deferredPipeUsedEagerly(templateId, ast) {
|
|
@@ -3548,7 +3586,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
3548
3586
|
if (sourceSpan === null) {
|
|
3549
3587
|
throw new Error(`Assertion failure: no SourceLocation found for usage of pipe '${ast.name}'.`);
|
|
3550
3588
|
}
|
|
3551
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan,
|
|
3589
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.DEFERRED_PIPE_USED_EAGERLY), errorMsg));
|
|
3552
3590
|
this.recordedPipes.add(ast);
|
|
3553
3591
|
}
|
|
3554
3592
|
deferredComponentUsedEagerly(templateId, element) {
|
|
@@ -3560,7 +3598,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
3560
3598
|
if (sourceSpan === null) {
|
|
3561
3599
|
throw new Error(`Assertion failure: no SourceLocation found for usage of pipe '${element.name}'.`);
|
|
3562
3600
|
}
|
|
3563
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan,
|
|
3601
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.DEFERRED_DIRECTIVE_USED_EAGERLY), errorMsg));
|
|
3564
3602
|
}
|
|
3565
3603
|
illegalAssignmentToTemplateVar(templateId, assignment, target) {
|
|
3566
3604
|
var _a, _b;
|
|
@@ -3570,7 +3608,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
3570
3608
|
if (sourceSpan === null) {
|
|
3571
3609
|
throw new Error(`Assertion failure: no SourceLocation found for property binding.`);
|
|
3572
3610
|
}
|
|
3573
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan,
|
|
3611
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.WRITE_TO_READ_ONLY_VARIABLE), errorMsg, [{
|
|
3574
3612
|
text: `The variable ${assignment.name} is declared here.`,
|
|
3575
3613
|
start: ((_a = target.valueSpan) == null ? void 0 : _a.start.offset) || target.sourceSpan.start.offset,
|
|
3576
3614
|
end: ((_b = target.valueSpan) == null ? void 0 : _b.end.offset) || target.sourceSpan.end.offset,
|
|
@@ -3580,7 +3618,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
3580
3618
|
duplicateTemplateVar(templateId, variable, firstDecl) {
|
|
3581
3619
|
const mapping = this.resolver.getSourceMapping(templateId);
|
|
3582
3620
|
const errorMsg = `Cannot redeclare variable '${variable.name}' as it was previously declared elsewhere for the same template.`;
|
|
3583
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, variable.sourceSpan,
|
|
3621
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, variable.sourceSpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.DUPLICATE_VARIABLE_DECLARATION), errorMsg, [{
|
|
3584
3622
|
text: `The variable '${firstDecl.name}' was first declared here.`,
|
|
3585
3623
|
start: firstDecl.sourceSpan.start.offset,
|
|
3586
3624
|
end: firstDecl.sourceSpan.end.offset,
|
|
@@ -3619,7 +3657,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
3619
3657
|
const message = `This structural directive supports advanced type inference, but the current compiler configuration prevents its usage. The variable ${varIdentification} will have type 'any' as a result.
|
|
3620
3658
|
|
|
3621
3659
|
Consider enabling the 'strictTemplates' option in your tsconfig.json for better type inference within this template.`;
|
|
3622
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, diagnosticVar.keySpan,
|
|
3660
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, diagnosticVar.keySpan, ts25.DiagnosticCategory.Suggestion, ngErrorCode(ErrorCode.SUGGEST_SUBOPTIMAL_TYPE_INFERENCE), message));
|
|
3623
3661
|
}
|
|
3624
3662
|
splitTwoWayBinding(templateId, input, output, inputConsumer, outputConsumer) {
|
|
3625
3663
|
const mapping = this.resolver.getSourceMapping(templateId);
|
|
@@ -3653,11 +3691,11 @@ Consider enabling the 'strictTemplates' option in your tsconfig.json for better
|
|
|
3653
3691
|
sourceFile: outputConsumer.name.getSourceFile()
|
|
3654
3692
|
});
|
|
3655
3693
|
}
|
|
3656
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, input.keySpan,
|
|
3694
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, input.keySpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SPLIT_TWO_WAY_BINDING), errorMsg, relatedMessages));
|
|
3657
3695
|
}
|
|
3658
3696
|
missingRequiredInputs(templateId, element, directiveName, isComponent, inputAliases) {
|
|
3659
3697
|
const message = `Required input${inputAliases.length === 1 ? "" : "s"} ${inputAliases.map((n) => `'${n}'`).join(", ")} from ${isComponent ? "component" : "directive"} ${directiveName} must be specified.`;
|
|
3660
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), element.startSourceSpan,
|
|
3698
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), element.startSourceSpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_REQUIRED_INPUTS), message));
|
|
3661
3699
|
}
|
|
3662
3700
|
illegalForLoopTrackAccess(templateId, block, access) {
|
|
3663
3701
|
const sourceSpan = this.resolver.toParseSourceSpan(templateId, access.sourceSpan);
|
|
@@ -3665,7 +3703,7 @@ Consider enabling the 'strictTemplates' option in your tsconfig.json for better
|
|
|
3665
3703
|
throw new Error(`Assertion failure: no SourceLocation found for property read.`);
|
|
3666
3704
|
}
|
|
3667
3705
|
const message = `Cannot access '${access.name}' inside of a track expression. Only '${block.item.name}', '${block.contextVariables.$index.name}' and properties on the containing component are available to this expression.`;
|
|
3668
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), sourceSpan,
|
|
3706
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), sourceSpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.ILLEGAL_FOR_LOOP_TRACK_ACCESS), message));
|
|
3669
3707
|
}
|
|
3670
3708
|
inaccessibleDeferredTriggerElement(templateId, trigger) {
|
|
3671
3709
|
let message;
|
|
@@ -3676,7 +3714,7 @@ Consider enabling the 'strictTemplates' option in your tsconfig.json for better
|
|
|
3676
3714
|
Check that an element with #${trigger.reference} exists in the same template and it's accessible from the @defer block.
|
|
3677
3715
|
Deferred blocks can only access triggers in same view, a parent embedded view or the root view of the @placeholder block.`;
|
|
3678
3716
|
}
|
|
3679
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), trigger.sourceSpan,
|
|
3717
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), trigger.sourceSpan, ts25.DiagnosticCategory.Error, ngErrorCode(ErrorCode.INACCESSIBLE_DEFERRED_TRIGGER_ELEMENT), message));
|
|
3680
3718
|
}
|
|
3681
3719
|
controlFlowPreventingContentProjection(templateId, category, projectionNode, componentName, slotSelector, controlFlowNode, preservesWhitespaces) {
|
|
3682
3720
|
let blockName;
|
|
@@ -3709,8 +3747,8 @@ function makeInlineDiagnostic(templateId, code, node, messageText, relatedInform
|
|
|
3709
3747
|
};
|
|
3710
3748
|
}
|
|
3711
3749
|
|
|
3712
|
-
// bazel-out/
|
|
3713
|
-
import
|
|
3750
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
|
|
3751
|
+
import ts26 from "typescript";
|
|
3714
3752
|
var TypeCheckShimGenerator = class {
|
|
3715
3753
|
constructor() {
|
|
3716
3754
|
this.extensionPrefix = "ngtypecheck";
|
|
@@ -3720,25 +3758,25 @@ var TypeCheckShimGenerator = class {
|
|
|
3720
3758
|
if (priorShimSf !== null) {
|
|
3721
3759
|
return priorShimSf;
|
|
3722
3760
|
}
|
|
3723
|
-
return
|
|
3761
|
+
return ts26.createSourceFile(genFilePath, "export const USED_FOR_NG_TYPE_CHECKING = true;", ts26.ScriptTarget.Latest, true, ts26.ScriptKind.TS);
|
|
3724
3762
|
}
|
|
3725
3763
|
static shimFor(fileName) {
|
|
3726
3764
|
return absoluteFrom(fileName.replace(/\.tsx?$/, ".ngtypecheck.ts"));
|
|
3727
3765
|
}
|
|
3728
3766
|
};
|
|
3729
3767
|
|
|
3730
|
-
// bazel-out/
|
|
3768
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
|
|
3731
3769
|
import { BindingPipe, Call as Call2, createCssSelectorFromNode, CssSelector, DYNAMIC_TYPE, ImplicitReceiver as ImplicitReceiver4, PropertyRead as PropertyRead4, PropertyWrite as PropertyWrite3, R3Identifiers as R3Identifiers3, SafeCall, SafePropertyRead as SafePropertyRead3, SelectorMatcher, ThisReceiver, TmplAstBoundAttribute, TmplAstBoundText, TmplAstDeferredBlock, TmplAstElement as TmplAstElement3, TmplAstForLoopBlock as TmplAstForLoopBlock2, TmplAstIcu, TmplAstIfBlock, TmplAstIfBlockBranch, TmplAstReference as TmplAstReference3, TmplAstSwitchBlock, TmplAstTemplate as TmplAstTemplate2, TmplAstText, TmplAstTextAttribute as TmplAstTextAttribute2, TmplAstVariable as TmplAstVariable2, TransplantedType } from "@angular/compiler";
|
|
3732
|
-
import
|
|
3770
|
+
import ts29 from "typescript";
|
|
3733
3771
|
|
|
3734
|
-
// bazel-out/
|
|
3772
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
|
|
3735
3773
|
import { AbsoluteSourceSpan as AbsoluteSourceSpan4 } from "@angular/compiler";
|
|
3736
|
-
import
|
|
3774
|
+
import ts27 from "typescript";
|
|
3737
3775
|
function wrapForDiagnostics(expr) {
|
|
3738
|
-
return
|
|
3776
|
+
return ts27.factory.createParenthesizedExpression(expr);
|
|
3739
3777
|
}
|
|
3740
3778
|
function wrapForTypeChecker(expr) {
|
|
3741
|
-
return
|
|
3779
|
+
return ts27.factory.createParenthesizedExpression(expr);
|
|
3742
3780
|
}
|
|
3743
3781
|
function addParseSpanInfo(node, span) {
|
|
3744
3782
|
let commentText;
|
|
@@ -3747,10 +3785,10 @@ function addParseSpanInfo(node, span) {
|
|
|
3747
3785
|
} else {
|
|
3748
3786
|
commentText = `${span.start.offset},${span.end.offset}`;
|
|
3749
3787
|
}
|
|
3750
|
-
|
|
3788
|
+
ts27.addSyntheticTrailingComment(node, ts27.SyntaxKind.MultiLineCommentTrivia, commentText, false);
|
|
3751
3789
|
}
|
|
3752
3790
|
function addTemplateId(tcb, id) {
|
|
3753
|
-
|
|
3791
|
+
ts27.addSyntheticLeadingComment(tcb, ts27.SyntaxKind.MultiLineCommentTrivia, id, true);
|
|
3754
3792
|
}
|
|
3755
3793
|
function shouldReportDiagnostic(diagnostic) {
|
|
3756
3794
|
const { code } = diagnostic;
|
|
@@ -3777,34 +3815,34 @@ function translateDiagnostic(diagnostic, resolver) {
|
|
|
3777
3815
|
return makeTemplateDiagnostic(sourceLocation.id, templateSourceMapping, span, diagnostic.category, diagnostic.code, diagnostic.messageText);
|
|
3778
3816
|
}
|
|
3779
3817
|
|
|
3780
|
-
// bazel-out/
|
|
3818
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
|
|
3781
3819
|
import { ASTWithSource as ASTWithSource2, Call, EmptyExpr as EmptyExpr2, PropertyRead as PropertyRead3, SafeKeyedRead, SafePropertyRead as SafePropertyRead2 } from "@angular/compiler";
|
|
3782
|
-
import
|
|
3783
|
-
var NULL_AS_ANY =
|
|
3784
|
-
var UNDEFINED =
|
|
3820
|
+
import ts28 from "typescript";
|
|
3821
|
+
var NULL_AS_ANY = ts28.factory.createAsExpression(ts28.factory.createNull(), ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword));
|
|
3822
|
+
var UNDEFINED = ts28.factory.createIdentifier("undefined");
|
|
3785
3823
|
var UNARY_OPS = /* @__PURE__ */ new Map([
|
|
3786
|
-
["+",
|
|
3787
|
-
["-",
|
|
3824
|
+
["+", ts28.SyntaxKind.PlusToken],
|
|
3825
|
+
["-", ts28.SyntaxKind.MinusToken]
|
|
3788
3826
|
]);
|
|
3789
3827
|
var BINARY_OPS = /* @__PURE__ */ new Map([
|
|
3790
|
-
["+",
|
|
3791
|
-
["-",
|
|
3792
|
-
["<",
|
|
3793
|
-
[">",
|
|
3794
|
-
["<=",
|
|
3795
|
-
[">=",
|
|
3796
|
-
["==",
|
|
3797
|
-
["===",
|
|
3798
|
-
["*",
|
|
3799
|
-
["/",
|
|
3800
|
-
["%",
|
|
3801
|
-
["!=",
|
|
3802
|
-
["!==",
|
|
3803
|
-
["||",
|
|
3804
|
-
["&&",
|
|
3805
|
-
["&",
|
|
3806
|
-
["|",
|
|
3807
|
-
["??",
|
|
3828
|
+
["+", ts28.SyntaxKind.PlusToken],
|
|
3829
|
+
["-", ts28.SyntaxKind.MinusToken],
|
|
3830
|
+
["<", ts28.SyntaxKind.LessThanToken],
|
|
3831
|
+
[">", ts28.SyntaxKind.GreaterThanToken],
|
|
3832
|
+
["<=", ts28.SyntaxKind.LessThanEqualsToken],
|
|
3833
|
+
[">=", ts28.SyntaxKind.GreaterThanEqualsToken],
|
|
3834
|
+
["==", ts28.SyntaxKind.EqualsEqualsToken],
|
|
3835
|
+
["===", ts28.SyntaxKind.EqualsEqualsEqualsToken],
|
|
3836
|
+
["*", ts28.SyntaxKind.AsteriskToken],
|
|
3837
|
+
["/", ts28.SyntaxKind.SlashToken],
|
|
3838
|
+
["%", ts28.SyntaxKind.PercentToken],
|
|
3839
|
+
["!=", ts28.SyntaxKind.ExclamationEqualsToken],
|
|
3840
|
+
["!==", ts28.SyntaxKind.ExclamationEqualsEqualsToken],
|
|
3841
|
+
["||", ts28.SyntaxKind.BarBarToken],
|
|
3842
|
+
["&&", ts28.SyntaxKind.AmpersandAmpersandToken],
|
|
3843
|
+
["&", ts28.SyntaxKind.AmpersandToken],
|
|
3844
|
+
["|", ts28.SyntaxKind.BarToken],
|
|
3845
|
+
["??", ts28.SyntaxKind.QuestionQuestionToken]
|
|
3808
3846
|
]);
|
|
3809
3847
|
function astToTypescript(ast, maybeResolve, config) {
|
|
3810
3848
|
const translator = new AstTranslator(maybeResolve, config);
|
|
@@ -3820,7 +3858,7 @@ var AstTranslator = class {
|
|
|
3820
3858
|
ast = ast.ast;
|
|
3821
3859
|
}
|
|
3822
3860
|
if (ast instanceof EmptyExpr2) {
|
|
3823
|
-
const res =
|
|
3861
|
+
const res = ts28.factory.createIdentifier("undefined");
|
|
3824
3862
|
addParseSpanInfo(res, ast.sourceSpan);
|
|
3825
3863
|
return res;
|
|
3826
3864
|
}
|
|
@@ -3836,7 +3874,7 @@ var AstTranslator = class {
|
|
|
3836
3874
|
if (op === void 0) {
|
|
3837
3875
|
throw new Error(`Unsupported Unary.operator: ${ast.operator}`);
|
|
3838
3876
|
}
|
|
3839
|
-
const node = wrapForDiagnostics(
|
|
3877
|
+
const node = wrapForDiagnostics(ts28.factory.createPrefixUnaryExpression(op, expr));
|
|
3840
3878
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3841
3879
|
return node;
|
|
3842
3880
|
}
|
|
@@ -3847,13 +3885,13 @@ var AstTranslator = class {
|
|
|
3847
3885
|
if (op === void 0) {
|
|
3848
3886
|
throw new Error(`Unsupported Binary.operation: ${ast.operation}`);
|
|
3849
3887
|
}
|
|
3850
|
-
const node =
|
|
3888
|
+
const node = ts28.factory.createBinaryExpression(lhs, op, rhs);
|
|
3851
3889
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3852
3890
|
return node;
|
|
3853
3891
|
}
|
|
3854
3892
|
visitChain(ast) {
|
|
3855
3893
|
const elements = ast.expressions.map((expr) => this.translate(expr));
|
|
3856
|
-
const node = wrapForDiagnostics(
|
|
3894
|
+
const node = wrapForDiagnostics(ts28.factory.createCommaListExpression(elements));
|
|
3857
3895
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3858
3896
|
return node;
|
|
3859
3897
|
}
|
|
@@ -3861,7 +3899,7 @@ var AstTranslator = class {
|
|
|
3861
3899
|
const condExpr = this.translate(ast.condition);
|
|
3862
3900
|
const trueExpr = this.translate(ast.trueExp);
|
|
3863
3901
|
const falseExpr = wrapForTypeChecker(this.translate(ast.falseExp));
|
|
3864
|
-
const node =
|
|
3902
|
+
const node = ts28.factory.createParenthesizedExpression(ts28.factory.createConditionalExpression(condExpr, void 0, trueExpr, void 0, falseExpr));
|
|
3865
3903
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3866
3904
|
return node;
|
|
3867
3905
|
}
|
|
@@ -3872,26 +3910,26 @@ var AstTranslator = class {
|
|
|
3872
3910
|
throw new Error("Method not implemented.");
|
|
3873
3911
|
}
|
|
3874
3912
|
visitInterpolation(ast) {
|
|
3875
|
-
return ast.expressions.reduce((lhs, ast2) =>
|
|
3913
|
+
return ast.expressions.reduce((lhs, ast2) => ts28.factory.createBinaryExpression(lhs, ts28.SyntaxKind.PlusToken, wrapForTypeChecker(this.translate(ast2))), ts28.factory.createStringLiteral(""));
|
|
3876
3914
|
}
|
|
3877
3915
|
visitKeyedRead(ast) {
|
|
3878
3916
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3879
3917
|
const key = this.translate(ast.key);
|
|
3880
|
-
const node =
|
|
3918
|
+
const node = ts28.factory.createElementAccessExpression(receiver, key);
|
|
3881
3919
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3882
3920
|
return node;
|
|
3883
3921
|
}
|
|
3884
3922
|
visitKeyedWrite(ast) {
|
|
3885
3923
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3886
|
-
const left =
|
|
3924
|
+
const left = ts28.factory.createElementAccessExpression(receiver, this.translate(ast.key));
|
|
3887
3925
|
const right = wrapForTypeChecker(this.translate(ast.value));
|
|
3888
|
-
const node = wrapForDiagnostics(
|
|
3926
|
+
const node = wrapForDiagnostics(ts28.factory.createBinaryExpression(left, ts28.SyntaxKind.EqualsToken, right));
|
|
3889
3927
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3890
3928
|
return node;
|
|
3891
3929
|
}
|
|
3892
3930
|
visitLiteralArray(ast) {
|
|
3893
3931
|
const elements = ast.expressions.map((expr) => this.translate(expr));
|
|
3894
|
-
const literal =
|
|
3932
|
+
const literal = ts28.factory.createArrayLiteralExpression(elements);
|
|
3895
3933
|
const node = this.config.strictLiteralTypes ? literal : tsCastToAny(literal);
|
|
3896
3934
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3897
3935
|
return node;
|
|
@@ -3899,9 +3937,9 @@ var AstTranslator = class {
|
|
|
3899
3937
|
visitLiteralMap(ast) {
|
|
3900
3938
|
const properties = ast.keys.map(({ key }, idx) => {
|
|
3901
3939
|
const value = this.translate(ast.values[idx]);
|
|
3902
|
-
return
|
|
3940
|
+
return ts28.factory.createPropertyAssignment(ts28.factory.createStringLiteral(key), value);
|
|
3903
3941
|
});
|
|
3904
|
-
const literal =
|
|
3942
|
+
const literal = ts28.factory.createObjectLiteralExpression(properties, true);
|
|
3905
3943
|
const node = this.config.strictLiteralTypes ? literal : tsCastToAny(literal);
|
|
3906
3944
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3907
3945
|
return node;
|
|
@@ -3909,15 +3947,15 @@ var AstTranslator = class {
|
|
|
3909
3947
|
visitLiteralPrimitive(ast) {
|
|
3910
3948
|
let node;
|
|
3911
3949
|
if (ast.value === void 0) {
|
|
3912
|
-
node =
|
|
3950
|
+
node = ts28.factory.createIdentifier("undefined");
|
|
3913
3951
|
} else if (ast.value === null) {
|
|
3914
|
-
node =
|
|
3952
|
+
node = ts28.factory.createNull();
|
|
3915
3953
|
} else if (typeof ast.value === "string") {
|
|
3916
|
-
node =
|
|
3954
|
+
node = ts28.factory.createStringLiteral(ast.value);
|
|
3917
3955
|
} else if (typeof ast.value === "number") {
|
|
3918
3956
|
node = tsNumericExpression(ast.value);
|
|
3919
3957
|
} else if (typeof ast.value === "boolean") {
|
|
3920
|
-
node = ast.value ?
|
|
3958
|
+
node = ast.value ? ts28.factory.createTrue() : ts28.factory.createFalse();
|
|
3921
3959
|
} else {
|
|
3922
3960
|
throw Error(`Unsupported AST value of type ${typeof ast.value}`);
|
|
3923
3961
|
}
|
|
@@ -3926,7 +3964,7 @@ var AstTranslator = class {
|
|
|
3926
3964
|
}
|
|
3927
3965
|
visitNonNullAssert(ast) {
|
|
3928
3966
|
const expr = wrapForDiagnostics(this.translate(ast.expression));
|
|
3929
|
-
const node =
|
|
3967
|
+
const node = ts28.factory.createNonNullExpression(expr);
|
|
3930
3968
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3931
3969
|
return node;
|
|
3932
3970
|
}
|
|
@@ -3935,13 +3973,13 @@ var AstTranslator = class {
|
|
|
3935
3973
|
}
|
|
3936
3974
|
visitPrefixNot(ast) {
|
|
3937
3975
|
const expression = wrapForDiagnostics(this.translate(ast.expression));
|
|
3938
|
-
const node =
|
|
3976
|
+
const node = ts28.factory.createLogicalNot(expression);
|
|
3939
3977
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3940
3978
|
return node;
|
|
3941
3979
|
}
|
|
3942
3980
|
visitPropertyRead(ast) {
|
|
3943
3981
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3944
|
-
const name =
|
|
3982
|
+
const name = ts28.factory.createPropertyAccessExpression(receiver, ast.name);
|
|
3945
3983
|
addParseSpanInfo(name, ast.nameSpan);
|
|
3946
3984
|
const node = wrapForDiagnostics(name);
|
|
3947
3985
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
@@ -3949,12 +3987,12 @@ var AstTranslator = class {
|
|
|
3949
3987
|
}
|
|
3950
3988
|
visitPropertyWrite(ast) {
|
|
3951
3989
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3952
|
-
const left =
|
|
3990
|
+
const left = ts28.factory.createPropertyAccessExpression(receiver, ast.name);
|
|
3953
3991
|
addParseSpanInfo(left, ast.nameSpan);
|
|
3954
3992
|
const leftWithPath = wrapForDiagnostics(left);
|
|
3955
3993
|
addParseSpanInfo(leftWithPath, ast.sourceSpan);
|
|
3956
3994
|
const right = wrapForTypeChecker(this.translate(ast.value));
|
|
3957
|
-
const node = wrapForDiagnostics(
|
|
3995
|
+
const node = wrapForDiagnostics(ts28.factory.createBinaryExpression(leftWithPath, ts28.SyntaxKind.EqualsToken, right));
|
|
3958
3996
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3959
3997
|
return node;
|
|
3960
3998
|
}
|
|
@@ -3962,13 +4000,13 @@ var AstTranslator = class {
|
|
|
3962
4000
|
let node;
|
|
3963
4001
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3964
4002
|
if (this.config.strictSafeNavigationTypes) {
|
|
3965
|
-
const expr =
|
|
4003
|
+
const expr = ts28.factory.createPropertyAccessExpression(ts28.factory.createNonNullExpression(receiver), ast.name);
|
|
3966
4004
|
addParseSpanInfo(expr, ast.nameSpan);
|
|
3967
|
-
node =
|
|
4005
|
+
node = ts28.factory.createParenthesizedExpression(ts28.factory.createConditionalExpression(NULL_AS_ANY, void 0, expr, void 0, UNDEFINED));
|
|
3968
4006
|
} else if (VeSafeLhsInferenceBugDetector.veWillInferAnyFor(ast)) {
|
|
3969
|
-
node =
|
|
4007
|
+
node = ts28.factory.createPropertyAccessExpression(tsCastToAny(receiver), ast.name);
|
|
3970
4008
|
} else {
|
|
3971
|
-
const expr =
|
|
4009
|
+
const expr = ts28.factory.createPropertyAccessExpression(ts28.factory.createNonNullExpression(receiver), ast.name);
|
|
3972
4010
|
addParseSpanInfo(expr, ast.nameSpan);
|
|
3973
4011
|
node = tsCastToAny(expr);
|
|
3974
4012
|
}
|
|
@@ -3980,13 +4018,13 @@ var AstTranslator = class {
|
|
|
3980
4018
|
const key = this.translate(ast.key);
|
|
3981
4019
|
let node;
|
|
3982
4020
|
if (this.config.strictSafeNavigationTypes) {
|
|
3983
|
-
const expr =
|
|
4021
|
+
const expr = ts28.factory.createElementAccessExpression(ts28.factory.createNonNullExpression(receiver), key);
|
|
3984
4022
|
addParseSpanInfo(expr, ast.sourceSpan);
|
|
3985
|
-
node =
|
|
4023
|
+
node = ts28.factory.createParenthesizedExpression(ts28.factory.createConditionalExpression(NULL_AS_ANY, void 0, expr, void 0, UNDEFINED));
|
|
3986
4024
|
} else if (VeSafeLhsInferenceBugDetector.veWillInferAnyFor(ast)) {
|
|
3987
|
-
node =
|
|
4025
|
+
node = ts28.factory.createElementAccessExpression(tsCastToAny(receiver), key);
|
|
3988
4026
|
} else {
|
|
3989
|
-
const expr =
|
|
4027
|
+
const expr = ts28.factory.createElementAccessExpression(ts28.factory.createNonNullExpression(receiver), key);
|
|
3990
4028
|
addParseSpanInfo(expr, ast.sourceSpan);
|
|
3991
4029
|
node = tsCastToAny(expr);
|
|
3992
4030
|
}
|
|
@@ -4003,7 +4041,7 @@ var AstTranslator = class {
|
|
|
4003
4041
|
expr = resolved;
|
|
4004
4042
|
} else {
|
|
4005
4043
|
const propertyReceiver = wrapForDiagnostics(this.translate(receiver.receiver));
|
|
4006
|
-
expr =
|
|
4044
|
+
expr = ts28.factory.createPropertyAccessExpression(propertyReceiver, receiver.name);
|
|
4007
4045
|
addParseSpanInfo(expr, receiver.nameSpan);
|
|
4008
4046
|
}
|
|
4009
4047
|
} else {
|
|
@@ -4013,7 +4051,7 @@ var AstTranslator = class {
|
|
|
4013
4051
|
if (ast.receiver instanceof SafePropertyRead2 || ast.receiver instanceof SafeKeyedRead) {
|
|
4014
4052
|
node = this.convertToSafeCall(ast, expr, args);
|
|
4015
4053
|
} else {
|
|
4016
|
-
node =
|
|
4054
|
+
node = ts28.factory.createCallExpression(expr, void 0, args);
|
|
4017
4055
|
}
|
|
4018
4056
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
4019
4057
|
return node;
|
|
@@ -4027,13 +4065,13 @@ var AstTranslator = class {
|
|
|
4027
4065
|
}
|
|
4028
4066
|
convertToSafeCall(ast, expr, args) {
|
|
4029
4067
|
if (this.config.strictSafeNavigationTypes) {
|
|
4030
|
-
const call =
|
|
4031
|
-
return
|
|
4068
|
+
const call = ts28.factory.createCallExpression(ts28.factory.createNonNullExpression(expr), void 0, args);
|
|
4069
|
+
return ts28.factory.createParenthesizedExpression(ts28.factory.createConditionalExpression(NULL_AS_ANY, void 0, call, void 0, UNDEFINED));
|
|
4032
4070
|
}
|
|
4033
4071
|
if (VeSafeLhsInferenceBugDetector.veWillInferAnyFor(ast)) {
|
|
4034
|
-
return
|
|
4072
|
+
return ts28.factory.createCallExpression(tsCastToAny(expr), void 0, args);
|
|
4035
4073
|
}
|
|
4036
|
-
return tsCastToAny(
|
|
4074
|
+
return tsCastToAny(ts28.factory.createCallExpression(ts28.factory.createNonNullExpression(expr), void 0, args));
|
|
4037
4075
|
}
|
|
4038
4076
|
};
|
|
4039
4077
|
var _VeSafeLhsInferenceBugDetector = class {
|
|
@@ -4110,7 +4148,7 @@ var VeSafeLhsInferenceBugDetector = _VeSafeLhsInferenceBugDetector;
|
|
|
4110
4148
|
_VeSafeLhsInferenceBugDetector.SINGLETON = new _VeSafeLhsInferenceBugDetector();
|
|
4111
4149
|
})();
|
|
4112
4150
|
|
|
4113
|
-
// bazel-out/
|
|
4151
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
|
|
4114
4152
|
import { ImplicitReceiver as ImplicitReceiver3, RecursiveAstVisitor as RecursiveAstVisitor2, TmplAstVariable } from "@angular/compiler";
|
|
4115
4153
|
var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
|
|
4116
4154
|
constructor(templateId, boundTarget, oob) {
|
|
@@ -4134,7 +4172,7 @@ var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
|
|
|
4134
4172
|
}
|
|
4135
4173
|
};
|
|
4136
4174
|
|
|
4137
|
-
// bazel-out/
|
|
4175
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
|
|
4138
4176
|
var TcbGenericContextBehavior;
|
|
4139
4177
|
(function(TcbGenericContextBehavior2) {
|
|
4140
4178
|
TcbGenericContextBehavior2[TcbGenericContextBehavior2["UseEmitter"] = 0] = "UseEmitter";
|
|
@@ -4145,7 +4183,7 @@ function generateTypeCheckBlock(env, ref, name, meta, domSchemaChecker, oobRecor
|
|
|
4145
4183
|
const tcb = new Context(env, domSchemaChecker, oobRecorder, meta.id, meta.boundTarget, meta.pipes, meta.schemas, meta.isStandalone, meta.preserveWhitespaces);
|
|
4146
4184
|
const scope = Scope.forNodes(tcb, null, null, tcb.boundTarget.target.template, null);
|
|
4147
4185
|
const ctxRawType = env.referenceType(ref);
|
|
4148
|
-
if (!
|
|
4186
|
+
if (!ts29.isTypeReferenceNode(ctxRawType)) {
|
|
4149
4187
|
throw new Error(`Expected TypeReferenceNode when referencing the ctx param for ${ref.debugName}`);
|
|
4150
4188
|
}
|
|
4151
4189
|
let typeParameters = void 0;
|
|
@@ -4157,25 +4195,25 @@ function generateTypeCheckBlock(env, ref, name, meta, domSchemaChecker, oobRecor
|
|
|
4157
4195
|
switch (genericContextBehavior) {
|
|
4158
4196
|
case TcbGenericContextBehavior.UseEmitter:
|
|
4159
4197
|
typeParameters = new TypeParameterEmitter(ref.node.typeParameters, env.reflector).emit((typeRef) => env.referenceType(typeRef));
|
|
4160
|
-
typeArguments = typeParameters.map((param) =>
|
|
4198
|
+
typeArguments = typeParameters.map((param) => ts29.factory.createTypeReferenceNode(param.name));
|
|
4161
4199
|
break;
|
|
4162
4200
|
case TcbGenericContextBehavior.CopyClassNodes:
|
|
4163
4201
|
typeParameters = [...ref.node.typeParameters];
|
|
4164
|
-
typeArguments = typeParameters.map((param) =>
|
|
4202
|
+
typeArguments = typeParameters.map((param) => ts29.factory.createTypeReferenceNode(param.name));
|
|
4165
4203
|
break;
|
|
4166
4204
|
case TcbGenericContextBehavior.FallbackToAny:
|
|
4167
|
-
typeArguments = ref.node.typeParameters.map(() =>
|
|
4205
|
+
typeArguments = ref.node.typeParameters.map(() => ts29.factory.createKeywordTypeNode(ts29.SyntaxKind.AnyKeyword));
|
|
4168
4206
|
break;
|
|
4169
4207
|
}
|
|
4170
4208
|
}
|
|
4171
4209
|
const paramList = [tcbThisParam(ctxRawType.typeName, typeArguments)];
|
|
4172
4210
|
const scopeStatements = scope.render();
|
|
4173
|
-
const innerBody =
|
|
4211
|
+
const innerBody = ts29.factory.createBlock([
|
|
4174
4212
|
...env.getPreludeStatements(),
|
|
4175
4213
|
...scopeStatements
|
|
4176
4214
|
]);
|
|
4177
|
-
const body =
|
|
4178
|
-
const fnDecl =
|
|
4215
|
+
const body = ts29.factory.createBlock([ts29.factory.createIfStatement(ts29.factory.createTrue(), innerBody, void 0)]);
|
|
4216
|
+
const fnDecl = ts29.factory.createFunctionDeclaration(
|
|
4179
4217
|
void 0,
|
|
4180
4218
|
void 0,
|
|
4181
4219
|
name,
|
|
@@ -4224,7 +4262,7 @@ var TcbTemplateVariableOp = class extends TcbOp {
|
|
|
4224
4262
|
execute() {
|
|
4225
4263
|
const ctx = this.scope.resolve(this.template);
|
|
4226
4264
|
const id = this.tcb.allocateId();
|
|
4227
|
-
const initializer =
|
|
4265
|
+
const initializer = ts29.factory.createPropertyAccessExpression(
|
|
4228
4266
|
ctx,
|
|
4229
4267
|
this.variable.value || "$implicit"
|
|
4230
4268
|
);
|
|
@@ -4250,7 +4288,7 @@ var TcbTemplateContextOp = class extends TcbOp {
|
|
|
4250
4288
|
}
|
|
4251
4289
|
execute() {
|
|
4252
4290
|
const ctx = this.tcb.allocateId();
|
|
4253
|
-
const type =
|
|
4291
|
+
const type = ts29.factory.createKeywordTypeNode(ts29.SyntaxKind.AnyKeyword);
|
|
4254
4292
|
this.scope.addStatement(tsDeclareVariable(ctx, type));
|
|
4255
4293
|
return ctx;
|
|
4256
4294
|
}
|
|
@@ -4303,16 +4341,16 @@ var TcbTemplateBodyOp = class extends TcbOp {
|
|
|
4303
4341
|
}
|
|
4304
4342
|
let guard = null;
|
|
4305
4343
|
if (directiveGuards.length > 0) {
|
|
4306
|
-
guard = directiveGuards.reduce((expr, dirGuard) =>
|
|
4344
|
+
guard = directiveGuards.reduce((expr, dirGuard) => ts29.factory.createBinaryExpression(expr, ts29.SyntaxKind.AmpersandAmpersandToken, dirGuard), directiveGuards.pop());
|
|
4307
4345
|
}
|
|
4308
4346
|
const tmplScope = Scope.forNodes(this.tcb, this.scope, this.template, this.template.children, guard);
|
|
4309
4347
|
const statements = tmplScope.render();
|
|
4310
4348
|
if (statements.length === 0) {
|
|
4311
4349
|
return null;
|
|
4312
4350
|
}
|
|
4313
|
-
let tmplBlock =
|
|
4351
|
+
let tmplBlock = ts29.factory.createBlock(statements);
|
|
4314
4352
|
if (guard !== null) {
|
|
4315
|
-
tmplBlock =
|
|
4353
|
+
tmplBlock = ts29.factory.createIfStatement(guard, tmplBlock);
|
|
4316
4354
|
}
|
|
4317
4355
|
this.scope.addStatement(tmplBlock);
|
|
4318
4356
|
return null;
|
|
@@ -4330,7 +4368,7 @@ var TcbExpressionOp = class extends TcbOp {
|
|
|
4330
4368
|
}
|
|
4331
4369
|
execute() {
|
|
4332
4370
|
const expr = tcbExpression(this.expression, this.tcb, this.scope);
|
|
4333
|
-
this.scope.addStatement(
|
|
4371
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(expr));
|
|
4334
4372
|
return null;
|
|
4335
4373
|
}
|
|
4336
4374
|
};
|
|
@@ -4352,11 +4390,11 @@ var TcbDirectiveTypeOpBase = class extends TcbOp {
|
|
|
4352
4390
|
if (this.dir.isGeneric === false || dirRef.node.typeParameters === void 0) {
|
|
4353
4391
|
type = rawType;
|
|
4354
4392
|
} else {
|
|
4355
|
-
if (!
|
|
4393
|
+
if (!ts29.isTypeReferenceNode(rawType)) {
|
|
4356
4394
|
throw new Error(`Expected TypeReferenceNode when referencing the type for ${this.dir.ref.debugName}`);
|
|
4357
4395
|
}
|
|
4358
|
-
const typeArguments = dirRef.node.typeParameters.map(() =>
|
|
4359
|
-
type =
|
|
4396
|
+
const typeArguments = dirRef.node.typeParameters.map(() => ts29.factory.createKeywordTypeNode(ts29.SyntaxKind.AnyKeyword));
|
|
4397
|
+
type = ts29.factory.createTypeReferenceNode(rawType.typeName, typeArguments);
|
|
4360
4398
|
}
|
|
4361
4399
|
const id = this.tcb.allocateId();
|
|
4362
4400
|
addExpressionIdentifier(id, ExpressionIdentifier.DIRECTIVE);
|
|
@@ -4397,11 +4435,11 @@ var TcbReferenceOp = class extends TcbOp {
|
|
|
4397
4435
|
const id = this.tcb.allocateId();
|
|
4398
4436
|
let initializer = this.target instanceof TmplAstTemplate2 || this.target instanceof TmplAstElement3 ? this.scope.resolve(this.target) : this.scope.resolve(this.host, this.target);
|
|
4399
4437
|
if (this.target instanceof TmplAstElement3 && !this.tcb.env.config.checkTypeOfDomReferences || !this.tcb.env.config.checkTypeOfNonDomReferences) {
|
|
4400
|
-
initializer =
|
|
4438
|
+
initializer = ts29.factory.createAsExpression(initializer, ts29.factory.createKeywordTypeNode(ts29.SyntaxKind.AnyKeyword));
|
|
4401
4439
|
} else if (this.target instanceof TmplAstTemplate2) {
|
|
4402
|
-
initializer =
|
|
4403
|
-
initializer =
|
|
4404
|
-
initializer =
|
|
4440
|
+
initializer = ts29.factory.createAsExpression(initializer, ts29.factory.createKeywordTypeNode(ts29.SyntaxKind.AnyKeyword));
|
|
4441
|
+
initializer = ts29.factory.createAsExpression(initializer, this.tcb.env.referenceExternalType("@angular/core", "TemplateRef", [DYNAMIC_TYPE]));
|
|
4442
|
+
initializer = ts29.factory.createParenthesizedExpression(initializer);
|
|
4405
4443
|
}
|
|
4406
4444
|
addParseSpanInfo(initializer, this.node.sourceSpan);
|
|
4407
4445
|
addParseSpanInfo(id, this.node.keySpan);
|
|
@@ -4500,7 +4538,7 @@ var TcbDirectiveInputsOp = class extends TcbOp {
|
|
|
4500
4538
|
type = this.tcb.env.referenceTransplantedType(new TransplantedType(transformType));
|
|
4501
4539
|
} else {
|
|
4502
4540
|
const dirTypeRef = this.tcb.env.referenceType(this.dir.ref);
|
|
4503
|
-
if (!
|
|
4541
|
+
if (!ts29.isTypeReferenceNode(dirTypeRef)) {
|
|
4504
4542
|
throw new Error(`Expected TypeReferenceNode from reference to ${this.dir.ref.debugName}`);
|
|
4505
4543
|
}
|
|
4506
4544
|
type = tsCreateTypeQueryForCoercedInput(dirTypeRef.typeName, fieldName);
|
|
@@ -4516,10 +4554,10 @@ var TcbDirectiveInputsOp = class extends TcbOp {
|
|
|
4516
4554
|
}
|
|
4517
4555
|
const id = this.tcb.allocateId();
|
|
4518
4556
|
const dirTypeRef = this.tcb.env.referenceType(this.dir.ref);
|
|
4519
|
-
if (!
|
|
4557
|
+
if (!ts29.isTypeReferenceNode(dirTypeRef)) {
|
|
4520
4558
|
throw new Error(`Expected TypeReferenceNode from reference to ${this.dir.ref.debugName}`);
|
|
4521
4559
|
}
|
|
4522
|
-
const type =
|
|
4560
|
+
const type = ts29.factory.createIndexedAccessTypeNode(ts29.factory.createTypeQueryNode(dirId), ts29.factory.createLiteralTypeNode(ts29.factory.createStringLiteral(fieldName)));
|
|
4523
4561
|
const temp = tsDeclareVariable(id, type);
|
|
4524
4562
|
this.scope.addStatement(temp);
|
|
4525
4563
|
target = id;
|
|
@@ -4527,14 +4565,14 @@ var TcbDirectiveInputsOp = class extends TcbOp {
|
|
|
4527
4565
|
if (dirId === null) {
|
|
4528
4566
|
dirId = this.scope.resolve(this.node, this.dir);
|
|
4529
4567
|
}
|
|
4530
|
-
target = this.dir.stringLiteralInputFields.has(fieldName) ?
|
|
4568
|
+
target = this.dir.stringLiteralInputFields.has(fieldName) ? ts29.factory.createElementAccessExpression(dirId, ts29.factory.createStringLiteral(fieldName)) : ts29.factory.createPropertyAccessExpression(dirId, ts29.factory.createIdentifier(fieldName));
|
|
4531
4569
|
}
|
|
4532
4570
|
if (isSignal2) {
|
|
4533
4571
|
const inputSignalBrandWriteSymbol = this.tcb.env.referenceExternalSymbol(R3Identifiers3.InputSignalBrandWriteType.moduleName, R3Identifiers3.InputSignalBrandWriteType.name);
|
|
4534
|
-
if (!
|
|
4572
|
+
if (!ts29.isIdentifier(inputSignalBrandWriteSymbol) && !ts29.isPropertyAccessExpression(inputSignalBrandWriteSymbol)) {
|
|
4535
4573
|
throw new Error(`Expected identifier or property access for reference to ${R3Identifiers3.InputSignalBrandWriteType.name}`);
|
|
4536
4574
|
}
|
|
4537
|
-
target =
|
|
4575
|
+
target = ts29.factory.createElementAccessExpression(target, inputSignalBrandWriteSymbol);
|
|
4538
4576
|
}
|
|
4539
4577
|
if (attr.attribute.keySpan !== void 0) {
|
|
4540
4578
|
addParseSpanInfo(target, attr.attribute.keySpan);
|
|
@@ -4542,13 +4580,13 @@ var TcbDirectiveInputsOp = class extends TcbOp {
|
|
|
4542
4580
|
if (isTwoWayBinding && this.tcb.env.config.allowSignalsInTwoWayBindings) {
|
|
4543
4581
|
assignment = unwrapWritableSignal(assignment, this.tcb);
|
|
4544
4582
|
}
|
|
4545
|
-
assignment =
|
|
4583
|
+
assignment = ts29.factory.createBinaryExpression(target, ts29.SyntaxKind.EqualsToken, assignment);
|
|
4546
4584
|
}
|
|
4547
4585
|
addParseSpanInfo(assignment, attr.attribute.sourceSpan);
|
|
4548
4586
|
if (!this.tcb.env.config.checkTypeOfAttributes && attr.attribute instanceof TmplAstTextAttribute2) {
|
|
4549
4587
|
markIgnoreDiagnostics(assignment);
|
|
4550
4588
|
}
|
|
4551
|
-
this.scope.addStatement(
|
|
4589
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(assignment));
|
|
4552
4590
|
}
|
|
4553
4591
|
this.checkRequiredInputs(seenRequiredInputs);
|
|
4554
4592
|
return null;
|
|
@@ -4579,7 +4617,7 @@ var TcbDirectiveCtorCircularFallbackOp = class extends TcbOp {
|
|
|
4579
4617
|
execute() {
|
|
4580
4618
|
const id = this.tcb.allocateId();
|
|
4581
4619
|
const typeCtor = this.tcb.env.typeCtorFor(this.dir);
|
|
4582
|
-
const circularPlaceholder =
|
|
4620
|
+
const circularPlaceholder = ts29.factory.createCallExpression(typeCtor, void 0, [ts29.factory.createNonNullExpression(ts29.factory.createNull())]);
|
|
4583
4621
|
this.scope.addStatement(tsCreateVariable(id, circularPlaceholder));
|
|
4584
4622
|
return id;
|
|
4585
4623
|
}
|
|
@@ -4621,7 +4659,7 @@ var TcbControlFlowContentProjectionOp = class extends TcbOp {
|
|
|
4621
4659
|
this.ngContentSelectors = ngContentSelectors;
|
|
4622
4660
|
this.componentName = componentName;
|
|
4623
4661
|
this.optional = false;
|
|
4624
|
-
this.category = tcb.env.config.controlFlowPreventingContentProjection === "error" ?
|
|
4662
|
+
this.category = tcb.env.config.controlFlowPreventingContentProjection === "error" ? ts29.DiagnosticCategory.Error : ts29.DiagnosticCategory.Warning;
|
|
4625
4663
|
}
|
|
4626
4664
|
execute() {
|
|
4627
4665
|
const controlFlowToCheck = this.findPotentialControlFlowNodes();
|
|
@@ -4720,15 +4758,15 @@ var TcbUnclaimedInputsOp = class extends TcbOp {
|
|
|
4720
4758
|
elId = this.scope.resolve(this.element);
|
|
4721
4759
|
}
|
|
4722
4760
|
const propertyName = (_a = ATTR_TO_PROP.get(binding.name)) != null ? _a : binding.name;
|
|
4723
|
-
const prop =
|
|
4724
|
-
const stmt =
|
|
4761
|
+
const prop = ts29.factory.createElementAccessExpression(elId, ts29.factory.createStringLiteral(propertyName));
|
|
4762
|
+
const stmt = ts29.factory.createBinaryExpression(prop, ts29.SyntaxKind.EqualsToken, wrapForDiagnostics(expr));
|
|
4725
4763
|
addParseSpanInfo(stmt, binding.sourceSpan);
|
|
4726
|
-
this.scope.addStatement(
|
|
4764
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(stmt));
|
|
4727
4765
|
} else {
|
|
4728
|
-
this.scope.addStatement(
|
|
4766
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(expr));
|
|
4729
4767
|
}
|
|
4730
4768
|
} else {
|
|
4731
|
-
this.scope.addStatement(
|
|
4769
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(expr));
|
|
4732
4770
|
}
|
|
4733
4771
|
}
|
|
4734
4772
|
return null;
|
|
@@ -4760,18 +4798,18 @@ var TcbDirectiveOutputsOp = class extends TcbOp {
|
|
|
4760
4798
|
if (dirId === null) {
|
|
4761
4799
|
dirId = this.scope.resolve(this.node, this.dir);
|
|
4762
4800
|
}
|
|
4763
|
-
const outputField =
|
|
4801
|
+
const outputField = ts29.factory.createElementAccessExpression(dirId, ts29.factory.createStringLiteral(field));
|
|
4764
4802
|
addParseSpanInfo(outputField, output.keySpan);
|
|
4765
4803
|
if (this.tcb.env.config.checkTypeOfOutputEvents) {
|
|
4766
4804
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 0);
|
|
4767
|
-
const subscribeFn =
|
|
4768
|
-
const call =
|
|
4805
|
+
const subscribeFn = ts29.factory.createPropertyAccessExpression(outputField, "subscribe");
|
|
4806
|
+
const call = ts29.factory.createCallExpression(subscribeFn, void 0, [handler]);
|
|
4769
4807
|
addParseSpanInfo(call, output.sourceSpan);
|
|
4770
|
-
this.scope.addStatement(
|
|
4808
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(call));
|
|
4771
4809
|
} else {
|
|
4772
|
-
this.scope.addStatement(
|
|
4810
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(outputField));
|
|
4773
4811
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 1);
|
|
4774
|
-
this.scope.addStatement(
|
|
4812
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(handler));
|
|
4775
4813
|
}
|
|
4776
4814
|
ExpressionSemanticVisitor.visit(output.handler, this.tcb.id, this.tcb.boundTarget, this.tcb.oobRecorder);
|
|
4777
4815
|
}
|
|
@@ -4804,24 +4842,24 @@ var TcbUnclaimedOutputsOp = class extends TcbOp {
|
|
|
4804
4842
|
if (output.type === 1) {
|
|
4805
4843
|
const eventType = this.tcb.env.config.checkTypeOfAnimationEvents ? this.tcb.env.referenceExternalType("@angular/animations", "AnimationEvent") : 1;
|
|
4806
4844
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, eventType);
|
|
4807
|
-
this.scope.addStatement(
|
|
4845
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(handler));
|
|
4808
4846
|
} else if (this.tcb.env.config.checkTypeOfDomEvents) {
|
|
4809
4847
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 0);
|
|
4810
4848
|
if (elId === null) {
|
|
4811
4849
|
elId = this.scope.resolve(this.element);
|
|
4812
4850
|
}
|
|
4813
|
-
const propertyAccess =
|
|
4851
|
+
const propertyAccess = ts29.factory.createPropertyAccessExpression(elId, "addEventListener");
|
|
4814
4852
|
addParseSpanInfo(propertyAccess, output.keySpan);
|
|
4815
|
-
const call =
|
|
4853
|
+
const call = ts29.factory.createCallExpression(
|
|
4816
4854
|
propertyAccess,
|
|
4817
4855
|
void 0,
|
|
4818
|
-
[
|
|
4856
|
+
[ts29.factory.createStringLiteral(output.name), handler]
|
|
4819
4857
|
);
|
|
4820
4858
|
addParseSpanInfo(call, output.sourceSpan);
|
|
4821
|
-
this.scope.addStatement(
|
|
4859
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(call));
|
|
4822
4860
|
} else {
|
|
4823
4861
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 1);
|
|
4824
|
-
this.scope.addStatement(
|
|
4862
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(handler));
|
|
4825
4863
|
}
|
|
4826
4864
|
ExpressionSemanticVisitor.visit(output.handler, this.tcb.id, this.tcb.boundTarget, this.tcb.oobRecorder);
|
|
4827
4865
|
}
|
|
@@ -4835,11 +4873,11 @@ var TcbComponentContextCompletionOp = class extends TcbOp {
|
|
|
4835
4873
|
this.optional = false;
|
|
4836
4874
|
}
|
|
4837
4875
|
execute() {
|
|
4838
|
-
const ctx =
|
|
4839
|
-
const ctxDot =
|
|
4876
|
+
const ctx = ts29.factory.createThis();
|
|
4877
|
+
const ctxDot = ts29.factory.createPropertyAccessExpression(ctx, "");
|
|
4840
4878
|
markIgnoreDiagnostics(ctxDot);
|
|
4841
4879
|
addExpressionIdentifier(ctxDot, ExpressionIdentifier.COMPONENT_COMPLETION);
|
|
4842
|
-
this.scope.addStatement(
|
|
4880
|
+
this.scope.addStatement(ts29.factory.createExpressionStatement(ctxDot));
|
|
4843
4881
|
return null;
|
|
4844
4882
|
}
|
|
4845
4883
|
};
|
|
@@ -4904,14 +4942,14 @@ var TcbIfOp = class extends TcbOp {
|
|
|
4904
4942
|
}
|
|
4905
4943
|
if (branch.expression === null) {
|
|
4906
4944
|
const branchScope = Scope.forNodes(this.tcb, this.scope, null, branch.children, this.generateBranchGuard(index));
|
|
4907
|
-
return
|
|
4945
|
+
return ts29.factory.createBlock(branchScope.render());
|
|
4908
4946
|
}
|
|
4909
4947
|
const expressionScope = Scope.forNodes(this.tcb, this.scope, branch, [], null);
|
|
4910
4948
|
expressionScope.render().forEach((stmt) => this.scope.addStatement(stmt));
|
|
4911
4949
|
this.expressionScopes.set(branch, expressionScope);
|
|
4912
4950
|
const expression = branch.expressionAlias === null ? tcbExpression(branch.expression, this.tcb, expressionScope) : expressionScope.resolve(branch.expressionAlias);
|
|
4913
4951
|
const bodyScope = Scope.forNodes(this.tcb, expressionScope, null, branch.children, this.generateBranchGuard(index));
|
|
4914
|
-
return
|
|
4952
|
+
return ts29.factory.createIfStatement(expression, ts29.factory.createBlock(bodyScope.render()), this.generateBranch(index + 1));
|
|
4915
4953
|
}
|
|
4916
4954
|
generateBranchGuard(index) {
|
|
4917
4955
|
let guard = null;
|
|
@@ -4931,8 +4969,8 @@ var TcbIfOp = class extends TcbOp {
|
|
|
4931
4969
|
} else {
|
|
4932
4970
|
expression = expressionScope.resolve(branch.expressionAlias);
|
|
4933
4971
|
}
|
|
4934
|
-
const comparisonExpression = i === index ? expression :
|
|
4935
|
-
guard = guard === null ? comparisonExpression :
|
|
4972
|
+
const comparisonExpression = i === index ? expression : ts29.factory.createPrefixUnaryExpression(ts29.SyntaxKind.ExclamationToken, ts29.factory.createParenthesizedExpression(expression));
|
|
4973
|
+
guard = guard === null ? comparisonExpression : ts29.factory.createBinaryExpression(guard, ts29.SyntaxKind.AmpersandAmpersandToken, comparisonExpression);
|
|
4936
4974
|
}
|
|
4937
4975
|
return guard;
|
|
4938
4976
|
}
|
|
@@ -4950,7 +4988,7 @@ var TcbSwitchOp = class extends TcbOp {
|
|
|
4950
4988
|
execute() {
|
|
4951
4989
|
const comparisonExpression = tcbExpression(this.block.expression, this.tcb, this.scope);
|
|
4952
4990
|
markIgnoreDiagnostics(comparisonExpression);
|
|
4953
|
-
const expression =
|
|
4991
|
+
const expression = ts29.factory.createParenthesizedExpression(comparisonExpression);
|
|
4954
4992
|
const root = this.generateCase(0, expression, null);
|
|
4955
4993
|
if (root !== void 0) {
|
|
4956
4994
|
this.scope.addStatement(root);
|
|
@@ -4961,7 +4999,7 @@ var TcbSwitchOp = class extends TcbOp {
|
|
|
4961
4999
|
if (index >= this.block.cases.length) {
|
|
4962
5000
|
if (defaultCase !== null) {
|
|
4963
5001
|
const defaultScope = Scope.forNodes(this.tcb, this.scope, null, defaultCase.children, this.generateGuard(defaultCase, switchValue));
|
|
4964
|
-
return
|
|
5002
|
+
return ts29.factory.createBlock(defaultScope.render());
|
|
4965
5003
|
}
|
|
4966
5004
|
return void 0;
|
|
4967
5005
|
}
|
|
@@ -4971,13 +5009,13 @@ var TcbSwitchOp = class extends TcbOp {
|
|
|
4971
5009
|
}
|
|
4972
5010
|
const caseScope = Scope.forNodes(this.tcb, this.scope, null, current.children, this.generateGuard(current, switchValue));
|
|
4973
5011
|
const caseValue = tcbExpression(current.expression, this.tcb, caseScope);
|
|
4974
|
-
return
|
|
5012
|
+
return ts29.factory.createIfStatement(ts29.factory.createBinaryExpression(switchValue, ts29.SyntaxKind.EqualsEqualsEqualsToken, caseValue), ts29.factory.createBlock(caseScope.render()), this.generateCase(index + 1, switchValue, defaultCase));
|
|
4975
5013
|
}
|
|
4976
5014
|
generateGuard(node, switchValue) {
|
|
4977
5015
|
if (node.expression !== null) {
|
|
4978
5016
|
const expression = tcbExpression(node.expression, this.tcb, this.scope);
|
|
4979
5017
|
markIgnoreDiagnostics(expression);
|
|
4980
|
-
return
|
|
5018
|
+
return ts29.factory.createBinaryExpression(switchValue, ts29.SyntaxKind.EqualsEqualsEqualsToken, expression);
|
|
4981
5019
|
}
|
|
4982
5020
|
let guard = null;
|
|
4983
5021
|
for (const current of this.block.cases) {
|
|
@@ -4986,11 +5024,11 @@ var TcbSwitchOp = class extends TcbOp {
|
|
|
4986
5024
|
}
|
|
4987
5025
|
const expression = tcbExpression(current.expression, this.tcb, this.scope);
|
|
4988
5026
|
markIgnoreDiagnostics(expression);
|
|
4989
|
-
const comparison =
|
|
5027
|
+
const comparison = ts29.factory.createBinaryExpression(switchValue, ts29.SyntaxKind.ExclamationEqualsEqualsToken, expression);
|
|
4990
5028
|
if (guard === null) {
|
|
4991
5029
|
guard = comparison;
|
|
4992
5030
|
} else {
|
|
4993
|
-
guard =
|
|
5031
|
+
guard = ts29.factory.createBinaryExpression(guard, ts29.SyntaxKind.AmpersandAmpersandToken, comparison);
|
|
4994
5032
|
}
|
|
4995
5033
|
}
|
|
4996
5034
|
return guard;
|
|
@@ -5009,23 +5047,23 @@ var TcbForOfOp = class extends TcbOp {
|
|
|
5009
5047
|
execute() {
|
|
5010
5048
|
const loopScope = Scope.forNodes(this.tcb, this.scope, this.block, this.block.children, null);
|
|
5011
5049
|
const initializerId = loopScope.resolve(this.block.item);
|
|
5012
|
-
if (!
|
|
5050
|
+
if (!ts29.isIdentifier(initializerId)) {
|
|
5013
5051
|
throw new Error(`Could not resolve for loop variable ${this.block.item.name} to an identifier`);
|
|
5014
5052
|
}
|
|
5015
|
-
const initializer =
|
|
5053
|
+
const initializer = ts29.factory.createVariableDeclarationList([ts29.factory.createVariableDeclaration(initializerId)], ts29.NodeFlags.Const);
|
|
5016
5054
|
addParseSpanInfo(initializer, this.block.item.keySpan);
|
|
5017
|
-
const expression =
|
|
5055
|
+
const expression = ts29.factory.createNonNullExpression(tcbExpression(this.block.expression, this.tcb, loopScope));
|
|
5018
5056
|
const trackTranslator = new TcbForLoopTrackTranslator(this.tcb, loopScope, this.block);
|
|
5019
5057
|
const trackExpression = trackTranslator.translate(this.block.trackBy);
|
|
5020
5058
|
const statements = [
|
|
5021
5059
|
...loopScope.render(),
|
|
5022
|
-
|
|
5060
|
+
ts29.factory.createExpressionStatement(trackExpression)
|
|
5023
5061
|
];
|
|
5024
|
-
this.scope.addStatement(
|
|
5062
|
+
this.scope.addStatement(ts29.factory.createForOfStatement(void 0, initializer, expression, ts29.factory.createBlock(statements)));
|
|
5025
5063
|
return null;
|
|
5026
5064
|
}
|
|
5027
5065
|
};
|
|
5028
|
-
var INFER_TYPE_FOR_CIRCULAR_OP_EXPR =
|
|
5066
|
+
var INFER_TYPE_FOR_CIRCULAR_OP_EXPR = ts29.factory.createNonNullExpression(ts29.factory.createNull());
|
|
5029
5067
|
var Context = class {
|
|
5030
5068
|
constructor(env, domSchemaChecker, oobRecorder, id, boundTarget, pipes, schemas, hostIsStandalone, hostPreserveWhitespaces) {
|
|
5031
5069
|
this.env = env;
|
|
@@ -5040,7 +5078,7 @@ var Context = class {
|
|
|
5040
5078
|
this.nextId = 1;
|
|
5041
5079
|
}
|
|
5042
5080
|
allocateId() {
|
|
5043
|
-
return
|
|
5081
|
+
return ts29.factory.createIdentifier(`_t${this.nextId++}`);
|
|
5044
5082
|
}
|
|
5045
5083
|
getPipeByName(name) {
|
|
5046
5084
|
if (!this.pipes.has(name)) {
|
|
@@ -5091,7 +5129,7 @@ var _Scope = class {
|
|
|
5091
5129
|
if (!this.forLoopContextVariableTypes.has(name)) {
|
|
5092
5130
|
throw new Error(`Unrecognized for loop context variable ${name}`);
|
|
5093
5131
|
}
|
|
5094
|
-
const type =
|
|
5132
|
+
const type = ts29.factory.createKeywordTypeNode(this.forLoopContextVariableTypes.get(name));
|
|
5095
5133
|
this.registerVariable(scope, variable, new TcbBlockImplicitVariableOp(tcb, scope, type, variable));
|
|
5096
5134
|
}
|
|
5097
5135
|
}
|
|
@@ -5108,16 +5146,16 @@ var _Scope = class {
|
|
|
5108
5146
|
const res = this.resolveLocal(node, directive);
|
|
5109
5147
|
if (res !== null) {
|
|
5110
5148
|
let clone;
|
|
5111
|
-
if (
|
|
5112
|
-
clone =
|
|
5113
|
-
} else if (
|
|
5114
|
-
clone =
|
|
5149
|
+
if (ts29.isIdentifier(res)) {
|
|
5150
|
+
clone = ts29.factory.createIdentifier(res.text);
|
|
5151
|
+
} else if (ts29.isNonNullExpression(res)) {
|
|
5152
|
+
clone = ts29.factory.createNonNullExpression(res.expression);
|
|
5115
5153
|
} else {
|
|
5116
5154
|
throw new Error(`Could not resolve ${node} to an Identifier or a NonNullExpression`);
|
|
5117
5155
|
}
|
|
5118
|
-
|
|
5156
|
+
ts29.setOriginalNode(clone, res);
|
|
5119
5157
|
clone.parent = clone.parent;
|
|
5120
|
-
return
|
|
5158
|
+
return ts29.setSyntheticTrailingComments(clone, []);
|
|
5121
5159
|
} else if (this.parent !== null) {
|
|
5122
5160
|
return this.parent.resolve(node, directive);
|
|
5123
5161
|
} else {
|
|
@@ -5144,7 +5182,7 @@ var _Scope = class {
|
|
|
5144
5182
|
} else if (parentGuards === null) {
|
|
5145
5183
|
return this.guard;
|
|
5146
5184
|
} else {
|
|
5147
|
-
return
|
|
5185
|
+
return ts29.factory.createBinaryExpression(parentGuards, ts29.SyntaxKind.AmpersandAmpersandToken, this.guard);
|
|
5148
5186
|
}
|
|
5149
5187
|
}
|
|
5150
5188
|
resolveLocal(ref, directive) {
|
|
@@ -5392,21 +5430,21 @@ var _Scope = class {
|
|
|
5392
5430
|
var Scope = _Scope;
|
|
5393
5431
|
(() => {
|
|
5394
5432
|
_Scope.forLoopContextVariableTypes = /* @__PURE__ */ new Map([
|
|
5395
|
-
["$first",
|
|
5396
|
-
["$last",
|
|
5397
|
-
["$even",
|
|
5398
|
-
["$odd",
|
|
5399
|
-
["$index",
|
|
5400
|
-
["$count",
|
|
5433
|
+
["$first", ts29.SyntaxKind.BooleanKeyword],
|
|
5434
|
+
["$last", ts29.SyntaxKind.BooleanKeyword],
|
|
5435
|
+
["$even", ts29.SyntaxKind.BooleanKeyword],
|
|
5436
|
+
["$odd", ts29.SyntaxKind.BooleanKeyword],
|
|
5437
|
+
["$index", ts29.SyntaxKind.NumberKeyword],
|
|
5438
|
+
["$count", ts29.SyntaxKind.NumberKeyword]
|
|
5401
5439
|
]);
|
|
5402
5440
|
})();
|
|
5403
5441
|
function tcbThisParam(name, typeArguments) {
|
|
5404
|
-
return
|
|
5442
|
+
return ts29.factory.createParameterDeclaration(
|
|
5405
5443
|
void 0,
|
|
5406
5444
|
void 0,
|
|
5407
5445
|
"this",
|
|
5408
5446
|
void 0,
|
|
5409
|
-
|
|
5447
|
+
ts29.factory.createTypeReferenceNode(name, typeArguments),
|
|
5410
5448
|
void 0
|
|
5411
5449
|
);
|
|
5412
5450
|
}
|
|
@@ -5431,11 +5469,11 @@ var TcbExpressionTranslator = class {
|
|
|
5431
5469
|
return null;
|
|
5432
5470
|
}
|
|
5433
5471
|
const expr = this.translate(ast.value);
|
|
5434
|
-
const result =
|
|
5472
|
+
const result = ts29.factory.createParenthesizedExpression(ts29.factory.createBinaryExpression(target, ts29.SyntaxKind.EqualsToken, expr));
|
|
5435
5473
|
addParseSpanInfo(result, ast.sourceSpan);
|
|
5436
5474
|
return result;
|
|
5437
5475
|
} else if (ast instanceof ImplicitReceiver4) {
|
|
5438
|
-
return
|
|
5476
|
+
return ts29.factory.createThis();
|
|
5439
5477
|
} else if (ast instanceof BindingPipe) {
|
|
5440
5478
|
const expr = this.translate(ast.exp);
|
|
5441
5479
|
const pipeMeta = this.tcb.getPipeByName(ast.name);
|
|
@@ -5450,12 +5488,12 @@ var TcbExpressionTranslator = class {
|
|
|
5450
5488
|
pipe = this.tcb.env.pipeInst(pipeMeta.ref);
|
|
5451
5489
|
}
|
|
5452
5490
|
const args = ast.args.map((arg) => this.translate(arg));
|
|
5453
|
-
let methodAccess =
|
|
5491
|
+
let methodAccess = ts29.factory.createPropertyAccessExpression(pipe, "transform");
|
|
5454
5492
|
addParseSpanInfo(methodAccess, ast.nameSpan);
|
|
5455
5493
|
if (!this.tcb.env.config.checkTypeOfPipes) {
|
|
5456
|
-
methodAccess =
|
|
5494
|
+
methodAccess = ts29.factory.createAsExpression(methodAccess, ts29.factory.createKeywordTypeNode(ts29.SyntaxKind.AnyKeyword));
|
|
5457
5495
|
}
|
|
5458
|
-
const result =
|
|
5496
|
+
const result = ts29.factory.createCallExpression(
|
|
5459
5497
|
methodAccess,
|
|
5460
5498
|
void 0,
|
|
5461
5499
|
[expr, ...args]
|
|
@@ -5465,8 +5503,8 @@ var TcbExpressionTranslator = class {
|
|
|
5465
5503
|
} else if ((ast instanceof Call2 || ast instanceof SafeCall) && (ast.receiver instanceof PropertyRead4 || ast.receiver instanceof SafePropertyRead3)) {
|
|
5466
5504
|
if (ast.receiver.receiver instanceof ImplicitReceiver4 && !(ast.receiver.receiver instanceof ThisReceiver) && ast.receiver.name === "$any" && ast.args.length === 1) {
|
|
5467
5505
|
const expr = this.translate(ast.args[0]);
|
|
5468
|
-
const exprAsAny =
|
|
5469
|
-
const result =
|
|
5506
|
+
const exprAsAny = ts29.factory.createAsExpression(expr, ts29.factory.createKeywordTypeNode(ts29.SyntaxKind.AnyKeyword));
|
|
5507
|
+
const result = ts29.factory.createParenthesizedExpression(exprAsAny);
|
|
5470
5508
|
addParseSpanInfo(result, ast.sourceSpan);
|
|
5471
5509
|
return result;
|
|
5472
5510
|
}
|
|
@@ -5477,7 +5515,7 @@ var TcbExpressionTranslator = class {
|
|
|
5477
5515
|
const method = wrapForDiagnostics(receiver);
|
|
5478
5516
|
addParseSpanInfo(method, ast.receiver.nameSpan);
|
|
5479
5517
|
const args = ast.args.map((arg) => this.translate(arg));
|
|
5480
|
-
const node =
|
|
5518
|
+
const node = ts29.factory.createCallExpression(method, void 0, args);
|
|
5481
5519
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
5482
5520
|
return node;
|
|
5483
5521
|
} else {
|
|
@@ -5497,23 +5535,23 @@ var TcbExpressionTranslator = class {
|
|
|
5497
5535
|
function tcbCallTypeCtor(dir, tcb, inputs) {
|
|
5498
5536
|
const typeCtor = tcb.env.typeCtorFor(dir);
|
|
5499
5537
|
const members = inputs.map((input) => {
|
|
5500
|
-
const propertyName =
|
|
5538
|
+
const propertyName = ts29.factory.createStringLiteral(input.field);
|
|
5501
5539
|
if (input.type === "binding") {
|
|
5502
5540
|
let expr = widenBinding(input.expression, tcb);
|
|
5503
5541
|
if (input.isTwoWayBinding && tcb.env.config.allowSignalsInTwoWayBindings) {
|
|
5504
5542
|
expr = unwrapWritableSignal(expr, tcb);
|
|
5505
5543
|
}
|
|
5506
|
-
const assignment =
|
|
5544
|
+
const assignment = ts29.factory.createPropertyAssignment(propertyName, wrapForDiagnostics(expr));
|
|
5507
5545
|
addParseSpanInfo(assignment, input.sourceSpan);
|
|
5508
5546
|
return assignment;
|
|
5509
5547
|
} else {
|
|
5510
|
-
return
|
|
5548
|
+
return ts29.factory.createPropertyAssignment(propertyName, NULL_AS_ANY);
|
|
5511
5549
|
}
|
|
5512
5550
|
});
|
|
5513
|
-
return
|
|
5551
|
+
return ts29.factory.createCallExpression(
|
|
5514
5552
|
typeCtor,
|
|
5515
5553
|
void 0,
|
|
5516
|
-
[
|
|
5554
|
+
[ts29.factory.createObjectLiteralExpression(members)]
|
|
5517
5555
|
);
|
|
5518
5556
|
}
|
|
5519
5557
|
function getBoundAttributes(directive, node) {
|
|
@@ -5550,17 +5588,17 @@ function translateInput(attr, tcb, scope) {
|
|
|
5550
5588
|
if (attr instanceof TmplAstBoundAttribute) {
|
|
5551
5589
|
return tcbExpression(attr.value, tcb, scope);
|
|
5552
5590
|
} else {
|
|
5553
|
-
return
|
|
5591
|
+
return ts29.factory.createStringLiteral(attr.value);
|
|
5554
5592
|
}
|
|
5555
5593
|
}
|
|
5556
5594
|
function widenBinding(expr, tcb) {
|
|
5557
5595
|
if (!tcb.env.config.checkTypeOfInputBindings) {
|
|
5558
5596
|
return tsCastToAny(expr);
|
|
5559
5597
|
} else if (!tcb.env.config.strictNullInputBindings) {
|
|
5560
|
-
if (
|
|
5598
|
+
if (ts29.isObjectLiteralExpression(expr) || ts29.isArrayLiteralExpression(expr)) {
|
|
5561
5599
|
return expr;
|
|
5562
5600
|
} else {
|
|
5563
|
-
return
|
|
5601
|
+
return ts29.factory.createNonNullExpression(expr);
|
|
5564
5602
|
}
|
|
5565
5603
|
} else {
|
|
5566
5604
|
return expr;
|
|
@@ -5568,7 +5606,7 @@ function widenBinding(expr, tcb) {
|
|
|
5568
5606
|
}
|
|
5569
5607
|
function unwrapWritableSignal(expression, tcb) {
|
|
5570
5608
|
const unwrapRef = tcb.env.referenceExternalSymbol(R3Identifiers3.unwrapWritableSignal.moduleName, R3Identifiers3.unwrapWritableSignal.name);
|
|
5571
|
-
return
|
|
5609
|
+
return ts29.factory.createCallExpression(unwrapRef, void 0, [expression]);
|
|
5572
5610
|
}
|
|
5573
5611
|
var EVENT_PARAMETER = "$event";
|
|
5574
5612
|
function tcbCreateEventHandler(event, tcb, scope, eventType) {
|
|
@@ -5577,16 +5615,16 @@ function tcbCreateEventHandler(event, tcb, scope, eventType) {
|
|
|
5577
5615
|
if (eventType === 0) {
|
|
5578
5616
|
eventParamType = void 0;
|
|
5579
5617
|
} else if (eventType === 1) {
|
|
5580
|
-
eventParamType =
|
|
5618
|
+
eventParamType = ts29.factory.createKeywordTypeNode(ts29.SyntaxKind.AnyKeyword);
|
|
5581
5619
|
} else {
|
|
5582
5620
|
eventParamType = eventType;
|
|
5583
5621
|
}
|
|
5584
5622
|
const guards = scope.guards();
|
|
5585
|
-
let body =
|
|
5623
|
+
let body = ts29.factory.createExpressionStatement(handler);
|
|
5586
5624
|
if (guards !== null) {
|
|
5587
|
-
body =
|
|
5625
|
+
body = ts29.factory.createIfStatement(guards, body);
|
|
5588
5626
|
}
|
|
5589
|
-
const eventParam =
|
|
5627
|
+
const eventParam = ts29.factory.createParameterDeclaration(
|
|
5590
5628
|
void 0,
|
|
5591
5629
|
void 0,
|
|
5592
5630
|
EVENT_PARAMETER,
|
|
@@ -5594,13 +5632,13 @@ function tcbCreateEventHandler(event, tcb, scope, eventType) {
|
|
|
5594
5632
|
eventParamType
|
|
5595
5633
|
);
|
|
5596
5634
|
addExpressionIdentifier(eventParam, ExpressionIdentifier.EVENT_PARAMETER);
|
|
5597
|
-
return
|
|
5635
|
+
return ts29.factory.createArrowFunction(
|
|
5598
5636
|
void 0,
|
|
5599
5637
|
void 0,
|
|
5600
5638
|
[eventParam],
|
|
5601
|
-
|
|
5639
|
+
ts29.factory.createKeywordTypeNode(ts29.SyntaxKind.AnyKeyword),
|
|
5602
5640
|
void 0,
|
|
5603
|
-
|
|
5641
|
+
ts29.factory.createBlock([body])
|
|
5604
5642
|
);
|
|
5605
5643
|
}
|
|
5606
5644
|
function tcbEventHandlerExpression(ast, tcb, scope) {
|
|
@@ -5629,7 +5667,7 @@ function isSplitTwoWayBinding(inputName, output, inputs, tcb) {
|
|
|
5629
5667
|
var TcbEventHandlerTranslator = class extends TcbExpressionTranslator {
|
|
5630
5668
|
resolve(ast) {
|
|
5631
5669
|
if (ast instanceof PropertyRead4 && ast.receiver instanceof ImplicitReceiver4 && !(ast.receiver instanceof ThisReceiver) && ast.name === EVENT_PARAMETER) {
|
|
5632
|
-
const event =
|
|
5670
|
+
const event = ts29.factory.createIdentifier(EVENT_PARAMETER);
|
|
5633
5671
|
addParseSpanInfo(event, ast.nameSpan);
|
|
5634
5672
|
return event;
|
|
5635
5673
|
}
|
|
@@ -5652,34 +5690,34 @@ var TcbForLoopTrackTranslator = class extends TcbExpressionTranslator {
|
|
|
5652
5690
|
}
|
|
5653
5691
|
};
|
|
5654
5692
|
|
|
5655
|
-
// bazel-out/
|
|
5656
|
-
import
|
|
5693
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
|
|
5694
|
+
import ts30 from "typescript";
|
|
5657
5695
|
var TypeCheckFile = class extends Environment {
|
|
5658
5696
|
constructor(fileName, config, refEmitter, reflector, compilerHost) {
|
|
5659
|
-
super(config, new ImportManager(new NoopImportRewriter(), "i"), refEmitter, reflector,
|
|
5697
|
+
super(config, new ImportManager(new NoopImportRewriter(), "i"), refEmitter, reflector, ts30.createSourceFile(compilerHost.getCanonicalFileName(fileName), "", ts30.ScriptTarget.Latest, true));
|
|
5660
5698
|
this.fileName = fileName;
|
|
5661
5699
|
this.nextTcbId = 1;
|
|
5662
5700
|
this.tcbStatements = [];
|
|
5663
5701
|
}
|
|
5664
5702
|
addTypeCheckBlock(ref, meta, domSchemaChecker, oobRecorder, genericContextBehavior) {
|
|
5665
|
-
const fnId =
|
|
5703
|
+
const fnId = ts30.factory.createIdentifier(`_tcb${this.nextTcbId++}`);
|
|
5666
5704
|
const fn = generateTypeCheckBlock(this, ref, fnId, meta, domSchemaChecker, oobRecorder, genericContextBehavior);
|
|
5667
5705
|
this.tcbStatements.push(fn);
|
|
5668
5706
|
}
|
|
5669
5707
|
render(removeComments) {
|
|
5670
5708
|
ensureTypeCheckFilePreparationImports(this);
|
|
5671
5709
|
let source = this.importManager.getAllImports(this.contextFile.fileName).map(getImportString).join("\n") + "\n\n";
|
|
5672
|
-
const printer =
|
|
5710
|
+
const printer = ts30.createPrinter({ removeComments });
|
|
5673
5711
|
source += "\n";
|
|
5674
5712
|
for (const stmt of this.pipeInstStatements) {
|
|
5675
|
-
source += printer.printNode(
|
|
5713
|
+
source += printer.printNode(ts30.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
|
|
5676
5714
|
}
|
|
5677
5715
|
for (const stmt of this.typeCtorStatements) {
|
|
5678
|
-
source += printer.printNode(
|
|
5716
|
+
source += printer.printNode(ts30.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
|
|
5679
5717
|
}
|
|
5680
5718
|
source += "\n";
|
|
5681
5719
|
for (const stmt of this.tcbStatements) {
|
|
5682
|
-
source += printer.printNode(
|
|
5720
|
+
source += printer.printNode(ts30.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
|
|
5683
5721
|
}
|
|
5684
5722
|
source += "\nexport const IS_A_MODULE = true;\n";
|
|
5685
5723
|
return source;
|
|
@@ -5689,7 +5727,7 @@ var TypeCheckFile = class extends Environment {
|
|
|
5689
5727
|
}
|
|
5690
5728
|
};
|
|
5691
5729
|
|
|
5692
|
-
// bazel-out/
|
|
5730
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
|
|
5693
5731
|
var InliningMode;
|
|
5694
5732
|
(function(InliningMode2) {
|
|
5695
5733
|
InliningMode2[InliningMode2["InlineOps"] = 0] = "InlineOps";
|
|
@@ -5795,7 +5833,7 @@ var TypeCheckContextImpl = class {
|
|
|
5795
5833
|
const importManager = new ImportManager(new NoopImportRewriter(), "_i");
|
|
5796
5834
|
const ops = this.opMap.get(sf).sort(orderOps);
|
|
5797
5835
|
const textParts = splitStringAtPoints(sf.text, ops.map((op) => op.splitPoint));
|
|
5798
|
-
const printer =
|
|
5836
|
+
const printer = ts31.createPrinter({ omitTrailingSemicolon: true });
|
|
5799
5837
|
let code = textParts[0];
|
|
5800
5838
|
ops.forEach((op, idx) => {
|
|
5801
5839
|
const text = op.execute(importManager, sf, this.refEmitter, printer);
|
|
@@ -5876,7 +5914,7 @@ var TypeCheckContextImpl = class {
|
|
|
5876
5914
|
if (span.start.offset === span.end.offset) {
|
|
5877
5915
|
span.end.offset++;
|
|
5878
5916
|
}
|
|
5879
|
-
return makeTemplateDiagnostic(templateId, sourceMapping, span,
|
|
5917
|
+
return makeTemplateDiagnostic(templateId, sourceMapping, span, ts31.DiagnosticCategory.Error, ngErrorCode(ErrorCode.TEMPLATE_PARSE_ERROR), error.msg);
|
|
5880
5918
|
});
|
|
5881
5919
|
}
|
|
5882
5920
|
};
|
|
@@ -5894,9 +5932,9 @@ var InlineTcbOp = class {
|
|
|
5894
5932
|
}
|
|
5895
5933
|
execute(im, sf, refEmitter, printer) {
|
|
5896
5934
|
const env = new Environment(this.config, im, refEmitter, this.reflector, sf);
|
|
5897
|
-
const fnName =
|
|
5935
|
+
const fnName = ts31.factory.createIdentifier(`_tcb_${this.ref.node.pos}`);
|
|
5898
5936
|
const fn = generateTypeCheckBlock(env, this.ref, fnName, this.meta, this.domSchemaChecker, this.oobRecorder, TcbGenericContextBehavior.CopyClassNodes);
|
|
5899
|
-
return printer.printNode(
|
|
5937
|
+
return printer.printNode(ts31.EmitHint.Unspecified, fn, sf);
|
|
5900
5938
|
}
|
|
5901
5939
|
};
|
|
5902
5940
|
var TypeCtorOp = class {
|
|
@@ -5911,7 +5949,7 @@ var TypeCtorOp = class {
|
|
|
5911
5949
|
execute(im, sf, refEmitter, printer) {
|
|
5912
5950
|
const emitEnv = new ReferenceEmitEnvironment(im, refEmitter, this.reflector, sf);
|
|
5913
5951
|
const tcb = generateInlineTypeCtor(emitEnv, this.ref.node, this.meta);
|
|
5914
|
-
return printer.printNode(
|
|
5952
|
+
return printer.printNode(ts31.EmitHint.Unspecified, tcb, sf);
|
|
5915
5953
|
}
|
|
5916
5954
|
};
|
|
5917
5955
|
function orderOps(op1, op2) {
|
|
@@ -5929,10 +5967,10 @@ function splitStringAtPoints(str, points) {
|
|
|
5929
5967
|
return splits;
|
|
5930
5968
|
}
|
|
5931
5969
|
|
|
5932
|
-
// bazel-out/
|
|
5970
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
|
|
5933
5971
|
import { ParseLocation, ParseSourceSpan } from "@angular/compiler";
|
|
5934
5972
|
|
|
5935
|
-
// bazel-out/
|
|
5973
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
|
|
5936
5974
|
var LF_CHAR = 10;
|
|
5937
5975
|
var CR_CHAR = 13;
|
|
5938
5976
|
var LINE_SEP_CHAR = 8232;
|
|
@@ -5973,7 +6011,7 @@ function findClosestLineStartPosition(linesMap, position, low = 0, high = linesM
|
|
|
5973
6011
|
return low - 1;
|
|
5974
6012
|
}
|
|
5975
6013
|
|
|
5976
|
-
// bazel-out/
|
|
6014
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
|
|
5977
6015
|
var TemplateSource = class {
|
|
5978
6016
|
constructor(mapping, file) {
|
|
5979
6017
|
this.mapping = mapping;
|
|
@@ -6024,9 +6062,9 @@ var TemplateSourceManager = class {
|
|
|
6024
6062
|
}
|
|
6025
6063
|
};
|
|
6026
6064
|
|
|
6027
|
-
// bazel-out/
|
|
6065
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
|
|
6028
6066
|
import { AST, ASTWithSource as ASTWithSource3, BindingPipe as BindingPipe2, PropertyRead as PropertyRead5, PropertyWrite as PropertyWrite4, R3Identifiers as R3Identifiers4, SafePropertyRead as SafePropertyRead4, TmplAstBoundAttribute as TmplAstBoundAttribute2, TmplAstBoundEvent, TmplAstElement as TmplAstElement4, TmplAstReference as TmplAstReference4, TmplAstTemplate as TmplAstTemplate3, TmplAstTextAttribute as TmplAstTextAttribute3, TmplAstVariable as TmplAstVariable3 } from "@angular/compiler";
|
|
6029
|
-
import
|
|
6067
|
+
import ts32 from "typescript";
|
|
6030
6068
|
var SymbolBuilder = class {
|
|
6031
6069
|
constructor(tcbPath, tcbIsShim, typeCheckBlock, templateData, componentScopeReader, getTypeChecker) {
|
|
6032
6070
|
this.tcbPath = tcbPath;
|
|
@@ -6070,7 +6108,7 @@ var SymbolBuilder = class {
|
|
|
6070
6108
|
getSymbolOfElement(element) {
|
|
6071
6109
|
var _a;
|
|
6072
6110
|
const elementSourceSpan = (_a = element.startSourceSpan) != null ? _a : element.sourceSpan;
|
|
6073
|
-
const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: elementSourceSpan, filter:
|
|
6111
|
+
const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: elementSourceSpan, filter: ts32.isVariableDeclaration });
|
|
6074
6112
|
if (node === null) {
|
|
6075
6113
|
return null;
|
|
6076
6114
|
}
|
|
@@ -6090,12 +6128,12 @@ var SymbolBuilder = class {
|
|
|
6090
6128
|
var _a;
|
|
6091
6129
|
const elementSourceSpan = (_a = element.startSourceSpan) != null ? _a : element.sourceSpan;
|
|
6092
6130
|
const tcbSourceFile = this.typeCheckBlock.getSourceFile();
|
|
6093
|
-
const isDirectiveDeclaration = (node) => (
|
|
6131
|
+
const isDirectiveDeclaration = (node) => (ts32.isTypeNode(node) || ts32.isIdentifier(node)) && ts32.isVariableDeclaration(node.parent) && hasExpressionIdentifier(tcbSourceFile, node, ExpressionIdentifier.DIRECTIVE);
|
|
6094
6132
|
const nodes = findAllMatchingNodes(this.typeCheckBlock, { withSpan: elementSourceSpan, filter: isDirectiveDeclaration });
|
|
6095
6133
|
const symbols = [];
|
|
6096
6134
|
for (const node of nodes) {
|
|
6097
6135
|
const symbol = this.getSymbolOfTsNode(node.parent);
|
|
6098
|
-
if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !
|
|
6136
|
+
if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !ts32.isClassDeclaration(symbol.tsSymbol.valueDeclaration)) {
|
|
6099
6137
|
continue;
|
|
6100
6138
|
}
|
|
6101
6139
|
const meta = this.getDirectiveMeta(element, symbol.tsSymbol.valueDeclaration);
|
|
@@ -6126,7 +6164,7 @@ var SymbolBuilder = class {
|
|
|
6126
6164
|
if (!isHostDirectiveMetaForGlobalMode(current)) {
|
|
6127
6165
|
throw new Error("Impossible state: typecheck code path in local compilation mode.");
|
|
6128
6166
|
}
|
|
6129
|
-
if (!
|
|
6167
|
+
if (!ts32.isClassDeclaration(current.directive.node)) {
|
|
6130
6168
|
continue;
|
|
6131
6169
|
}
|
|
6132
6170
|
const symbol = this.getSymbolOfTsNode(current.directive.node);
|
|
@@ -6199,17 +6237,17 @@ var SymbolBuilder = class {
|
|
|
6199
6237
|
if (!isAccessExpression(n)) {
|
|
6200
6238
|
return false;
|
|
6201
6239
|
}
|
|
6202
|
-
if (
|
|
6240
|
+
if (ts32.isPropertyAccessExpression(n)) {
|
|
6203
6241
|
return n.name.getText() === expectedAccess;
|
|
6204
6242
|
} else {
|
|
6205
|
-
return
|
|
6243
|
+
return ts32.isStringLiteral(n.argumentExpression) && n.argumentExpression.text === expectedAccess;
|
|
6206
6244
|
}
|
|
6207
6245
|
}
|
|
6208
6246
|
const outputFieldAccesses = findAllMatchingNodes(this.typeCheckBlock, { withSpan: eventBinding.keySpan, filter });
|
|
6209
6247
|
const bindings = [];
|
|
6210
6248
|
for (const outputFieldAccess of outputFieldAccesses) {
|
|
6211
6249
|
if (consumer instanceof TmplAstTemplate3 || consumer instanceof TmplAstElement4) {
|
|
6212
|
-
if (!
|
|
6250
|
+
if (!ts32.isPropertyAccessExpression(outputFieldAccess)) {
|
|
6213
6251
|
continue;
|
|
6214
6252
|
}
|
|
6215
6253
|
const addEventListener = outputFieldAccess.name;
|
|
@@ -6232,7 +6270,7 @@ var SymbolBuilder = class {
|
|
|
6232
6270
|
}
|
|
6233
6271
|
});
|
|
6234
6272
|
} else {
|
|
6235
|
-
if (!
|
|
6273
|
+
if (!ts32.isElementAccessExpression(outputFieldAccess)) {
|
|
6236
6274
|
continue;
|
|
6237
6275
|
}
|
|
6238
6276
|
const tsSymbol = this.getTypeChecker().getSymbolAtLocation(outputFieldAccess.argumentExpression);
|
|
@@ -6318,7 +6356,7 @@ var SymbolBuilder = class {
|
|
|
6318
6356
|
return null;
|
|
6319
6357
|
}
|
|
6320
6358
|
const [declaration] = tsSymbol.declarations;
|
|
6321
|
-
if (!
|
|
6359
|
+
if (!ts32.isVariableDeclaration(declaration) || !hasExpressionIdentifier(
|
|
6322
6360
|
declaration.getSourceFile(),
|
|
6323
6361
|
(_a = declaration.type) != null ? _a : declaration.name,
|
|
6324
6362
|
ExpressionIdentifier.DIRECTIVE
|
|
@@ -6326,7 +6364,7 @@ var SymbolBuilder = class {
|
|
|
6326
6364
|
return null;
|
|
6327
6365
|
}
|
|
6328
6366
|
const symbol = this.getSymbolOfTsNode(declaration);
|
|
6329
|
-
if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !
|
|
6367
|
+
if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !ts32.isClassDeclaration(symbol.tsSymbol.valueDeclaration)) {
|
|
6330
6368
|
return null;
|
|
6331
6369
|
}
|
|
6332
6370
|
const ref = new Reference(symbol.tsSymbol.valueDeclaration);
|
|
@@ -6346,12 +6384,12 @@ var SymbolBuilder = class {
|
|
|
6346
6384
|
};
|
|
6347
6385
|
}
|
|
6348
6386
|
getSymbolOfVariable(variable) {
|
|
6349
|
-
const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: variable.sourceSpan, filter:
|
|
6387
|
+
const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: variable.sourceSpan, filter: ts32.isVariableDeclaration });
|
|
6350
6388
|
if (node === null) {
|
|
6351
6389
|
return null;
|
|
6352
6390
|
}
|
|
6353
6391
|
let nodeValueSymbol = null;
|
|
6354
|
-
if (
|
|
6392
|
+
if (ts32.isForOfStatement(node.parent.parent)) {
|
|
6355
6393
|
nodeValueSymbol = this.getSymbolOfTsNode(node);
|
|
6356
6394
|
} else if (node.initializer !== void 0) {
|
|
6357
6395
|
nodeValueSymbol = this.getSymbolOfTsNode(node.initializer);
|
|
@@ -6374,11 +6412,11 @@ var SymbolBuilder = class {
|
|
|
6374
6412
|
}
|
|
6375
6413
|
getSymbolOfReference(ref) {
|
|
6376
6414
|
const target = this.templateData.boundTarget.getReferenceTarget(ref);
|
|
6377
|
-
let node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: ref.sourceSpan, filter:
|
|
6415
|
+
let node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: ref.sourceSpan, filter: ts32.isVariableDeclaration });
|
|
6378
6416
|
if (node === null || target === null || node.initializer === void 0) {
|
|
6379
6417
|
return null;
|
|
6380
6418
|
}
|
|
6381
|
-
const originalDeclaration =
|
|
6419
|
+
const originalDeclaration = ts32.isParenthesizedExpression(node.initializer) && ts32.isAsExpression(node.initializer.expression) ? this.getTypeChecker().getSymbolAtLocation(node.name) : this.getTypeChecker().getSymbolAtLocation(node.initializer);
|
|
6382
6420
|
if (originalDeclaration === void 0 || originalDeclaration.valueDeclaration === void 0) {
|
|
6383
6421
|
return null;
|
|
6384
6422
|
}
|
|
@@ -6402,7 +6440,7 @@ var SymbolBuilder = class {
|
|
|
6402
6440
|
referenceVarLocation: referenceVarTcbLocation
|
|
6403
6441
|
};
|
|
6404
6442
|
} else {
|
|
6405
|
-
if (!
|
|
6443
|
+
if (!ts32.isClassDeclaration(target.directive.ref.node)) {
|
|
6406
6444
|
return null;
|
|
6407
6445
|
}
|
|
6408
6446
|
return {
|
|
@@ -6417,7 +6455,7 @@ var SymbolBuilder = class {
|
|
|
6417
6455
|
}
|
|
6418
6456
|
}
|
|
6419
6457
|
getSymbolOfPipe(expression) {
|
|
6420
|
-
const methodAccess = findFirstMatchingNode(this.typeCheckBlock, { withSpan: expression.nameSpan, filter:
|
|
6458
|
+
const methodAccess = findFirstMatchingNode(this.typeCheckBlock, { withSpan: expression.nameSpan, filter: ts32.isPropertyAccessExpression });
|
|
6421
6459
|
if (methodAccess === null) {
|
|
6422
6460
|
return null;
|
|
6423
6461
|
}
|
|
@@ -6457,7 +6495,7 @@ var SymbolBuilder = class {
|
|
|
6457
6495
|
}
|
|
6458
6496
|
let node = null;
|
|
6459
6497
|
if (expression instanceof PropertyRead5) {
|
|
6460
|
-
node = findFirstMatchingNode(this.typeCheckBlock, { withSpan, filter:
|
|
6498
|
+
node = findFirstMatchingNode(this.typeCheckBlock, { withSpan, filter: ts32.isPropertyAccessExpression });
|
|
6461
6499
|
}
|
|
6462
6500
|
if (node === null) {
|
|
6463
6501
|
node = findFirstMatchingNode(this.typeCheckBlock, { withSpan, filter: anyNodeFilter });
|
|
@@ -6465,10 +6503,10 @@ var SymbolBuilder = class {
|
|
|
6465
6503
|
if (node === null) {
|
|
6466
6504
|
return null;
|
|
6467
6505
|
}
|
|
6468
|
-
while (
|
|
6506
|
+
while (ts32.isParenthesizedExpression(node)) {
|
|
6469
6507
|
node = node.expression;
|
|
6470
6508
|
}
|
|
6471
|
-
if (expression instanceof SafePropertyRead4 &&
|
|
6509
|
+
if (expression instanceof SafePropertyRead4 && ts32.isConditionalExpression(node)) {
|
|
6472
6510
|
const whenTrueSymbol = this.getSymbolOfTsNode(node.whenTrue);
|
|
6473
6511
|
if (whenTrueSymbol === null) {
|
|
6474
6512
|
return null;
|
|
@@ -6485,11 +6523,11 @@ var SymbolBuilder = class {
|
|
|
6485
6523
|
}
|
|
6486
6524
|
getSymbolOfTsNode(node) {
|
|
6487
6525
|
var _a;
|
|
6488
|
-
while (
|
|
6526
|
+
while (ts32.isParenthesizedExpression(node)) {
|
|
6489
6527
|
node = node.expression;
|
|
6490
6528
|
}
|
|
6491
6529
|
let tsSymbol;
|
|
6492
|
-
if (
|
|
6530
|
+
if (ts32.isPropertyAccessExpression(node)) {
|
|
6493
6531
|
tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.name);
|
|
6494
6532
|
} else {
|
|
6495
6533
|
tsSymbol = this.getTypeChecker().getSymbolAtLocation(node);
|
|
@@ -6507,13 +6545,13 @@ var SymbolBuilder = class {
|
|
|
6507
6545
|
};
|
|
6508
6546
|
}
|
|
6509
6547
|
getTcbPositionForNode(node) {
|
|
6510
|
-
if (
|
|
6548
|
+
if (ts32.isTypeReferenceNode(node)) {
|
|
6511
6549
|
return this.getTcbPositionForNode(node.typeName);
|
|
6512
|
-
} else if (
|
|
6550
|
+
} else if (ts32.isQualifiedName(node)) {
|
|
6513
6551
|
return node.right.getStart();
|
|
6514
|
-
} else if (
|
|
6552
|
+
} else if (ts32.isPropertyAccessExpression(node)) {
|
|
6515
6553
|
return node.name.getStart();
|
|
6516
|
-
} else if (
|
|
6554
|
+
} else if (ts32.isElementAccessExpression(node)) {
|
|
6517
6555
|
return node.argumentExpression.getStart();
|
|
6518
6556
|
} else {
|
|
6519
6557
|
return node.getStart();
|
|
@@ -6527,13 +6565,13 @@ function sourceSpanEqual(a, b) {
|
|
|
6527
6565
|
return a.start.offset === b.start.offset && a.end.offset === b.end.offset;
|
|
6528
6566
|
}
|
|
6529
6567
|
function unwrapSignalInputWriteTAccessor(expr) {
|
|
6530
|
-
if (!
|
|
6568
|
+
if (!ts32.isElementAccessExpression(expr) || !ts32.isPropertyAccessExpression(expr.argumentExpression)) {
|
|
6531
6569
|
return null;
|
|
6532
6570
|
}
|
|
6533
|
-
if (!
|
|
6571
|
+
if (!ts32.isIdentifier(expr.argumentExpression.name) || expr.argumentExpression.name.text !== R3Identifiers4.InputSignalBrandWriteType.name) {
|
|
6534
6572
|
return null;
|
|
6535
6573
|
}
|
|
6536
|
-
if (!
|
|
6574
|
+
if (!ts32.isPropertyAccessExpression(expr.expression) && !ts32.isElementAccessExpression(expr.expression)) {
|
|
6537
6575
|
throw new Error("Unexpected expression for signal input write type.");
|
|
6538
6576
|
}
|
|
6539
6577
|
return {
|
|
@@ -6542,7 +6580,7 @@ function unwrapSignalInputWriteTAccessor(expr) {
|
|
|
6542
6580
|
};
|
|
6543
6581
|
}
|
|
6544
6582
|
|
|
6545
|
-
// bazel-out/
|
|
6583
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
|
|
6546
6584
|
var REGISTRY2 = new DomElementSchemaRegistry2();
|
|
6547
6585
|
var TemplateTypeCheckerImpl = class {
|
|
6548
6586
|
constructor(originalProgram, programDriver, typeCheckAdapter, config, refEmitter, reflector, compilerHost, priorBuild, metaReader, localMetaReader, ngModuleIndex, componentScopeReader, typeCheckScopeRegistry, perf) {
|
|
@@ -7239,10 +7277,11 @@ var SingleShimTypeCheckingHost = class extends SingleFileTypeCheckingHost {
|
|
|
7239
7277
|
}
|
|
7240
7278
|
};
|
|
7241
7279
|
|
|
7242
|
-
// bazel-out/
|
|
7280
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
|
|
7243
7281
|
import { Interpolation, PropertyRead as PropertyRead6 } from "@angular/compiler";
|
|
7282
|
+
import ts33 from "typescript";
|
|
7244
7283
|
|
|
7245
|
-
// bazel-out/
|
|
7284
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
|
|
7246
7285
|
import { ASTWithSource as ASTWithSource4, RecursiveAstVisitor as RecursiveAstVisitor3, TmplAstBoundDeferredTrigger as TmplAstBoundDeferredTrigger2 } from "@angular/compiler";
|
|
7247
7286
|
var TemplateCheckWithVisitor = class {
|
|
7248
7287
|
run(ctx, component, template) {
|
|
@@ -7366,7 +7405,16 @@ var TemplateVisitor2 = class extends RecursiveAstVisitor3 {
|
|
|
7366
7405
|
}
|
|
7367
7406
|
};
|
|
7368
7407
|
|
|
7369
|
-
// bazel-out/
|
|
7408
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.mjs
|
|
7409
|
+
var SIGNAL_FNS = /* @__PURE__ */ new Set([
|
|
7410
|
+
"WritableSignal",
|
|
7411
|
+
"Signal",
|
|
7412
|
+
"InputSignal",
|
|
7413
|
+
"InputSignalWithTransform",
|
|
7414
|
+
"ModelSignal"
|
|
7415
|
+
]);
|
|
7416
|
+
var SIGNAL_INSTANCE_PROPERTIES = /* @__PURE__ */ new Set(["set", "update", "asReadonly"]);
|
|
7417
|
+
var FUNCTION_INSTANCE_PROPERTIES = /* @__PURE__ */ new Set(["name", "length", "prototype"]);
|
|
7370
7418
|
var InterpolatedSignalCheck = class extends TemplateCheckWithVisitor {
|
|
7371
7419
|
constructor() {
|
|
7372
7420
|
super(...arguments);
|
|
@@ -7374,18 +7422,23 @@ var InterpolatedSignalCheck = class extends TemplateCheckWithVisitor {
|
|
|
7374
7422
|
}
|
|
7375
7423
|
visitNode(ctx, component, node) {
|
|
7376
7424
|
if (node instanceof Interpolation) {
|
|
7377
|
-
return node.expressions.filter((item) => item instanceof PropertyRead6).flatMap((item) =>
|
|
7378
|
-
if (item instanceof PropertyRead6) {
|
|
7379
|
-
return buildDiagnosticForSignal(ctx, item, component);
|
|
7380
|
-
}
|
|
7381
|
-
return [];
|
|
7382
|
-
});
|
|
7425
|
+
return node.expressions.filter((item) => item instanceof PropertyRead6).flatMap((item) => buildDiagnosticForSignal(ctx, item, component));
|
|
7383
7426
|
}
|
|
7384
7427
|
return [];
|
|
7385
7428
|
}
|
|
7386
7429
|
};
|
|
7387
7430
|
function isSignal(symbol) {
|
|
7388
|
-
|
|
7431
|
+
const declarations = symbol == null ? void 0 : symbol.getDeclarations();
|
|
7432
|
+
return declarations !== void 0 && declarations.some((decl) => {
|
|
7433
|
+
const fileName = decl.getSourceFile().fileName;
|
|
7434
|
+
return (ts33.isInterfaceDeclaration(decl) || ts33.isTypeAliasDeclaration(decl)) && SIGNAL_FNS.has(decl.name.text) && (fileName.includes("@angular/core") || fileName.includes("angular2/rc/packages/core"));
|
|
7435
|
+
});
|
|
7436
|
+
}
|
|
7437
|
+
function isFunctionInstanceProperty(name) {
|
|
7438
|
+
return FUNCTION_INSTANCE_PROPERTIES.has(name);
|
|
7439
|
+
}
|
|
7440
|
+
function isSignalInstanceProperty(name) {
|
|
7441
|
+
return SIGNAL_INSTANCE_PROPERTIES.has(name);
|
|
7389
7442
|
}
|
|
7390
7443
|
function buildDiagnosticForSignal(ctx, node, component) {
|
|
7391
7444
|
const symbol = ctx.templateTypeChecker.getSymbolOfNode(node, component);
|
|
@@ -7395,6 +7448,13 @@ function buildDiagnosticForSignal(ctx, node, component) {
|
|
|
7395
7448
|
const diagnostic = ctx.makeTemplateDiagnostic(templateMapping.span, errorString);
|
|
7396
7449
|
return [diagnostic];
|
|
7397
7450
|
}
|
|
7451
|
+
const symbolOfReceiver = ctx.templateTypeChecker.getSymbolOfNode(node.receiver, component);
|
|
7452
|
+
if ((isFunctionInstanceProperty(node.name) || isSignalInstanceProperty(node.name)) && (symbolOfReceiver == null ? void 0 : symbolOfReceiver.kind) === SymbolKind.Expression && (isSignal(symbolOfReceiver.tsType.symbol) || isSignal(symbolOfReceiver.tsType.aliasSymbol))) {
|
|
7453
|
+
const templateMapping = ctx.templateTypeChecker.getTemplateMappingAtTcbLocation(symbolOfReceiver.tcbLocation);
|
|
7454
|
+
const errorString = `${node.receiver.name} is a function and should be invoked: ${node.receiver.name}()`;
|
|
7455
|
+
const diagnostic = ctx.makeTemplateDiagnostic(templateMapping.span, errorString);
|
|
7456
|
+
return [diagnostic];
|
|
7457
|
+
}
|
|
7398
7458
|
return [];
|
|
7399
7459
|
}
|
|
7400
7460
|
var factory = {
|
|
@@ -7403,7 +7463,7 @@ var factory = {
|
|
|
7403
7463
|
create: () => new InterpolatedSignalCheck()
|
|
7404
7464
|
};
|
|
7405
7465
|
|
|
7406
|
-
// bazel-out/
|
|
7466
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
|
|
7407
7467
|
import { TmplAstBoundEvent as TmplAstBoundEvent2 } from "@angular/compiler";
|
|
7408
7468
|
var InvalidBananaInBoxCheck = class extends TemplateCheckWithVisitor {
|
|
7409
7469
|
constructor() {
|
|
@@ -7429,7 +7489,7 @@ var factory2 = {
|
|
|
7429
7489
|
create: () => new InvalidBananaInBoxCheck()
|
|
7430
7490
|
};
|
|
7431
7491
|
|
|
7432
|
-
// bazel-out/
|
|
7492
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
|
|
7433
7493
|
import { TmplAstTemplate as TmplAstTemplate4 } from "@angular/compiler";
|
|
7434
7494
|
var KNOWN_CONTROL_FLOW_DIRECTIVES = /* @__PURE__ */ new Map([
|
|
7435
7495
|
["ngIf", { directive: "NgIf", builtIn: "@if" }],
|
|
@@ -7474,7 +7534,7 @@ var factory3 = {
|
|
|
7474
7534
|
}
|
|
7475
7535
|
};
|
|
7476
7536
|
|
|
7477
|
-
// bazel-out/
|
|
7537
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
|
|
7478
7538
|
import { TmplAstTemplate as TmplAstTemplate5 } from "@angular/compiler";
|
|
7479
7539
|
var MissingNgForOfLetCheck = class extends TemplateCheckWithVisitor {
|
|
7480
7540
|
constructor() {
|
|
@@ -7507,9 +7567,9 @@ var factory4 = {
|
|
|
7507
7567
|
create: () => new MissingNgForOfLetCheck()
|
|
7508
7568
|
};
|
|
7509
7569
|
|
|
7510
|
-
// bazel-out/
|
|
7570
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
|
|
7511
7571
|
import { Binary } from "@angular/compiler";
|
|
7512
|
-
import
|
|
7572
|
+
import ts34 from "typescript";
|
|
7513
7573
|
var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
|
|
7514
7574
|
constructor() {
|
|
7515
7575
|
super(...arguments);
|
|
@@ -7523,7 +7583,7 @@ var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
|
|
|
7523
7583
|
return [];
|
|
7524
7584
|
}
|
|
7525
7585
|
const typeLeft = symbolLeft.tsType;
|
|
7526
|
-
if (typeLeft.flags & (
|
|
7586
|
+
if (typeLeft.flags & (ts34.TypeFlags.Any | ts34.TypeFlags.Unknown)) {
|
|
7527
7587
|
return [];
|
|
7528
7588
|
}
|
|
7529
7589
|
if (typeLeft.getNonNullableType() !== typeLeft)
|
|
@@ -7552,9 +7612,9 @@ var factory5 = {
|
|
|
7552
7612
|
}
|
|
7553
7613
|
};
|
|
7554
7614
|
|
|
7555
|
-
// bazel-out/
|
|
7615
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
|
|
7556
7616
|
import { SafeCall as SafeCall2, SafeKeyedRead as SafeKeyedRead2, SafePropertyRead as SafePropertyRead5 } from "@angular/compiler";
|
|
7557
|
-
import
|
|
7617
|
+
import ts35 from "typescript";
|
|
7558
7618
|
var OptionalChainNotNullableCheck = class extends TemplateCheckWithVisitor {
|
|
7559
7619
|
constructor() {
|
|
7560
7620
|
super(...arguments);
|
|
@@ -7568,7 +7628,7 @@ var OptionalChainNotNullableCheck = class extends TemplateCheckWithVisitor {
|
|
|
7568
7628
|
return [];
|
|
7569
7629
|
}
|
|
7570
7630
|
const typeLeft = symbolLeft.tsType;
|
|
7571
|
-
if (typeLeft.flags & (
|
|
7631
|
+
if (typeLeft.flags & (ts35.TypeFlags.Any | ts35.TypeFlags.Unknown)) {
|
|
7572
7632
|
return [];
|
|
7573
7633
|
}
|
|
7574
7634
|
if (typeLeft.getNonNullableType() !== typeLeft)
|
|
@@ -7598,7 +7658,7 @@ var factory6 = {
|
|
|
7598
7658
|
}
|
|
7599
7659
|
};
|
|
7600
7660
|
|
|
7601
|
-
// bazel-out/
|
|
7661
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
|
|
7602
7662
|
import { TmplAstBoundAttribute as TmplAstBoundAttribute3 } from "@angular/compiler";
|
|
7603
7663
|
var STYLE_SUFFIXES = ["px", "%", "em"];
|
|
7604
7664
|
var SuffixNotSupportedCheck = class extends TemplateCheckWithVisitor {
|
|
@@ -7622,7 +7682,7 @@ var factory7 = {
|
|
|
7622
7682
|
create: () => new SuffixNotSupportedCheck()
|
|
7623
7683
|
};
|
|
7624
7684
|
|
|
7625
|
-
// bazel-out/
|
|
7685
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
|
|
7626
7686
|
import { TmplAstTextAttribute as TmplAstTextAttribute4 } from "@angular/compiler";
|
|
7627
7687
|
var TextAttributeNotBindingSpec = class extends TemplateCheckWithVisitor {
|
|
7628
7688
|
constructor() {
|
|
@@ -7661,10 +7721,10 @@ var factory8 = {
|
|
|
7661
7721
|
create: () => new TextAttributeNotBindingSpec()
|
|
7662
7722
|
};
|
|
7663
7723
|
|
|
7664
|
-
// bazel-out/
|
|
7665
|
-
import
|
|
7724
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
|
|
7725
|
+
import ts36 from "typescript";
|
|
7666
7726
|
|
|
7667
|
-
// bazel-out/
|
|
7727
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
|
|
7668
7728
|
var DiagnosticCategoryLabel;
|
|
7669
7729
|
(function(DiagnosticCategoryLabel2) {
|
|
7670
7730
|
DiagnosticCategoryLabel2["Warning"] = "warning";
|
|
@@ -7672,7 +7732,7 @@ var DiagnosticCategoryLabel;
|
|
|
7672
7732
|
DiagnosticCategoryLabel2["Suppress"] = "suppress";
|
|
7673
7733
|
})(DiagnosticCategoryLabel || (DiagnosticCategoryLabel = {}));
|
|
7674
7734
|
|
|
7675
|
-
// bazel-out/
|
|
7735
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
|
|
7676
7736
|
var ExtendedTemplateCheckerImpl = class {
|
|
7677
7737
|
constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
|
|
7678
7738
|
var _a, _b, _c, _d, _e;
|
|
@@ -7711,9 +7771,9 @@ var ExtendedTemplateCheckerImpl = class {
|
|
|
7711
7771
|
function diagnosticLabelToCategory(label) {
|
|
7712
7772
|
switch (label) {
|
|
7713
7773
|
case DiagnosticCategoryLabel.Warning:
|
|
7714
|
-
return
|
|
7774
|
+
return ts36.DiagnosticCategory.Warning;
|
|
7715
7775
|
case DiagnosticCategoryLabel.Error:
|
|
7716
|
-
return
|
|
7776
|
+
return ts36.DiagnosticCategory.Error;
|
|
7717
7777
|
case DiagnosticCategoryLabel.Suppress:
|
|
7718
7778
|
return null;
|
|
7719
7779
|
default:
|
|
@@ -7725,7 +7785,7 @@ function assertNever(value) {
|
|
|
7725
7785
|
${value}`);
|
|
7726
7786
|
}
|
|
7727
7787
|
|
|
7728
|
-
// bazel-out/
|
|
7788
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
|
|
7729
7789
|
var ALL_DIAGNOSTIC_FACTORIES = [
|
|
7730
7790
|
factory2,
|
|
7731
7791
|
factory5,
|
|
@@ -7741,7 +7801,7 @@ var SUPPORTED_DIAGNOSTIC_NAMES = /* @__PURE__ */ new Set([
|
|
|
7741
7801
|
...ALL_DIAGNOSTIC_FACTORIES.map((factory9) => factory9.name)
|
|
7742
7802
|
]);
|
|
7743
7803
|
|
|
7744
|
-
// bazel-out/
|
|
7804
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
|
|
7745
7805
|
var SHOULD_USE_TEMPLATE_PIPELINE = false;
|
|
7746
7806
|
var CompilationTicketKind;
|
|
7747
7807
|
(function(CompilationTicketKind2) {
|
|
@@ -7834,7 +7894,7 @@ var NgCompiler = class {
|
|
|
7834
7894
|
this.currentProgram = inputProgram;
|
|
7835
7895
|
this.closureCompilerEnabled = !!this.options.annotateForClosureCompiler;
|
|
7836
7896
|
this.entryPoint = adapter.entryPoint !== null ? getSourceFileOrNull(inputProgram, adapter.entryPoint) : null;
|
|
7837
|
-
const moduleResolutionCache =
|
|
7897
|
+
const moduleResolutionCache = ts37.createModuleResolutionCache(
|
|
7838
7898
|
this.adapter.getCurrentDirectory(),
|
|
7839
7899
|
this.adapter.getCanonicalFileName.bind(this.adapter)
|
|
7840
7900
|
);
|
|
@@ -7878,7 +7938,7 @@ var NgCompiler = class {
|
|
|
7878
7938
|
}
|
|
7879
7939
|
for (const clazz of classesToUpdate) {
|
|
7880
7940
|
this.compilation.traitCompiler.updateResources(clazz);
|
|
7881
|
-
if (!
|
|
7941
|
+
if (!ts37.isClassDeclaration(clazz)) {
|
|
7882
7942
|
continue;
|
|
7883
7943
|
}
|
|
7884
7944
|
this.compilation.templateTypeChecker.invalidateClass(clazz);
|
|
@@ -8299,6 +8359,7 @@ var NgCompiler = class {
|
|
|
8299
8359
|
const injectableRegistry = new InjectableClassRegistry(reflector, isCore);
|
|
8300
8360
|
const hostDirectivesResolver = new HostDirectivesResolver(metaReader);
|
|
8301
8361
|
const exportedProviderStatusResolver = new ExportedProviderStatusResolver(metaReader);
|
|
8362
|
+
const importTracker = new ImportedSymbolsTracker();
|
|
8302
8363
|
const typeCheckScopeRegistry = new TypeCheckScopeRegistry(scopeReader, metaReader, hostDirectivesResolver);
|
|
8303
8364
|
let referencesRegistry;
|
|
8304
8365
|
let exportReferenceGraph = null;
|
|
@@ -8329,8 +8390,8 @@ var NgCompiler = class {
|
|
|
8329
8390
|
throw new Error('JIT mode support ("supportJitMode" option) cannot be disabled when forbidOrphanComponents is set to true');
|
|
8330
8391
|
}
|
|
8331
8392
|
const handlers = [
|
|
8332
|
-
new ComponentDecoratorHandler(reflector, evaluator, metaRegistry, metaReader, scopeReader, depScopeReader, ngModuleScopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, strictCtorDeps, this.resourceManager, this.adapter.rootDirs, this.options.preserveWhitespaces || false, this.options.i18nUseExternalIds !== false, this.options.enableI18nLegacyMessageIdFormat !== false, this.usePoisonedData, this.options.i18nNormalizeLineEndingsInICUs === true, this.moduleResolver, this.cycleAnalyzer, cycleHandlingStrategy, refEmitter, referencesRegistry, this.incrementalCompilation.depGraph, injectableRegistry, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, hostDirectivesResolver, supportTestBed, compilationMode, deferredSymbolsTracker, !!this.options.forbidOrphanComponents, this.enableBlockSyntax, (_d = this.options.useTemplatePipeline) != null ? _d : SHOULD_USE_TEMPLATE_PIPELINE, localCompilationExtraImportsTracker),
|
|
8333
|
-
new DirectiveDecoratorHandler(reflector, evaluator, metaRegistry, ngModuleScopeRegistry, metaReader, injectableRegistry, refEmitter, referencesRegistry, isCore, strictCtorDeps, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, supportTestBed, compilationMode, (_e = this.options.useTemplatePipeline) != null ? _e : SHOULD_USE_TEMPLATE_PIPELINE, !!this.options.generateExtraImportsInLocalMode),
|
|
8393
|
+
new ComponentDecoratorHandler(reflector, evaluator, metaRegistry, metaReader, scopeReader, depScopeReader, ngModuleScopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, strictCtorDeps, this.resourceManager, this.adapter.rootDirs, this.options.preserveWhitespaces || false, this.options.i18nUseExternalIds !== false, this.options.enableI18nLegacyMessageIdFormat !== false, this.usePoisonedData, this.options.i18nNormalizeLineEndingsInICUs === true, this.moduleResolver, this.cycleAnalyzer, cycleHandlingStrategy, refEmitter, referencesRegistry, this.incrementalCompilation.depGraph, injectableRegistry, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, hostDirectivesResolver, importTracker, supportTestBed, compilationMode, deferredSymbolsTracker, !!this.options.forbidOrphanComponents, this.enableBlockSyntax, (_d = this.options.useTemplatePipeline) != null ? _d : SHOULD_USE_TEMPLATE_PIPELINE, localCompilationExtraImportsTracker),
|
|
8394
|
+
new DirectiveDecoratorHandler(reflector, evaluator, metaRegistry, ngModuleScopeRegistry, metaReader, injectableRegistry, refEmitter, referencesRegistry, isCore, strictCtorDeps, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, importTracker, supportTestBed, compilationMode, (_e = this.options.useTemplatePipeline) != null ? _e : SHOULD_USE_TEMPLATE_PIPELINE, !!this.options.generateExtraImportsInLocalMode),
|
|
8334
8395
|
new PipeDecoratorHandler(reflector, evaluator, metaRegistry, ngModuleScopeRegistry, injectableRegistry, isCore, this.delegatingPerfRecorder, supportTestBed, compilationMode, !!this.options.generateExtraImportsInLocalMode),
|
|
8335
8396
|
new InjectableDecoratorHandler(reflector, evaluator, isCore, strictCtorDeps, injectableRegistry, this.delegatingPerfRecorder, supportTestBed, compilationMode),
|
|
8336
8397
|
new NgModuleDecoratorHandler(reflector, evaluator, metaReader, metaRegistry, ngModuleScopeRegistry, referencesRegistry, exportedProviderStatusResolver, semanticDepGraphUpdater, isCore, refEmitter, this.closureCompilerEnabled, (_f = this.options.onlyPublishPublicTypingsForNgModules) != null ? _f : false, injectableRegistry, this.delegatingPerfRecorder, supportTestBed, supportJitMode, compilationMode, localCompilationExtraImportsTracker)
|
|
@@ -8366,18 +8427,18 @@ function isAngularCorePackage(program) {
|
|
|
8366
8427
|
return false;
|
|
8367
8428
|
}
|
|
8368
8429
|
return r3Symbols.statements.some((stmt) => {
|
|
8369
|
-
if (!
|
|
8430
|
+
if (!ts37.isVariableStatement(stmt)) {
|
|
8370
8431
|
return false;
|
|
8371
8432
|
}
|
|
8372
|
-
const modifiers =
|
|
8373
|
-
if (modifiers === void 0 || !modifiers.some((mod) => mod.kind ===
|
|
8433
|
+
const modifiers = ts37.getModifiers(stmt);
|
|
8434
|
+
if (modifiers === void 0 || !modifiers.some((mod) => mod.kind === ts37.SyntaxKind.ExportKeyword)) {
|
|
8374
8435
|
return false;
|
|
8375
8436
|
}
|
|
8376
8437
|
return stmt.declarationList.declarations.some((decl) => {
|
|
8377
|
-
if (!
|
|
8438
|
+
if (!ts37.isIdentifier(decl.name) || decl.name.text !== "ITS_JUST_ANGULAR") {
|
|
8378
8439
|
return false;
|
|
8379
8440
|
}
|
|
8380
|
-
if (decl.initializer === void 0 || decl.initializer.kind !==
|
|
8441
|
+
if (decl.initializer === void 0 || decl.initializer.kind !== ts37.SyntaxKind.TrueKeyword) {
|
|
8381
8442
|
return false;
|
|
8382
8443
|
}
|
|
8383
8444
|
return true;
|
|
@@ -8391,7 +8452,7 @@ function* verifyCompatibleTypeCheckOptions(options) {
|
|
|
8391
8452
|
var _a, _b, _c;
|
|
8392
8453
|
if (options.fullTemplateTypeCheck === false && options.strictTemplates === true) {
|
|
8393
8454
|
yield makeConfigDiagnostic({
|
|
8394
|
-
category:
|
|
8455
|
+
category: ts37.DiagnosticCategory.Error,
|
|
8395
8456
|
code: ErrorCode.CONFIG_STRICT_TEMPLATES_IMPLIES_FULL_TEMPLATE_TYPECHECK,
|
|
8396
8457
|
messageText: `
|
|
8397
8458
|
Angular compiler option "strictTemplates" is enabled, however "fullTemplateTypeCheck" is disabled.
|
|
@@ -8410,7 +8471,7 @@ https://angular.io/guide/template-typecheck
|
|
|
8410
8471
|
}
|
|
8411
8472
|
if (options.extendedDiagnostics && options.strictTemplates === false) {
|
|
8412
8473
|
yield makeConfigDiagnostic({
|
|
8413
|
-
category:
|
|
8474
|
+
category: ts37.DiagnosticCategory.Error,
|
|
8414
8475
|
code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_IMPLIES_STRICT_TEMPLATES,
|
|
8415
8476
|
messageText: `
|
|
8416
8477
|
Angular compiler option "extendedDiagnostics" is configured, however "strictTemplates" is disabled.
|
|
@@ -8427,7 +8488,7 @@ One of the following actions is required:
|
|
|
8427
8488
|
const defaultCategory = (_a = options.extendedDiagnostics) == null ? void 0 : _a.defaultCategory;
|
|
8428
8489
|
if (defaultCategory && !allowedCategoryLabels.includes(defaultCategory)) {
|
|
8429
8490
|
yield makeConfigDiagnostic({
|
|
8430
|
-
category:
|
|
8491
|
+
category: ts37.DiagnosticCategory.Error,
|
|
8431
8492
|
code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CATEGORY_LABEL,
|
|
8432
8493
|
messageText: `
|
|
8433
8494
|
Angular compiler option "extendedDiagnostics.defaultCategory" has an unknown diagnostic category: "${defaultCategory}".
|
|
@@ -8440,7 +8501,7 @@ ${allowedCategoryLabels.join("\n")}
|
|
|
8440
8501
|
for (const [checkName, category] of Object.entries((_c = (_b = options.extendedDiagnostics) == null ? void 0 : _b.checks) != null ? _c : {})) {
|
|
8441
8502
|
if (!SUPPORTED_DIAGNOSTIC_NAMES.has(checkName)) {
|
|
8442
8503
|
yield makeConfigDiagnostic({
|
|
8443
|
-
category:
|
|
8504
|
+
category: ts37.DiagnosticCategory.Error,
|
|
8444
8505
|
code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CHECK,
|
|
8445
8506
|
messageText: `
|
|
8446
8507
|
Angular compiler option "extendedDiagnostics.checks" has an unknown check: "${checkName}".
|
|
@@ -8452,7 +8513,7 @@ ${Array.from(SUPPORTED_DIAGNOSTIC_NAMES).join("\n")}
|
|
|
8452
8513
|
}
|
|
8453
8514
|
if (!allowedCategoryLabels.includes(category)) {
|
|
8454
8515
|
yield makeConfigDiagnostic({
|
|
8455
|
-
category:
|
|
8516
|
+
category: ts37.DiagnosticCategory.Error,
|
|
8456
8517
|
code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CATEGORY_LABEL,
|
|
8457
8518
|
messageText: `
|
|
8458
8519
|
Angular compiler option "extendedDiagnostics.checks['${checkName}']" has an unknown diagnostic category: "${category}".
|
|
@@ -8482,7 +8543,7 @@ var ReferenceGraphAdapter = class {
|
|
|
8482
8543
|
for (const { node } of references) {
|
|
8483
8544
|
let sourceFile = node.getSourceFile();
|
|
8484
8545
|
if (sourceFile === void 0) {
|
|
8485
|
-
sourceFile =
|
|
8546
|
+
sourceFile = ts37.getOriginalNode(node).getSourceFile();
|
|
8486
8547
|
}
|
|
8487
8548
|
if (sourceFile === void 0 || !isDtsPath(sourceFile.fileName)) {
|
|
8488
8549
|
this.graph.add(source, node);
|
|
@@ -8529,8 +8590,8 @@ var Version = class {
|
|
|
8529
8590
|
}
|
|
8530
8591
|
};
|
|
8531
8592
|
|
|
8532
|
-
// bazel-out/
|
|
8533
|
-
import
|
|
8593
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
|
|
8594
|
+
import ts38 from "typescript";
|
|
8534
8595
|
var DelegatingCompilerHost2 = class {
|
|
8535
8596
|
get jsDocParsingMode() {
|
|
8536
8597
|
return this.delegate.jsDocParsingMode;
|
|
@@ -8615,7 +8676,7 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
|
|
|
8615
8676
|
entryPoint = findFlatIndexEntryPoint(normalizedTsInputFiles);
|
|
8616
8677
|
if (entryPoint === null) {
|
|
8617
8678
|
diagnostics.push({
|
|
8618
|
-
category:
|
|
8679
|
+
category: ts38.DiagnosticCategory.Error,
|
|
8619
8680
|
code: ngErrorCode(ErrorCode.CONFIG_FLAT_MODULE_NO_INDEX),
|
|
8620
8681
|
file: void 0,
|
|
8621
8682
|
start: void 0,
|
|
@@ -8658,17 +8719,17 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
|
|
|
8658
8719
|
return this.fileNameToModuleName !== void 0 ? this : null;
|
|
8659
8720
|
}
|
|
8660
8721
|
createCachedResolveModuleNamesFunction() {
|
|
8661
|
-
const moduleResolutionCache =
|
|
8722
|
+
const moduleResolutionCache = ts38.createModuleResolutionCache(this.getCurrentDirectory(), this.getCanonicalFileName.bind(this));
|
|
8662
8723
|
return (moduleNames, containingFile, reusedNames, redirectedReference, options) => {
|
|
8663
8724
|
return moduleNames.map((moduleName) => {
|
|
8664
|
-
const module =
|
|
8725
|
+
const module = ts38.resolveModuleName(moduleName, containingFile, options, this, moduleResolutionCache, redirectedReference);
|
|
8665
8726
|
return module.resolvedModule;
|
|
8666
8727
|
});
|
|
8667
8728
|
};
|
|
8668
8729
|
}
|
|
8669
8730
|
};
|
|
8670
8731
|
|
|
8671
|
-
// bazel-out/
|
|
8732
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
|
|
8672
8733
|
var NgtscProgram = class {
|
|
8673
8734
|
constructor(rootNames, options, delegateHost, oldProgram) {
|
|
8674
8735
|
this.options = options;
|
|
@@ -8685,7 +8746,7 @@ var NgtscProgram = class {
|
|
|
8685
8746
|
if (reuseProgram !== void 0) {
|
|
8686
8747
|
retagAllTsFiles(reuseProgram);
|
|
8687
8748
|
}
|
|
8688
|
-
this.tsProgram = perfRecorder.inPhase(PerfPhase.TypeScriptProgramCreate, () =>
|
|
8749
|
+
this.tsProgram = perfRecorder.inPhase(PerfPhase.TypeScriptProgramCreate, () => ts39.createProgram(this.host.inputFiles, options, this.host, reuseProgram));
|
|
8689
8750
|
perfRecorder.phase(PerfPhase.Unaccounted);
|
|
8690
8751
|
perfRecorder.memory(PerfCheckpoint.TypeScriptProgramCreate);
|
|
8691
8752
|
this.host.postProgramCreationCleanup();
|
|
@@ -8895,37 +8956,37 @@ function mergeEmitResults(emitResults) {
|
|
|
8895
8956
|
return { diagnostics, emitSkipped, emittedFiles };
|
|
8896
8957
|
}
|
|
8897
8958
|
|
|
8898
|
-
// bazel-out/
|
|
8959
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
|
|
8899
8960
|
function createProgram({ rootNames, options, host, oldProgram }) {
|
|
8900
8961
|
return new NgtscProgram(rootNames, options, host, oldProgram);
|
|
8901
8962
|
}
|
|
8902
8963
|
|
|
8903
|
-
// bazel-out/
|
|
8904
|
-
import
|
|
8964
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
|
|
8965
|
+
import ts41 from "typescript";
|
|
8905
8966
|
|
|
8906
|
-
// bazel-out/
|
|
8907
|
-
import
|
|
8967
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
|
|
8968
|
+
import ts40 from "typescript";
|
|
8908
8969
|
function createMessageDiagnostic(messageText) {
|
|
8909
8970
|
return {
|
|
8910
8971
|
file: void 0,
|
|
8911
8972
|
start: void 0,
|
|
8912
8973
|
length: void 0,
|
|
8913
|
-
category:
|
|
8974
|
+
category: ts40.DiagnosticCategory.Message,
|
|
8914
8975
|
messageText,
|
|
8915
8976
|
code: DEFAULT_ERROR_CODE,
|
|
8916
8977
|
source: SOURCE
|
|
8917
8978
|
};
|
|
8918
8979
|
}
|
|
8919
8980
|
|
|
8920
|
-
// bazel-out/
|
|
8981
|
+
// bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
|
|
8921
8982
|
var defaultFormatHost = {
|
|
8922
|
-
getCurrentDirectory: () =>
|
|
8983
|
+
getCurrentDirectory: () => ts41.sys.getCurrentDirectory(),
|
|
8923
8984
|
getCanonicalFileName: (fileName) => fileName,
|
|
8924
|
-
getNewLine: () =>
|
|
8985
|
+
getNewLine: () => ts41.sys.newLine
|
|
8925
8986
|
};
|
|
8926
8987
|
function formatDiagnostics(diags, host = defaultFormatHost) {
|
|
8927
8988
|
if (diags && diags.length) {
|
|
8928
|
-
return diags.map((diagnostic) => replaceTsWithNgInErrors(
|
|
8989
|
+
return diags.map((diagnostic) => replaceTsWithNgInErrors(ts41.formatDiagnosticsWithColorAndContext([diagnostic], host))).join("");
|
|
8929
8990
|
} else {
|
|
8930
8991
|
return "";
|
|
8931
8992
|
}
|
|
@@ -8942,7 +9003,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
|
|
|
8942
9003
|
var _a;
|
|
8943
9004
|
try {
|
|
8944
9005
|
const fs = getFileSystem();
|
|
8945
|
-
const readConfigFile = (configFile) =>
|
|
9006
|
+
const readConfigFile = (configFile) => ts41.readConfigFile(configFile, (file) => host.readFile(host.resolve(file)));
|
|
8946
9007
|
const readAngularCompilerOptions = (configFile, parentOptions = {}) => {
|
|
8947
9008
|
const { config: config2, error: error2 } = readConfigFile(configFile);
|
|
8948
9009
|
if (error2) {
|
|
@@ -8977,7 +9038,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
|
|
|
8977
9038
|
...existingOptions
|
|
8978
9039
|
};
|
|
8979
9040
|
const parseConfigHost = createParseConfigHost(host, fs);
|
|
8980
|
-
const { options, errors, fileNames: rootNames, projectReferences } =
|
|
9041
|
+
const { options, errors, fileNames: rootNames, projectReferences } = ts41.parseJsonConfigFileContent(config, parseConfigHost, basePath, existingCompilerOptions, configFileName);
|
|
8981
9042
|
let emitFlags = EmitFlags.Default;
|
|
8982
9043
|
if (!(options["skipMetadataEmit"] || options["flatModuleOutFile"])) {
|
|
8983
9044
|
emitFlags |= EmitFlags.Metadata;
|
|
@@ -8988,7 +9049,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
|
|
|
8988
9049
|
return { project: projectFile, rootNames, projectReferences, options, errors, emitFlags };
|
|
8989
9050
|
} catch (e) {
|
|
8990
9051
|
const errors = [{
|
|
8991
|
-
category:
|
|
9052
|
+
category: ts41.DiagnosticCategory.Error,
|
|
8992
9053
|
messageText: (_a = e.stack) != null ? _a : e.message,
|
|
8993
9054
|
file: void 0,
|
|
8994
9055
|
start: void 0,
|
|
@@ -9002,7 +9063,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
|
|
|
9002
9063
|
function createParseConfigHost(host, fs = getFileSystem()) {
|
|
9003
9064
|
return {
|
|
9004
9065
|
fileExists: host.exists.bind(host),
|
|
9005
|
-
readDirectory:
|
|
9066
|
+
readDirectory: ts41.sys.readDirectory,
|
|
9006
9067
|
readFile: host.readFile.bind(host),
|
|
9007
9068
|
useCaseSensitiveFileNames: fs.isCaseSensitive()
|
|
9008
9069
|
};
|
|
@@ -9022,7 +9083,7 @@ function getExtendedConfigPathWorker(configFile, extendsValue, host, fs) {
|
|
|
9022
9083
|
}
|
|
9023
9084
|
} else {
|
|
9024
9085
|
const parseConfigHost = createParseConfigHost(host, fs);
|
|
9025
|
-
const { resolvedModule } =
|
|
9086
|
+
const { resolvedModule } = ts41.nodeModuleNameResolver(extendsValue, configFile, { moduleResolution: ts41.ModuleResolutionKind.Node10, resolveJsonModule: true }, parseConfigHost);
|
|
9026
9087
|
if (resolvedModule) {
|
|
9027
9088
|
return absoluteFrom(resolvedModule.resolvedFileName);
|
|
9028
9089
|
}
|
|
@@ -9032,7 +9093,7 @@ function getExtendedConfigPathWorker(configFile, extendsValue, host, fs) {
|
|
|
9032
9093
|
function exitCodeFromResult(diags) {
|
|
9033
9094
|
if (!diags)
|
|
9034
9095
|
return 0;
|
|
9035
|
-
if (diags.every((diag) => diag.category !==
|
|
9096
|
+
if (diags.every((diag) => diag.category !== ts41.DiagnosticCategory.Error)) {
|
|
9036
9097
|
return 0;
|
|
9037
9098
|
}
|
|
9038
9099
|
return diags.some((d) => d.source === "angular" && d.code === UNKNOWN_ERROR_CODE) ? 2 : 1;
|
|
@@ -9065,7 +9126,7 @@ function performCompilation({ rootNames, options, host, oldProgram, emitCallback
|
|
|
9065
9126
|
} catch (e) {
|
|
9066
9127
|
program = void 0;
|
|
9067
9128
|
allDiagnostics.push({
|
|
9068
|
-
category:
|
|
9129
|
+
category: ts41.DiagnosticCategory.Error,
|
|
9069
9130
|
messageText: (_a = e.stack) != null ? _a : e.message,
|
|
9070
9131
|
code: UNKNOWN_ERROR_CODE,
|
|
9071
9132
|
file: void 0,
|
|
@@ -9092,7 +9153,7 @@ function defaultGatherDiagnostics(program) {
|
|
|
9092
9153
|
return allDiagnostics;
|
|
9093
9154
|
}
|
|
9094
9155
|
function hasErrors(diags) {
|
|
9095
|
-
return diags.some((d) => d.category ===
|
|
9156
|
+
return diags.some((d) => d.category === ts41.DiagnosticCategory.Error);
|
|
9096
9157
|
}
|
|
9097
9158
|
|
|
9098
9159
|
export {
|
|
@@ -9130,4 +9191,4 @@ export {
|
|
|
9130
9191
|
* Use of this source code is governed by an MIT-style license that can be
|
|
9131
9192
|
* found in the LICENSE file at https://angular.io/license
|
|
9132
9193
|
*/
|
|
9133
|
-
//# sourceMappingURL=chunk-
|
|
9194
|
+
//# sourceMappingURL=chunk-SGHI77T2.js.map
|