@angular/compiler-cli 17.0.0-next.6 → 17.0.0-next.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/bundles/{chunk-7YXJWQNF.js → chunk-35SQ73FP.js} +721 -562
  2. package/bundles/chunk-35SQ73FP.js.map +6 -0
  3. package/bundles/{chunk-DQ4T2KWL.js → chunk-5WC7IWWT.js} +8 -8
  4. package/bundles/{chunk-URH5LEAG.js → chunk-BV3ZUD7T.js} +9 -8
  5. package/bundles/chunk-BV3ZUD7T.js.map +6 -0
  6. package/bundles/{chunk-OULZQUKT.js → chunk-EKTJ7622.js} +7 -7
  7. package/bundles/{chunk-HICXNP7M.js → chunk-EQ7Q3KIO.js} +44 -40
  8. package/bundles/chunk-EQ7Q3KIO.js.map +6 -0
  9. package/bundles/{chunk-T6QZTHEE.js → chunk-JPBJE7OS.js} +5 -5
  10. package/bundles/{chunk-3O3O4L34.js → chunk-JZC4T2RR.js} +1 -1
  11. package/bundles/{chunk-CF2CT7RQ.js → chunk-LYJKWJUC.js} +3 -3
  12. package/bundles/{chunk-YPVFT2MR.js → chunk-NNS2FLUN.js} +4 -4
  13. package/bundles/{chunk-7HFK25CM.js → chunk-NVNYQX3M.js} +29 -27
  14. package/bundles/{chunk-7HFK25CM.js.map → chunk-NVNYQX3M.js.map} +1 -1
  15. package/bundles/{chunk-W653LDC7.js → chunk-PCMLSPQF.js} +7 -7
  16. package/bundles/{chunk-6MV5LVGW.js → chunk-XXCMYI3O.js} +188 -157
  17. package/bundles/chunk-XXCMYI3O.js.map +6 -0
  18. package/bundles/index.js +13 -13
  19. package/bundles/linker/babel/index.js +13 -13
  20. package/bundles/linker/index.js +5 -5
  21. package/bundles/ngcc/index.js +1 -1
  22. package/bundles/private/bazel.js +1 -1
  23. package/bundles/private/localize.js +3 -3
  24. package/bundles/private/migrations.js +6 -6
  25. package/bundles/private/tooling.js +4 -4
  26. package/bundles/src/bin/ng_xi18n.js +11 -11
  27. package/bundles/src/bin/ngc.js +9 -9
  28. package/bundles_metadata.json +1 -1
  29. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.d.ts +1 -1
  30. package/linker/src/file_linker/partial_linkers/partial_linker.d.ts +1 -1
  31. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -0
  32. package/package.json +3 -3
  33. package/src/ngtsc/annotations/common/index.d.ts +1 -0
  34. package/src/ngtsc/annotations/common/src/debug_info.d.ts +10 -0
  35. package/src/ngtsc/annotations/common/src/util.d.ts +1 -1
  36. package/src/ngtsc/annotations/component/src/handler.d.ts +2 -2
  37. package/src/ngtsc/annotations/component/src/metadata.d.ts +2 -1
  38. package/src/ngtsc/annotations/component/src/resources.d.ts +0 -1
  39. package/src/ngtsc/core/api/src/public_options.d.ts +8 -0
  40. package/src/ngtsc/core/src/compiler.d.ts +0 -1
  41. package/src/ngtsc/diagnostics/src/error_code.d.ts +9 -0
  42. package/src/ngtsc/diagnostics/src/extended_template_diagnostic_name.d.ts +2 -1
  43. package/src/ngtsc/docs/src/class_extractor.d.ts +3 -1
  44. package/src/ngtsc/docs/src/entities.d.ts +7 -0
  45. package/src/ngtsc/docs/src/extractor.d.ts +4 -0
  46. package/src/ngtsc/docs/src/filters.d.ts +9 -0
  47. package/src/ngtsc/docs/src/function_extractor.d.ts +4 -1
  48. package/src/ngtsc/docs/src/type_alias_extractor.d.ts +18 -0
  49. package/src/ngtsc/perf/src/api.d.ts +7 -3
  50. package/src/ngtsc/typecheck/extended/checks/interpolated_signal_not_invoked/index.d.ts +10 -0
  51. package/src/ngtsc/typecheck/src/type_check_block.d.ts +5 -4
  52. package/bundles/chunk-6MV5LVGW.js.map +0 -6
  53. package/bundles/chunk-7YXJWQNF.js.map +0 -6
  54. package/bundles/chunk-HICXNP7M.js.map +0 -6
  55. package/bundles/chunk-URH5LEAG.js.map +0 -6
  56. /package/bundles/{chunk-DQ4T2KWL.js.map → chunk-5WC7IWWT.js.map} +0 -0
  57. /package/bundles/{chunk-OULZQUKT.js.map → chunk-EKTJ7622.js.map} +0 -0
  58. /package/bundles/{chunk-T6QZTHEE.js.map → chunk-JPBJE7OS.js.map} +0 -0
  59. /package/bundles/{chunk-3O3O4L34.js.map → chunk-JZC4T2RR.js.map} +0 -0
  60. /package/bundles/{chunk-CF2CT7RQ.js.map → chunk-LYJKWJUC.js.map} +0 -0
  61. /package/bundles/{chunk-YPVFT2MR.js.map → chunk-NNS2FLUN.js.map} +0 -0
  62. /package/bundles/{chunk-W653LDC7.js.map → chunk-PCMLSPQF.js.map} +0 -0
@@ -36,12 +36,12 @@ import {
36
36
  aliasTransformFactory,
37
37
  declarationTransformFactory,
38
38
  ivyTransformFactory
39
- } from "./chunk-6MV5LVGW.js";
39
+ } from "./chunk-XXCMYI3O.js";
40
40
  import {
41
41
  ImportManager,
42
42
  translateExpression,
43
43
  translateType
44
- } from "./chunk-DQ4T2KWL.js";
44
+ } from "./chunk-5WC7IWWT.js";
45
45
  import {
46
46
  AbsoluteModuleStrategy,
47
47
  AliasStrategy,
@@ -83,14 +83,14 @@ import {
83
83
  relativePathBetween,
84
84
  replaceTsWithNgInErrors,
85
85
  toUnredirectedSourceFile
86
- } from "./chunk-7HFK25CM.js";
86
+ } from "./chunk-NVNYQX3M.js";
87
87
  import {
88
88
  ActivePerfRecorder,
89
89
  DelegatingPerfRecorder,
90
90
  PerfCheckpoint,
91
91
  PerfEvent,
92
92
  PerfPhase
93
- } from "./chunk-URH5LEAG.js";
93
+ } from "./chunk-BV3ZUD7T.js";
94
94
  import {
95
95
  LogicalFileSystem,
96
96
  absoluteFrom,
@@ -100,9 +100,9 @@ import {
100
100
  getSourceFileOrError,
101
101
  join,
102
102
  resolve
103
- } from "./chunk-W653LDC7.js";
103
+ } from "./chunk-PCMLSPQF.js";
104
104
 
105
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
105
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
106
106
  var DEFAULT_ERROR_CODE = 100;
107
107
  var UNKNOWN_ERROR_CODE = 500;
108
108
  var SOURCE = "angular";
@@ -120,7 +120,7 @@ var EmitFlags;
120
120
  EmitFlags2[EmitFlags2["All"] = 31] = "All";
121
121
  })(EmitFlags || (EmitFlags = {}));
122
122
 
123
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
123
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
124
124
  import ts from "typescript";
125
125
  var wrapHostForTest = null;
126
126
  function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, true) }) {
@@ -130,7 +130,7 @@ function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, t
130
130
  return tsHost;
131
131
  }
132
132
 
133
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/entities.mjs
133
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/entities.mjs
134
134
  var EntryType;
135
135
  (function(EntryType2) {
136
136
  EntryType2["Block"] = "Block";
@@ -157,6 +157,7 @@ var MemberType;
157
157
  })(MemberType || (MemberType = {}));
158
158
  var MemberTags;
159
159
  (function(MemberTags2) {
160
+ MemberTags2["Abstract"] = "abstract";
160
161
  MemberTags2["Static"] = "static";
161
162
  MemberTags2["Readonly"] = "readonly";
162
163
  MemberTags2["Protected"] = "protected";
@@ -165,11 +166,11 @@ var MemberTags;
165
166
  MemberTags2["Output"] = "output";
166
167
  })(MemberTags || (MemberTags = {}));
167
168
 
168
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
169
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
169
170
  import { HtmlParser, MessageBundle } from "@angular/compiler";
170
- import ts36 from "typescript";
171
+ import ts37 from "typescript";
171
172
 
172
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
173
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
173
174
  import { Xliff, Xliff2, Xmb } from "@angular/compiler";
174
175
  import * as path from "path";
175
176
  function i18nGetExtension(formatName) {
@@ -220,10 +221,10 @@ function getPathNormalizer(basePath) {
220
221
  };
221
222
  }
222
223
 
223
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
224
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
224
225
  import ts2 from "typescript";
225
226
 
226
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
227
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
227
228
  function toNumbers(value) {
228
229
  const suffixIndex = value.lastIndexOf("-");
229
230
  return value.slice(0, suffixIndex === -1 ? value.length : suffixIndex).split(".").map((segment) => {
@@ -258,7 +259,7 @@ function compareVersions(v1, v2) {
258
259
  return compareNumbers(toNumbers(v1), toNumbers(v2));
259
260
  }
260
261
 
261
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
262
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
262
263
  var MIN_TS_VERSION = "5.2.0";
263
264
  var MAX_TS_VERSION = "5.3.0";
264
265
  var tsVersion = ts2.version;
@@ -271,10 +272,10 @@ function verifySupportedTypeScriptVersion() {
271
272
  checkVersion(tsVersion, MIN_TS_VERSION, MAX_TS_VERSION);
272
273
  }
273
274
 
274
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
275
- import ts34 from "typescript";
275
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
276
+ import ts35 from "typescript";
276
277
 
277
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
278
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
278
279
  var CycleAnalyzer = class {
279
280
  constructor(importGraph) {
280
281
  this.importGraph = importGraph;
@@ -345,7 +346,7 @@ var Cycle = class {
345
346
  }
346
347
  };
347
348
 
348
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
349
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
349
350
  import ts3 from "typescript";
350
351
  var ImportGraph = class {
351
352
  constructor(checker, perf) {
@@ -437,7 +438,7 @@ var Found = class {
437
438
  }
438
439
  };
439
440
 
440
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/jsdoc_extractor.mjs
441
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/jsdoc_extractor.mjs
441
442
  import ts4 from "typescript";
442
443
  function extractJsDocTags(node) {
443
444
  return ts4.getJSDocTags(node).map((t) => {
@@ -461,12 +462,12 @@ function extractRawJsDoc(node) {
461
462
  return (_b = (_a = ts4.getJSDocCommentsAndTags(node).find(ts4.isJSDoc)) == null ? void 0 : _a.getFullText()) != null ? _b : "";
462
463
  }
463
464
 
464
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_extractor.mjs
465
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_extractor.mjs
465
466
  function extractResolvedTypeString(node, checker) {
466
467
  return checker.typeToString(checker.getTypeAtLocation(node));
467
468
  }
468
469
 
469
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/enum_extractor.mjs
470
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/enum_extractor.mjs
470
471
  import ts5 from "typescript";
471
472
  function extractEnum(declaration, typeChecker) {
472
473
  return {
@@ -495,7 +496,8 @@ function getEnumMemberValue(memberNode) {
495
496
  return (_a = literal == null ? void 0 : literal.getText()) != null ? _a : "";
496
497
  }
497
498
 
498
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
499
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/function_extractor.mjs
500
+ import ts6 from "typescript";
499
501
  var FunctionExtractor = class {
500
502
  constructor(declaration, typeChecker) {
501
503
  this.declaration = declaration;
@@ -523,23 +525,55 @@ var FunctionExtractor = class {
523
525
  isRestParam: !!param.dotDotDotToken
524
526
  }));
525
527
  }
528
+ getOverloads() {
529
+ var _a, _b, _c, _d;
530
+ const overloads = [];
531
+ const symbol = this.getSymbol();
532
+ const declarationCount = (_b = (_a = symbol == null ? void 0 : symbol.declarations) == null ? void 0 : _a.length) != null ? _b : 0;
533
+ if (declarationCount > 1) {
534
+ for (let i = 0; i < declarationCount - 1; i++) {
535
+ const overloadDeclaration = (_c = symbol == null ? void 0 : symbol.declarations) == null ? void 0 : _c[i];
536
+ if ((overloadDeclaration == null ? void 0 : overloadDeclaration.pos) === this.declaration.pos)
537
+ continue;
538
+ if (overloadDeclaration && ts6.isFunctionDeclaration(overloadDeclaration) && ((_d = overloadDeclaration.modifiers) == null ? void 0 : _d.some((mod) => mod.kind === ts6.SyntaxKind.ExportKeyword))) {
539
+ overloads.push(overloadDeclaration);
540
+ }
541
+ }
542
+ }
543
+ return overloads;
544
+ }
545
+ getSymbol() {
546
+ return this.typeChecker.getSymbolsInScope(this.declaration, ts6.SymbolFlags.Function).find((s) => {
547
+ var _a;
548
+ return s.name === ((_a = this.declaration.name) == null ? void 0 : _a.getText());
549
+ });
550
+ }
526
551
  };
527
552
 
528
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
553
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
554
+ import ts8 from "typescript";
555
+
556
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
529
557
  import ts7 from "typescript";
530
558
 
531
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
532
- import ts6 from "typescript";
559
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/filters.mjs
560
+ function isAngularPrivateName(name) {
561
+ var _a;
562
+ const firstChar = (_a = name[0]) != null ? _a : "";
563
+ return firstChar === "\u0275" || firstChar === "_";
564
+ }
565
+
566
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/class_extractor.mjs
533
567
  var ClassExtractor = class {
534
- constructor(declaration, reference, typeChecker) {
568
+ constructor(declaration, typeChecker) {
535
569
  this.declaration = declaration;
536
- this.reference = reference;
537
570
  this.typeChecker = typeChecker;
538
571
  }
539
572
  extract() {
540
573
  return {
541
574
  name: this.declaration.name.text,
542
- entryType: EntryType.UndecoratedClass,
575
+ isAbstract: this.isAbstract(),
576
+ entryType: ts7.isInterfaceDeclaration(this.declaration) ? EntryType.Interface : EntryType.UndecoratedClass,
543
577
  members: this.extractAllClassMembers(this.declaration),
544
578
  description: extractJsDocDescription(this.declaration),
545
579
  jsdocTags: extractJsDocTags(this.declaration),
@@ -559,11 +593,11 @@ var ClassExtractor = class {
559
593
  return members;
560
594
  }
561
595
  extractClassMember(memberDeclaration) {
562
- if (ts6.isMethodDeclaration(memberDeclaration)) {
596
+ if (this.isMethod(memberDeclaration) && !this.isImplementationForOverload(memberDeclaration)) {
563
597
  return this.extractMethod(memberDeclaration);
564
- } else if (ts6.isPropertyDeclaration(memberDeclaration)) {
598
+ } else if (this.isProperty(memberDeclaration)) {
565
599
  return this.extractClassProperty(memberDeclaration);
566
- } else if (ts6.isAccessor(memberDeclaration)) {
600
+ } else if (ts7.isAccessor(memberDeclaration)) {
567
601
  return this.extractGetterSetter(memberDeclaration);
568
602
  }
569
603
  return void 0;
@@ -589,7 +623,7 @@ var ClassExtractor = class {
589
623
  extractGetterSetter(accessor) {
590
624
  return {
591
625
  ...this.extractClassProperty(accessor),
592
- memberType: ts6.isGetAccessor(accessor) ? MemberType.Getter : MemberType.Setter
626
+ memberType: ts7.isGetAccessor(accessor) ? MemberType.Getter : MemberType.Setter
593
627
  };
594
628
  }
595
629
  getMemberTags(member) {
@@ -611,27 +645,52 @@ var ClassExtractor = class {
611
645
  }
612
646
  getTagForMemberModifier(mod) {
613
647
  switch (mod.kind) {
614
- case ts6.SyntaxKind.StaticKeyword:
648
+ case ts7.SyntaxKind.StaticKeyword:
615
649
  return MemberTags.Static;
616
- case ts6.SyntaxKind.ReadonlyKeyword:
650
+ case ts7.SyntaxKind.ReadonlyKeyword:
617
651
  return MemberTags.Readonly;
618
- case ts6.SyntaxKind.ProtectedKeyword:
652
+ case ts7.SyntaxKind.ProtectedKeyword:
619
653
  return MemberTags.Protected;
654
+ case ts7.SyntaxKind.AbstractKeyword:
655
+ return MemberTags.Abstract;
620
656
  default:
621
657
  return void 0;
622
658
  }
623
659
  }
624
660
  isMemberExcluded(member) {
625
661
  var _a;
626
- return !member.name || !this.isDocumentableMember(member) || !!((_a = member.modifiers) == null ? void 0 : _a.some((mod) => mod.kind === ts6.SyntaxKind.PrivateKeyword));
662
+ return !member.name || !this.isDocumentableMember(member) || !!((_a = member.modifiers) == null ? void 0 : _a.some((mod) => mod.kind === ts7.SyntaxKind.PrivateKeyword)) || isAngularPrivateName(member.name.getText());
627
663
  }
628
664
  isDocumentableMember(member) {
629
- return ts6.isMethodDeclaration(member) || ts6.isPropertyDeclaration(member) || ts6.isAccessor(member);
665
+ return this.isMethod(member) || this.isProperty(member) || ts7.isAccessor(member);
666
+ }
667
+ isProperty(member) {
668
+ return ts7.isPropertyDeclaration(member) || ts7.isPropertySignature(member);
669
+ }
670
+ isMethod(member) {
671
+ return ts7.isMethodDeclaration(member) || ts7.isMethodSignature(member);
672
+ }
673
+ isAbstract() {
674
+ var _a;
675
+ const modifiers = (_a = this.declaration.modifiers) != null ? _a : [];
676
+ return modifiers.some((mod) => mod.kind === ts7.SyntaxKind.AbstractKeyword);
677
+ }
678
+ isImplementationForOverload(method) {
679
+ if (method.kind === ts7.SyntaxKind.MethodSignature)
680
+ return false;
681
+ const methodsWithSameName = this.declaration.members.filter((member) => {
682
+ var _a;
683
+ return ((_a = member.name) == null ? void 0 : _a.getText()) === method.name.getText();
684
+ }).sort((a, b) => a.pos - b.pos);
685
+ if (methodsWithSameName.length === 1)
686
+ return false;
687
+ return method.pos === methodsWithSameName[methodsWithSameName.length - 1].pos;
630
688
  }
631
689
  };
632
690
  var DirectiveExtractor = class extends ClassExtractor {
633
691
  constructor(declaration, reference, metadata, checker) {
634
- super(declaration, reference, checker);
692
+ super(declaration, checker);
693
+ this.reference = reference;
635
694
  this.metadata = metadata;
636
695
  }
637
696
  extract() {
@@ -650,6 +709,7 @@ var DirectiveExtractor = class extends ClassExtractor {
650
709
  if (inputMetadata) {
651
710
  entry.memberTags.push(MemberTags.Input);
652
711
  entry.inputAlias = inputMetadata.bindingPropertyName;
712
+ entry.isRequiredInput = inputMetadata.required;
653
713
  }
654
714
  const outputMetadata = this.getOutputMetadata(propertyDeclaration);
655
715
  if (outputMetadata) {
@@ -671,7 +731,8 @@ var DirectiveExtractor = class extends ClassExtractor {
671
731
  };
672
732
  var PipeExtractor = class extends ClassExtractor {
673
733
  constructor(declaration, reference, metadata, typeChecker) {
674
- super(declaration, reference, typeChecker);
734
+ super(declaration, typeChecker);
735
+ this.reference = reference;
675
736
  this.metadata = metadata;
676
737
  }
677
738
  extract() {
@@ -685,7 +746,8 @@ var PipeExtractor = class extends ClassExtractor {
685
746
  };
686
747
  var NgModuleExtractor = class extends ClassExtractor {
687
748
  constructor(declaration, reference, metadata, typeChecker) {
688
- super(declaration, reference, typeChecker);
749
+ super(declaration, typeChecker);
750
+ this.reference = reference;
689
751
  this.metadata = metadata;
690
752
  }
691
753
  extract() {
@@ -708,12 +770,16 @@ function extractClass(classDeclaration, metadataReader, typeChecker) {
708
770
  } else if (ngModuleMetadata) {
709
771
  extractor = new NgModuleExtractor(classDeclaration, ref, ngModuleMetadata, typeChecker);
710
772
  } else {
711
- extractor = new ClassExtractor(classDeclaration, ref, typeChecker);
773
+ extractor = new ClassExtractor(classDeclaration, typeChecker);
712
774
  }
713
775
  return extractor.extract();
714
776
  }
777
+ function extractInterface(declaration, typeChecker) {
778
+ const extractor = new ClassExtractor(declaration, typeChecker);
779
+ return extractor.extract();
780
+ }
715
781
 
716
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/constant_extractor.mjs
782
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/constant_extractor.mjs
717
783
  function extractConstant(declaration, typeChecker) {
718
784
  const resolvedType = typeChecker.getBaseTypeOfLiteralType(typeChecker.getTypeAtLocation(declaration));
719
785
  const variableStatement = declaration.parent.parent;
@@ -731,44 +797,79 @@ function isSyntheticAngularConstant(declaration) {
731
797
  return declaration.name.getText() === "USED_FOR_NG_TYPE_CHECKING";
732
798
  }
733
799
 
734
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
800
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/type_alias_extractor.mjs
801
+ function extractTypeAlias(declaration) {
802
+ return {
803
+ name: declaration.name.getText(),
804
+ type: declaration.type.getText(),
805
+ entryType: EntryType.TypeAlias,
806
+ rawComment: extractRawJsDoc(declaration),
807
+ description: extractJsDocDescription(declaration),
808
+ jsdocTags: extractJsDocTags(declaration)
809
+ };
810
+ }
811
+
812
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/docs/src/extractor.mjs
735
813
  var DocsExtractor = class {
736
814
  constructor(typeChecker, metadataReader) {
737
815
  this.typeChecker = typeChecker;
738
816
  this.metadataReader = metadataReader;
739
817
  }
740
818
  extractAll(sourceFile) {
741
- var _a;
742
819
  const entries = [];
743
- const reflector = new TypeScriptReflectionHost(this.typeChecker);
744
- const exportedDeclarationMap = reflector.getExportsOfModule(sourceFile);
745
- const exportedDeclarations = Array.from((_a = exportedDeclarationMap == null ? void 0 : exportedDeclarationMap.entries()) != null ? _a : []).map(([exportName, declaration]) => [exportName, declaration.node]).sort(([a, declarationA], [b, declarationB]) => declarationA.pos - declarationB.pos);
820
+ const exportedDeclarations = this.getExportedDeclarations(sourceFile);
746
821
  for (const [exportName, node] of exportedDeclarations) {
747
- let entry = void 0;
748
- if (isNamedClassDeclaration(node)) {
749
- entry = extractClass(node, this.metadataReader, this.typeChecker);
750
- }
751
- if (ts7.isFunctionDeclaration(node)) {
752
- const functionExtractor = new FunctionExtractor(node, this.typeChecker);
753
- entry = functionExtractor.extract();
754
- }
755
- if (ts7.isVariableDeclaration(node) && !isSyntheticAngularConstant(node)) {
756
- entry = extractConstant(node, this.typeChecker);
757
- }
758
- if (ts7.isEnumDeclaration(node)) {
759
- entry = extractEnum(node, this.typeChecker);
760
- }
822
+ if (isAngularPrivateName(exportName))
823
+ continue;
824
+ const entry = this.extractDeclaration(node);
761
825
  if (entry) {
762
- entry.name = exportName;
763
- entries.push(entry);
826
+ entries.push({ ...entry, name: exportName });
764
827
  }
765
828
  }
766
829
  return entries;
767
830
  }
831
+ extractDeclaration(node) {
832
+ if (isNamedClassDeclaration(node)) {
833
+ return extractClass(node, this.metadataReader, this.typeChecker);
834
+ }
835
+ if (ts8.isInterfaceDeclaration(node)) {
836
+ return extractInterface(node, this.typeChecker);
837
+ }
838
+ if (ts8.isFunctionDeclaration(node)) {
839
+ const functionExtractor = new FunctionExtractor(node, this.typeChecker);
840
+ return functionExtractor.extract();
841
+ }
842
+ if (ts8.isVariableDeclaration(node) && !isSyntheticAngularConstant(node)) {
843
+ return extractConstant(node, this.typeChecker);
844
+ }
845
+ if (ts8.isTypeAliasDeclaration(node)) {
846
+ return extractTypeAlias(node);
847
+ }
848
+ if (ts8.isEnumDeclaration(node)) {
849
+ return extractEnum(node, this.typeChecker);
850
+ }
851
+ return null;
852
+ }
853
+ getExportedDeclarations(sourceFile) {
854
+ var _a;
855
+ const reflector = new TypeScriptReflectionHost(this.typeChecker);
856
+ const exportedDeclarationMap = reflector.getExportsOfModule(sourceFile);
857
+ let exportedDeclarations = Array.from((_a = exportedDeclarationMap == null ? void 0 : exportedDeclarationMap.entries()) != null ? _a : []).map(([exportName, declaration]) => [exportName, declaration.node]);
858
+ const declarationCount = exportedDeclarations.length;
859
+ for (let i = 0; i < declarationCount; i++) {
860
+ const [exportName, declaration] = exportedDeclarations[i];
861
+ if (ts8.isFunctionDeclaration(declaration)) {
862
+ const extractor = new FunctionExtractor(declaration, this.typeChecker);
863
+ const overloads = extractor.getOverloads().map((overload) => [exportName, overload]);
864
+ exportedDeclarations.push(...overloads);
865
+ }
866
+ }
867
+ return exportedDeclarations.sort(([a, declarationA], [b, declarationB]) => declarationA.pos - declarationB.pos);
868
+ }
768
869
  };
769
870
 
770
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
771
- import ts8 from "typescript";
871
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
872
+ import ts9 from "typescript";
772
873
  var FlatIndexGenerator = class {
773
874
  constructor(entryPoint, relativeFlatIndexPath, moduleName) {
774
875
  this.entryPoint = entryPoint;
@@ -784,7 +885,7 @@ var FlatIndexGenerator = class {
784
885
 
785
886
  export * from '${relativeEntryPoint}';
786
887
  `;
787
- const genFile = ts8.createSourceFile(this.flatIndexPath, contents, ts8.ScriptTarget.ES2015, true, ts8.ScriptKind.TS);
888
+ const genFile = ts9.createSourceFile(this.flatIndexPath, contents, ts9.ScriptTarget.ES2015, true, ts9.ScriptKind.TS);
788
889
  if (this.moduleName !== null) {
789
890
  genFile.moduleName = this.moduleName;
790
891
  }
@@ -792,7 +893,7 @@ export * from '${relativeEntryPoint}';
792
893
  }
793
894
  };
794
895
 
795
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
896
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
796
897
  function findFlatIndexEntryPoint(rootFiles) {
797
898
  const tsFiles = rootFiles.filter((file) => isNonDeclarationTsPath(file));
798
899
  let resolvedEntryPoint = null;
@@ -808,8 +909,8 @@ function findFlatIndexEntryPoint(rootFiles) {
808
909
  return resolvedEntryPoint;
809
910
  }
810
911
 
811
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
812
- import ts9 from "typescript";
912
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
913
+ import ts10 from "typescript";
813
914
  function checkForPrivateExports(entryPoint, checker, refGraph) {
814
915
  const diagnostics = [];
815
916
  const topLevelExports = /* @__PURE__ */ new Set();
@@ -819,7 +920,7 @@ function checkForPrivateExports(entryPoint, checker, refGraph) {
819
920
  }
820
921
  const exportedSymbols = checker.getExportsOfModule(moduleSymbol);
821
922
  exportedSymbols.forEach((symbol) => {
822
- if (symbol.flags & ts9.SymbolFlags.Alias) {
923
+ if (symbol.flags & ts10.SymbolFlags.Alias) {
823
924
  symbol = checker.getAliasedSymbol(symbol);
824
925
  }
825
926
  const decl = symbol.valueDeclaration;
@@ -843,7 +944,7 @@ function checkForPrivateExports(entryPoint, checker, refGraph) {
843
944
  visibleVia = transitivePath.map((seg) => getNameOfDeclaration(seg)).join(" -> ");
844
945
  }
845
946
  const diagnostic = {
846
- category: ts9.DiagnosticCategory.Error,
947
+ category: ts10.DiagnosticCategory.Error,
847
948
  code: ngErrorCode(ErrorCode.SYMBOL_NOT_EXPORTED),
848
949
  file: transitiveReference.getSourceFile(),
849
950
  ...getPosOfDeclaration(transitiveReference),
@@ -863,7 +964,7 @@ function getPosOfDeclaration(decl) {
863
964
  };
864
965
  }
865
966
  function getIdentifierOfDeclaration(decl) {
866
- if ((ts9.isClassDeclaration(decl) || ts9.isVariableDeclaration(decl) || ts9.isFunctionDeclaration(decl)) && decl.name !== void 0 && ts9.isIdentifier(decl.name)) {
967
+ if ((ts10.isClassDeclaration(decl) || ts10.isVariableDeclaration(decl) || ts10.isFunctionDeclaration(decl)) && decl.name !== void 0 && ts10.isIdentifier(decl.name)) {
867
968
  return decl.name;
868
969
  } else {
869
970
  return null;
@@ -875,20 +976,20 @@ function getNameOfDeclaration(decl) {
875
976
  }
876
977
  function getDescriptorOfDeclaration(decl) {
877
978
  switch (decl.kind) {
878
- case ts9.SyntaxKind.ClassDeclaration:
979
+ case ts10.SyntaxKind.ClassDeclaration:
879
980
  return "class";
880
- case ts9.SyntaxKind.FunctionDeclaration:
981
+ case ts10.SyntaxKind.FunctionDeclaration:
881
982
  return "function";
882
- case ts9.SyntaxKind.VariableDeclaration:
983
+ case ts10.SyntaxKind.VariableDeclaration:
883
984
  return "variable";
884
- case ts9.SyntaxKind.EnumDeclaration:
985
+ case ts10.SyntaxKind.EnumDeclaration:
885
986
  return "enum";
886
987
  default:
887
988
  return "declaration";
888
989
  }
889
990
  }
890
991
 
891
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
992
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
892
993
  var ReferenceGraph = class {
893
994
  constructor() {
894
995
  this.references = /* @__PURE__ */ new Map();
@@ -942,7 +1043,7 @@ var ReferenceGraph = class {
942
1043
  }
943
1044
  };
944
1045
 
945
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
1046
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
946
1047
  var NgOriginalFile = Symbol("NgOriginalFile");
947
1048
  var UpdateMode;
948
1049
  (function(UpdateMode2) {
@@ -950,13 +1051,13 @@ var UpdateMode;
950
1051
  UpdateMode2[UpdateMode2["Incremental"] = 1] = "Incremental";
951
1052
  })(UpdateMode || (UpdateMode = {}));
952
1053
 
953
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
954
- import ts11 from "typescript";
1054
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1055
+ import ts12 from "typescript";
955
1056
 
956
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
957
- import ts10 from "typescript";
1057
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1058
+ import ts11 from "typescript";
958
1059
 
959
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/expando.mjs
1060
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/expando.mjs
960
1061
  var NgExtension = Symbol("NgExtension");
961
1062
  function isExtended(sf) {
962
1063
  return sf[NgExtension] !== void 0;
@@ -1016,13 +1117,13 @@ function retagTsFile(sf) {
1016
1117
  }
1017
1118
  }
1018
1119
 
1019
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/util.mjs
1120
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/util.mjs
1020
1121
  var TS_EXTENSIONS = /\.tsx?$/i;
1021
1122
  function makeShimFileName(fileName, suffix) {
1022
1123
  return absoluteFrom(fileName.replace(TS_EXTENSIONS, suffix));
1023
1124
  }
1024
1125
 
1025
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1126
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/adapter.mjs
1026
1127
  var ShimAdapter = class {
1027
1128
  constructor(delegate, tsRootFiles, topLevelGenerators, perFileGenerators, oldProgram) {
1028
1129
  this.delegate = delegate;
@@ -1085,10 +1186,10 @@ var ShimAdapter = class {
1085
1186
  }
1086
1187
  const prefix = match[1];
1087
1188
  let baseFileName = absoluteFrom(prefix + ".ts");
1088
- let inputFile = this.delegate.getSourceFile(baseFileName, ts10.ScriptTarget.Latest);
1189
+ let inputFile = this.delegate.getSourceFile(baseFileName, ts11.ScriptTarget.Latest);
1089
1190
  if (inputFile === void 0) {
1090
1191
  baseFileName = absoluteFrom(prefix + ".tsx");
1091
- inputFile = this.delegate.getSourceFile(baseFileName, ts10.ScriptTarget.Latest);
1192
+ inputFile = this.delegate.getSourceFile(baseFileName, ts11.ScriptTarget.Latest);
1092
1193
  }
1093
1194
  if (inputFile === void 0 || isShim(inputFile)) {
1094
1195
  return void 0;
@@ -1117,7 +1218,7 @@ var ShimAdapter = class {
1117
1218
  }
1118
1219
  };
1119
1220
 
1120
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/reference_tagger.mjs
1221
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/shims/src/reference_tagger.mjs
1121
1222
  var ShimReferenceTagger = class {
1122
1223
  constructor(shimExtensions) {
1123
1224
  this.tagged = /* @__PURE__ */ new Set();
@@ -1151,7 +1252,7 @@ var ShimReferenceTagger = class {
1151
1252
  }
1152
1253
  };
1153
1254
 
1154
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1255
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
1155
1256
  var DelegatingCompilerHost = class {
1156
1257
  constructor(delegate) {
1157
1258
  this.delegate = delegate;
@@ -1243,7 +1344,7 @@ var TsCreateProgramDriver = class {
1243
1344
  this.sfMap.clear();
1244
1345
  }
1245
1346
  for (const [filePath, { newText, originalFile }] of contents.entries()) {
1246
- const sf = ts11.createSourceFile(filePath, newText, ts11.ScriptTarget.Latest, true);
1347
+ const sf = ts12.createSourceFile(filePath, newText, ts12.ScriptTarget.Latest, true);
1247
1348
  if (originalFile !== null) {
1248
1349
  sf[NgOriginalFile] = originalFile;
1249
1350
  }
@@ -1252,7 +1353,7 @@ var TsCreateProgramDriver = class {
1252
1353
  const host = new UpdatedProgramHost(this.sfMap, this.originalProgram, this.originalHost, this.shimExtensionPrefixes);
1253
1354
  const oldProgram = this.program;
1254
1355
  retagAllTsFiles(oldProgram);
1255
- this.program = ts11.createProgram({
1356
+ this.program = ts12.createProgram({
1256
1357
  host,
1257
1358
  rootNames: this.program.getRootFileNames(),
1258
1359
  options: this.options,
@@ -1264,7 +1365,7 @@ var TsCreateProgramDriver = class {
1264
1365
  }
1265
1366
  };
1266
1367
 
1267
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
1368
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
1268
1369
  var FileDependencyGraph = class {
1269
1370
  constructor() {
1270
1371
  this.nodes = /* @__PURE__ */ new Map();
@@ -1331,7 +1432,7 @@ function isLogicallyChanged(sf, node, changedTsPaths, deletedTsPaths, changedRes
1331
1432
  return false;
1332
1433
  }
1333
1434
 
1334
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
1435
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
1335
1436
  var IncrementalStateKind;
1336
1437
  (function(IncrementalStateKind2) {
1337
1438
  IncrementalStateKind2[IncrementalStateKind2["Fresh"] = 0] = "Fresh";
@@ -1339,7 +1440,7 @@ var IncrementalStateKind;
1339
1440
  IncrementalStateKind2[IncrementalStateKind2["Analyzed"] = 2] = "Analyzed";
1340
1441
  })(IncrementalStateKind || (IncrementalStateKind = {}));
1341
1442
 
1342
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
1443
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
1343
1444
  var PhaseKind;
1344
1445
  (function(PhaseKind2) {
1345
1446
  PhaseKind2[PhaseKind2["Analysis"] = 0] = "Analysis";
@@ -1540,7 +1641,7 @@ function toOriginalSourceFile(sf) {
1540
1641
  }
1541
1642
  }
1542
1643
 
1543
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
1644
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
1544
1645
  var TrackedIncrementalBuildStrategy = class {
1545
1646
  constructor() {
1546
1647
  this.state = null;
@@ -1576,7 +1677,7 @@ var PatchedProgramIncrementalBuildStrategy = class {
1576
1677
  };
1577
1678
  var SYM_INCREMENTAL_STATE = Symbol("NgIncrementalState");
1578
1679
 
1579
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
1680
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
1580
1681
  var IdentifierKind;
1581
1682
  (function(IdentifierKind2) {
1582
1683
  IdentifierKind2[IdentifierKind2["Property"] = 0] = "Property";
@@ -1594,7 +1695,7 @@ var AbsoluteSourceSpan = class {
1594
1695
  }
1595
1696
  };
1596
1697
 
1597
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
1698
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
1598
1699
  var IndexingContext = class {
1599
1700
  constructor() {
1600
1701
  this.components = /* @__PURE__ */ new Set();
@@ -1604,10 +1705,10 @@ var IndexingContext = class {
1604
1705
  }
1605
1706
  };
1606
1707
 
1607
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1708
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1608
1709
  import { ParseSourceFile } from "@angular/compiler";
1609
1710
 
1610
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
1711
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
1611
1712
  import { ASTWithSource, ImplicitReceiver, PropertyRead, PropertyWrite, RecursiveAstVisitor, TmplAstBoundDeferredTrigger, TmplAstElement, TmplAstRecursiveVisitor, TmplAstReference, TmplAstTemplate } from "@angular/compiler";
1612
1713
  var ExpressionVisitor = class extends RecursiveAstVisitor {
1613
1714
  constructor(expressionStr, absoluteOffset, boundTemplate, targetToIdentifier) {
@@ -1889,7 +1990,7 @@ function getTemplateIdentifiers(boundTemplate) {
1889
1990
  return { identifiers: visitor.identifiers, errors: visitor.errors };
1890
1991
  }
1891
1992
 
1892
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1993
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
1893
1994
  function generateAnalysis(context) {
1894
1995
  const analysis = /* @__PURE__ */ new Map();
1895
1996
  context.components.forEach(({ declaration, selector, boundTemplate, templateMeta }) => {
@@ -1925,7 +2026,7 @@ function generateAnalysis(context) {
1925
2026
  return analysis;
1926
2027
  }
1927
2028
 
1928
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
2029
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/ng_module_index.mjs
1929
2030
  var NgModuleIndexImpl = class {
1930
2031
  constructor(metaReader, localReader) {
1931
2032
  this.metaReader = metaReader;
@@ -2014,8 +2115,8 @@ var NgModuleIndexImpl = class {
2014
2115
  }
2015
2116
  };
2016
2117
 
2017
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
2018
- import ts12 from "typescript";
2118
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
2119
+ import ts13 from "typescript";
2019
2120
  var CSS_PREPROCESSOR_EXT = /(\.scss|\.sass|\.less|\.styl)$/;
2020
2121
  var RESOURCE_MARKER = ".$ngresource$";
2021
2122
  var RESOURCE_MARKER_TS = RESOURCE_MARKER + ".ts";
@@ -2125,7 +2226,7 @@ var AdapterResourceLoader = class {
2125
2226
  return this.adapter.rootDirs.map((rootDir) => join(rootDir, segment));
2126
2227
  }
2127
2228
  getResolvedCandidateLocations(url, fromFile) {
2128
- const failedLookup = ts12.resolveModuleName(url + RESOURCE_MARKER, fromFile, this.options, this.lookupResolutionHost);
2229
+ const failedLookup = ts13.resolveModuleName(url + RESOURCE_MARKER, fromFile, this.options, this.lookupResolutionHost);
2129
2230
  if (failedLookup.failedLookupLocations === void 0) {
2130
2231
  throw new Error(`Internal error: expected to find failedLookupLocations during resolution of resource '${url}' in context of ${fromFile}`);
2131
2232
  }
@@ -2160,7 +2261,7 @@ function createLookupResolutionHost(adapter) {
2160
2261
  };
2161
2262
  }
2162
2263
 
2163
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
2264
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/standalone.mjs
2164
2265
  var StandaloneComponentScopeReader = class {
2165
2266
  constructor(metaReader, localModuleReader, dtsModuleReader) {
2166
2267
  this.metaReader = metaReader;
@@ -2238,11 +2339,11 @@ var StandaloneComponentScopeReader = class {
2238
2339
  }
2239
2340
  };
2240
2341
 
2241
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
2342
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
2242
2343
  import { CssSelector, DomElementSchemaRegistry as DomElementSchemaRegistry2, ExternalExpr as ExternalExpr2, WrappedNodeExpr } from "@angular/compiler";
2243
2344
 
2244
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
2245
- import ts13 from "typescript";
2345
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
2346
+ import ts14 from "typescript";
2246
2347
  function makeTemplateDiagnostic(templateId, mapping, span, category, code, messageText, relatedMessages) {
2247
2348
  var _a;
2248
2349
  if (mapping.type === "direct") {
@@ -2251,7 +2352,7 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
2251
2352
  relatedInformation = [];
2252
2353
  for (const relatedMessage of relatedMessages) {
2253
2354
  relatedInformation.push({
2254
- category: ts13.DiagnosticCategory.Message,
2355
+ category: ts14.DiagnosticCategory.Message,
2255
2356
  code: 0,
2256
2357
  file: relatedMessage.sourceFile,
2257
2358
  start: relatedMessage.start,
@@ -2280,7 +2381,7 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
2280
2381
  if (relatedMessages !== void 0) {
2281
2382
  for (const relatedMessage of relatedMessages) {
2282
2383
  relatedInformation.push({
2283
- category: ts13.DiagnosticCategory.Message,
2384
+ category: ts14.DiagnosticCategory.Message,
2284
2385
  code: 0,
2285
2386
  file: relatedMessage.sourceFile,
2286
2387
  start: relatedMessage.start,
@@ -2310,7 +2411,7 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
2310
2411
  };
2311
2412
  }
2312
2413
  relatedInformation.push({
2313
- category: ts13.DiagnosticCategory.Message,
2414
+ category: ts14.DiagnosticCategory.Message,
2314
2415
  code: 0,
2315
2416
  file: componentSf,
2316
2417
  start: mapping.node.getStart(),
@@ -2345,10 +2446,10 @@ function parseTemplateAsSourceFile(fileName, template) {
2345
2446
  if (parseTemplateAsSourceFileForTest !== null) {
2346
2447
  return parseTemplateAsSourceFileForTest(fileName, template);
2347
2448
  }
2348
- return ts13.createSourceFile(fileName, template, ts13.ScriptTarget.Latest, false, ts13.ScriptKind.JSX);
2449
+ return ts14.createSourceFile(fileName, template, ts14.ScriptTarget.Latest, false, ts14.ScriptKind.JSX);
2349
2450
  }
2350
2451
 
2351
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
2452
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
2352
2453
  var TEMPLATE_ID = Symbol("ngTemplateId");
2353
2454
  var NEXT_TEMPLATE_ID = Symbol("ngNextTemplateId");
2354
2455
  function getTemplateId(clazz) {
@@ -2365,17 +2466,17 @@ function allocateTemplateId(sf) {
2365
2466
  return `tcb${sf[NEXT_TEMPLATE_ID]++}`;
2366
2467
  }
2367
2468
 
2368
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2469
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2369
2470
  import { EmptyExpr, ImplicitReceiver as ImplicitReceiver2, PropertyRead as PropertyRead2, PropertyWrite as PropertyWrite2, SafePropertyRead, TmplAstReference as TmplAstReference2, TmplAstTextAttribute } from "@angular/compiler";
2370
- import ts15 from "typescript";
2471
+ import ts16 from "typescript";
2371
2472
 
2372
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
2473
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
2373
2474
  import { AbsoluteSourceSpan as AbsoluteSourceSpan2 } from "@angular/compiler";
2374
- import ts14 from "typescript";
2475
+ import ts15 from "typescript";
2375
2476
  var parseSpanComment = /^(\d+),(\d+)$/;
2376
2477
  function readSpanComment(node, sourceFile = node.getSourceFile()) {
2377
- return ts14.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
2378
- if (kind !== ts14.SyntaxKind.MultiLineCommentTrivia) {
2478
+ return ts15.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
2479
+ if (kind !== ts15.SyntaxKind.MultiLineCommentTrivia) {
2379
2480
  return null;
2380
2481
  }
2381
2482
  const commentText = sourceFile.text.substring(pos + 2, end - 2);
@@ -2398,25 +2499,25 @@ var ExpressionIdentifier;
2398
2499
  ExpressionIdentifier2["EVENT_PARAMETER"] = "EP";
2399
2500
  })(ExpressionIdentifier || (ExpressionIdentifier = {}));
2400
2501
  function addExpressionIdentifier(node, identifier) {
2401
- ts14.addSyntheticTrailingComment(
2502
+ ts15.addSyntheticTrailingComment(
2402
2503
  node,
2403
- ts14.SyntaxKind.MultiLineCommentTrivia,
2504
+ ts15.SyntaxKind.MultiLineCommentTrivia,
2404
2505
  `${CommentTriviaType.EXPRESSION_TYPE_IDENTIFIER}:${identifier}`,
2405
2506
  false
2406
2507
  );
2407
2508
  }
2408
2509
  var IGNORE_FOR_DIAGNOSTICS_MARKER = `${CommentTriviaType.DIAGNOSTIC}:ignore`;
2409
2510
  function markIgnoreDiagnostics(node) {
2410
- ts14.addSyntheticTrailingComment(
2511
+ ts15.addSyntheticTrailingComment(
2411
2512
  node,
2412
- ts14.SyntaxKind.MultiLineCommentTrivia,
2513
+ ts15.SyntaxKind.MultiLineCommentTrivia,
2413
2514
  IGNORE_FOR_DIAGNOSTICS_MARKER,
2414
2515
  false
2415
2516
  );
2416
2517
  }
2417
2518
  function hasIgnoreForDiagnosticsMarker(node, sourceFile) {
2418
- return ts14.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
2419
- if (kind !== ts14.SyntaxKind.MultiLineCommentTrivia) {
2519
+ return ts15.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
2520
+ if (kind !== ts15.SyntaxKind.MultiLineCommentTrivia) {
2420
2521
  return null;
2421
2522
  }
2422
2523
  const commentText = sourceFile.text.substring(pos + 2, end - 2);
@@ -2490,8 +2591,8 @@ function findAllMatchingNodes(tcb, opts) {
2490
2591
  return results;
2491
2592
  }
2492
2593
  function hasExpressionIdentifier(sourceFile, node, identifier) {
2493
- return ts14.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
2494
- if (kind !== ts14.SyntaxKind.MultiLineCommentTrivia) {
2594
+ return ts15.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
2595
+ if (kind !== ts15.SyntaxKind.MultiLineCommentTrivia) {
2495
2596
  return false;
2496
2597
  }
2497
2598
  const commentText = sourceFile.text.substring(pos + 2, end - 2);
@@ -2499,7 +2600,7 @@ function hasExpressionIdentifier(sourceFile, node, identifier) {
2499
2600
  }) || false;
2500
2601
  }
2501
2602
 
2502
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2603
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
2503
2604
  var CompletionEngine = class {
2504
2605
  constructor(tcb, data, tcbPath, tcbIsShim) {
2505
2606
  this.tcb = tcb;
@@ -2509,7 +2610,7 @@ var CompletionEngine = class {
2509
2610
  this.templateContextCache = /* @__PURE__ */ new Map();
2510
2611
  this.expressionCompletionCache = /* @__PURE__ */ new Map();
2511
2612
  const globalRead = findFirstMatchingNode(this.tcb, {
2512
- filter: ts15.isPropertyAccessExpression,
2613
+ filter: ts16.isPropertyAccessExpression,
2513
2614
  withExpressionIdentifier: ExpressionIdentifier.COMPONENT_COMPLETION
2514
2615
  });
2515
2616
  if (globalRead !== null) {
@@ -2533,7 +2634,7 @@ var CompletionEngine = class {
2533
2634
  let nodeContext = null;
2534
2635
  if (node instanceof EmptyExpr) {
2535
2636
  const nodeLocation = findFirstMatchingNode(this.tcb, {
2536
- filter: ts15.isIdentifier,
2637
+ filter: ts16.isIdentifier,
2537
2638
  withSpan: node.sourceSpan
2538
2639
  });
2539
2640
  if (nodeLocation !== null) {
@@ -2546,7 +2647,7 @@ var CompletionEngine = class {
2546
2647
  }
2547
2648
  if (node instanceof PropertyRead2 && node.receiver instanceof ImplicitReceiver2) {
2548
2649
  const nodeLocation = findFirstMatchingNode(this.tcb, {
2549
- filter: ts15.isPropertyAccessExpression,
2650
+ filter: ts16.isPropertyAccessExpression,
2550
2651
  withSpan: node.sourceSpan
2551
2652
  });
2552
2653
  if (nodeLocation) {
@@ -2570,21 +2671,21 @@ var CompletionEngine = class {
2570
2671
  let tsExpr = null;
2571
2672
  if (expr instanceof PropertyRead2 || expr instanceof PropertyWrite2) {
2572
2673
  tsExpr = findFirstMatchingNode(this.tcb, {
2573
- filter: ts15.isPropertyAccessExpression,
2674
+ filter: ts16.isPropertyAccessExpression,
2574
2675
  withSpan: expr.nameSpan
2575
2676
  });
2576
2677
  } else if (expr instanceof SafePropertyRead) {
2577
2678
  const ternaryExpr = findFirstMatchingNode(this.tcb, {
2578
- filter: ts15.isParenthesizedExpression,
2679
+ filter: ts16.isParenthesizedExpression,
2579
2680
  withSpan: expr.sourceSpan
2580
2681
  });
2581
- if (ternaryExpr === null || !ts15.isConditionalExpression(ternaryExpr.expression)) {
2682
+ if (ternaryExpr === null || !ts16.isConditionalExpression(ternaryExpr.expression)) {
2582
2683
  return null;
2583
2684
  }
2584
2685
  const whenTrue = ternaryExpr.expression.whenTrue;
2585
- if (ts15.isPropertyAccessExpression(whenTrue)) {
2686
+ if (ts16.isPropertyAccessExpression(whenTrue)) {
2586
2687
  tsExpr = whenTrue;
2587
- } else if (ts15.isCallExpression(whenTrue) && ts15.isPropertyAccessExpression(whenTrue.expression)) {
2688
+ } else if (ts16.isCallExpression(whenTrue) && ts16.isPropertyAccessExpression(whenTrue.expression)) {
2588
2689
  tsExpr = whenTrue.expression;
2589
2690
  }
2590
2691
  }
@@ -2606,15 +2707,15 @@ var CompletionEngine = class {
2606
2707
  let tsExpr = null;
2607
2708
  if (expr instanceof TmplAstTextAttribute) {
2608
2709
  const strNode = findFirstMatchingNode(this.tcb, {
2609
- filter: ts15.isParenthesizedExpression,
2710
+ filter: ts16.isParenthesizedExpression,
2610
2711
  withSpan: expr.sourceSpan
2611
2712
  });
2612
- if (strNode !== null && ts15.isStringLiteral(strNode.expression)) {
2713
+ if (strNode !== null && ts16.isStringLiteral(strNode.expression)) {
2613
2714
  tsExpr = strNode.expression;
2614
2715
  }
2615
2716
  } else {
2616
2717
  tsExpr = findFirstMatchingNode(this.tcb, {
2617
- filter: (n) => ts15.isStringLiteral(n) || ts15.isNumericLiteral(n),
2718
+ filter: (n) => ts16.isStringLiteral(n) || ts16.isNumericLiteral(n),
2618
2719
  withSpan: expr.sourceSpan
2619
2720
  });
2620
2721
  }
@@ -2622,7 +2723,7 @@ var CompletionEngine = class {
2622
2723
  return null;
2623
2724
  }
2624
2725
  let positionInShimFile = tsExpr.getEnd();
2625
- if (ts15.isStringLiteral(tsExpr)) {
2726
+ if (ts16.isStringLiteral(tsExpr)) {
2626
2727
  positionInShimFile -= 1;
2627
2728
  }
2628
2729
  const res = {
@@ -2656,12 +2757,12 @@ var CompletionEngine = class {
2656
2757
  }
2657
2758
  };
2658
2759
 
2659
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
2660
- import ts29 from "typescript";
2760
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
2761
+ import ts30 from "typescript";
2661
2762
 
2662
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
2763
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
2663
2764
  import { DomElementSchemaRegistry } from "@angular/compiler";
2664
- import ts16 from "typescript";
2765
+ import ts17 from "typescript";
2665
2766
  var REGISTRY = new DomElementSchemaRegistry();
2666
2767
  var REMOVE_XHTML_REGEX = /^:xhtml:/;
2667
2768
  var RegistryDomSchemaChecker = class {
@@ -2686,7 +2787,7 @@ var RegistryDomSchemaChecker = class {
2686
2787
  } else {
2687
2788
  errorMsg += `2. To allow any element add 'NO_ERRORS_SCHEMA' to the ${schemas2} of this component.`;
2688
2789
  }
2689
- const diag = makeTemplateDiagnostic(id, mapping, element.startSourceSpan, ts16.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SCHEMA_INVALID_ELEMENT), errorMsg);
2790
+ const diag = makeTemplateDiagnostic(id, mapping, element.startSourceSpan, ts17.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SCHEMA_INVALID_ELEMENT), errorMsg);
2690
2791
  this._diagnostics.push(diag);
2691
2792
  }
2692
2793
  }
@@ -2706,101 +2807,101 @@ var RegistryDomSchemaChecker = class {
2706
2807
  2. If '${element.name}' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the ${schemas2} of this component to suppress this message.
2707
2808
  3. To allow any property add 'NO_ERRORS_SCHEMA' to the ${schemas2} of this component.`;
2708
2809
  }
2709
- const diag = makeTemplateDiagnostic(id, mapping, span, ts16.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SCHEMA_INVALID_ATTRIBUTE), errorMsg);
2810
+ const diag = makeTemplateDiagnostic(id, mapping, span, ts17.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SCHEMA_INVALID_ATTRIBUTE), errorMsg);
2710
2811
  this._diagnostics.push(diag);
2711
2812
  }
2712
2813
  }
2713
2814
  };
2714
2815
 
2715
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
2816
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
2716
2817
  import { ExpressionType, ExternalExpr, TypeModifier } from "@angular/compiler";
2717
- import ts22 from "typescript";
2818
+ import ts23 from "typescript";
2718
2819
 
2719
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
2720
- import ts17 from "typescript";
2820
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
2821
+ import ts18 from "typescript";
2721
2822
  var SAFE_TO_CAST_WITHOUT_PARENS = /* @__PURE__ */ new Set([
2722
- ts17.SyntaxKind.ParenthesizedExpression,
2723
- ts17.SyntaxKind.Identifier,
2724
- ts17.SyntaxKind.CallExpression,
2725
- ts17.SyntaxKind.NonNullExpression,
2726
- ts17.SyntaxKind.ElementAccessExpression,
2727
- ts17.SyntaxKind.PropertyAccessExpression,
2728
- ts17.SyntaxKind.ArrayLiteralExpression,
2729
- ts17.SyntaxKind.ObjectLiteralExpression,
2730
- ts17.SyntaxKind.StringLiteral,
2731
- ts17.SyntaxKind.NumericLiteral,
2732
- ts17.SyntaxKind.TrueKeyword,
2733
- ts17.SyntaxKind.FalseKeyword,
2734
- ts17.SyntaxKind.NullKeyword,
2735
- ts17.SyntaxKind.UndefinedKeyword
2823
+ ts18.SyntaxKind.ParenthesizedExpression,
2824
+ ts18.SyntaxKind.Identifier,
2825
+ ts18.SyntaxKind.CallExpression,
2826
+ ts18.SyntaxKind.NonNullExpression,
2827
+ ts18.SyntaxKind.ElementAccessExpression,
2828
+ ts18.SyntaxKind.PropertyAccessExpression,
2829
+ ts18.SyntaxKind.ArrayLiteralExpression,
2830
+ ts18.SyntaxKind.ObjectLiteralExpression,
2831
+ ts18.SyntaxKind.StringLiteral,
2832
+ ts18.SyntaxKind.NumericLiteral,
2833
+ ts18.SyntaxKind.TrueKeyword,
2834
+ ts18.SyntaxKind.FalseKeyword,
2835
+ ts18.SyntaxKind.NullKeyword,
2836
+ ts18.SyntaxKind.UndefinedKeyword
2736
2837
  ]);
2737
2838
  function tsCastToAny(expr) {
2738
2839
  if (!SAFE_TO_CAST_WITHOUT_PARENS.has(expr.kind)) {
2739
- expr = ts17.factory.createParenthesizedExpression(expr);
2840
+ expr = ts18.factory.createParenthesizedExpression(expr);
2740
2841
  }
2741
- return ts17.factory.createParenthesizedExpression(ts17.factory.createAsExpression(expr, ts17.factory.createKeywordTypeNode(ts17.SyntaxKind.AnyKeyword)));
2842
+ return ts18.factory.createParenthesizedExpression(ts18.factory.createAsExpression(expr, ts18.factory.createKeywordTypeNode(ts18.SyntaxKind.AnyKeyword)));
2742
2843
  }
2743
2844
  function tsCreateElement(tagName) {
2744
- const createElement = ts17.factory.createPropertyAccessExpression(
2745
- ts17.factory.createIdentifier("document"),
2845
+ const createElement = ts18.factory.createPropertyAccessExpression(
2846
+ ts18.factory.createIdentifier("document"),
2746
2847
  "createElement"
2747
2848
  );
2748
- return ts17.factory.createCallExpression(
2849
+ return ts18.factory.createCallExpression(
2749
2850
  createElement,
2750
2851
  void 0,
2751
- [ts17.factory.createStringLiteral(tagName)]
2852
+ [ts18.factory.createStringLiteral(tagName)]
2752
2853
  );
2753
2854
  }
2754
2855
  function tsDeclareVariable(id, type) {
2755
- const decl = ts17.factory.createVariableDeclaration(
2856
+ const decl = ts18.factory.createVariableDeclaration(
2756
2857
  id,
2757
2858
  void 0,
2758
2859
  type,
2759
- ts17.factory.createNonNullExpression(ts17.factory.createNull())
2860
+ ts18.factory.createNonNullExpression(ts18.factory.createNull())
2760
2861
  );
2761
- return ts17.factory.createVariableStatement(
2862
+ return ts18.factory.createVariableStatement(
2762
2863
  void 0,
2763
2864
  [decl]
2764
2865
  );
2765
2866
  }
2766
2867
  function tsCreateTypeQueryForCoercedInput(typeName, coercedInputName) {
2767
- return ts17.factory.createTypeQueryNode(ts17.factory.createQualifiedName(typeName, `ngAcceptInputType_${coercedInputName}`));
2868
+ return ts18.factory.createTypeQueryNode(ts18.factory.createQualifiedName(typeName, `ngAcceptInputType_${coercedInputName}`));
2768
2869
  }
2769
2870
  function tsCreateVariable(id, initializer) {
2770
- const decl = ts17.factory.createVariableDeclaration(
2871
+ const decl = ts18.factory.createVariableDeclaration(
2771
2872
  id,
2772
2873
  void 0,
2773
2874
  void 0,
2774
2875
  initializer
2775
2876
  );
2776
- return ts17.factory.createVariableStatement(
2877
+ return ts18.factory.createVariableStatement(
2777
2878
  void 0,
2778
2879
  [decl]
2779
2880
  );
2780
2881
  }
2781
2882
  function tsCallMethod(receiver, methodName, args = []) {
2782
- const methodAccess = ts17.factory.createPropertyAccessExpression(receiver, methodName);
2783
- return ts17.factory.createCallExpression(
2883
+ const methodAccess = ts18.factory.createPropertyAccessExpression(receiver, methodName);
2884
+ return ts18.factory.createCallExpression(
2784
2885
  methodAccess,
2785
2886
  void 0,
2786
2887
  args
2787
2888
  );
2788
2889
  }
2789
2890
  function isAccessExpression(node) {
2790
- return ts17.isPropertyAccessExpression(node) || ts17.isElementAccessExpression(node);
2891
+ return ts18.isPropertyAccessExpression(node) || ts18.isElementAccessExpression(node);
2791
2892
  }
2792
2893
 
2793
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
2894
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
2895
+ import ts22 from "typescript";
2896
+
2897
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
2794
2898
  import ts21 from "typescript";
2795
2899
 
2796
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
2900
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
2797
2901
  import ts20 from "typescript";
2798
2902
 
2799
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
2903
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_emitter.mjs
2800
2904
  import ts19 from "typescript";
2801
-
2802
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_emitter.mjs
2803
- import ts18 from "typescript";
2804
2905
  var INELIGIBLE = {};
2805
2906
  function canEmitType(type, canEmit) {
2806
2907
  return canEmitTypeWorker(type);
@@ -2808,13 +2909,13 @@ function canEmitType(type, canEmit) {
2808
2909
  return visitNode(type2) !== INELIGIBLE;
2809
2910
  }
2810
2911
  function visitNode(node) {
2811
- if (ts18.isImportTypeNode(node)) {
2912
+ if (ts19.isImportTypeNode(node)) {
2812
2913
  return INELIGIBLE;
2813
2914
  }
2814
- if (ts18.isTypeReferenceNode(node) && !canEmitTypeReference(node)) {
2915
+ if (ts19.isTypeReferenceNode(node) && !canEmitTypeReference(node)) {
2815
2916
  return INELIGIBLE;
2816
2917
  } else {
2817
- return ts18.forEachChild(node, visitNode);
2918
+ return ts19.forEachChild(node, visitNode);
2818
2919
  }
2819
2920
  }
2820
2921
  function canEmitTypeReference(type2) {
@@ -2831,35 +2932,35 @@ var TypeEmitter = class {
2831
2932
  emitType(type) {
2832
2933
  const typeReferenceTransformer = (context) => {
2833
2934
  const visitNode = (node) => {
2834
- if (ts18.isImportTypeNode(node)) {
2935
+ if (ts19.isImportTypeNode(node)) {
2835
2936
  throw new Error("Unable to emit import type");
2836
2937
  }
2837
- if (ts18.isTypeReferenceNode(node)) {
2938
+ if (ts19.isTypeReferenceNode(node)) {
2838
2939
  return this.emitTypeReference(node);
2839
- } else if (ts18.isLiteralExpression(node)) {
2940
+ } else if (ts19.isLiteralExpression(node)) {
2840
2941
  let clone;
2841
- if (ts18.isStringLiteral(node)) {
2842
- clone = ts18.factory.createStringLiteral(node.text);
2843
- } else if (ts18.isNumericLiteral(node)) {
2844
- clone = ts18.factory.createNumericLiteral(node.text);
2845
- } else if (ts18.isBigIntLiteral(node)) {
2846
- clone = ts18.factory.createBigIntLiteral(node.text);
2847
- } else if (ts18.isNoSubstitutionTemplateLiteral(node)) {
2848
- clone = ts18.factory.createNoSubstitutionTemplateLiteral(node.text, node.rawText);
2849
- } else if (ts18.isRegularExpressionLiteral(node)) {
2850
- clone = ts18.factory.createRegularExpressionLiteral(node.text);
2942
+ if (ts19.isStringLiteral(node)) {
2943
+ clone = ts19.factory.createStringLiteral(node.text);
2944
+ } else if (ts19.isNumericLiteral(node)) {
2945
+ clone = ts19.factory.createNumericLiteral(node.text);
2946
+ } else if (ts19.isBigIntLiteral(node)) {
2947
+ clone = ts19.factory.createBigIntLiteral(node.text);
2948
+ } else if (ts19.isNoSubstitutionTemplateLiteral(node)) {
2949
+ clone = ts19.factory.createNoSubstitutionTemplateLiteral(node.text, node.rawText);
2950
+ } else if (ts19.isRegularExpressionLiteral(node)) {
2951
+ clone = ts19.factory.createRegularExpressionLiteral(node.text);
2851
2952
  } else {
2852
- throw new Error(`Unsupported literal kind ${ts18.SyntaxKind[node.kind]}`);
2953
+ throw new Error(`Unsupported literal kind ${ts19.SyntaxKind[node.kind]}`);
2853
2954
  }
2854
- ts18.setTextRange(clone, { pos: -1, end: -1 });
2955
+ ts19.setTextRange(clone, { pos: -1, end: -1 });
2855
2956
  return clone;
2856
2957
  } else {
2857
- return ts18.visitEachChild(node, visitNode, context);
2958
+ return ts19.visitEachChild(node, visitNode, context);
2858
2959
  }
2859
2960
  };
2860
- return (node) => ts18.visitNode(node, visitNode, ts18.isTypeNode);
2961
+ return (node) => ts19.visitNode(node, visitNode, ts19.isTypeNode);
2861
2962
  };
2862
- return ts18.transform(type, [typeReferenceTransformer]).transformed[0];
2963
+ return ts19.transform(type, [typeReferenceTransformer]).transformed[0];
2863
2964
  }
2864
2965
  emitTypeReference(type) {
2865
2966
  const translatedType = this.translator(type);
@@ -2868,13 +2969,13 @@ var TypeEmitter = class {
2868
2969
  }
2869
2970
  let typeArguments = void 0;
2870
2971
  if (type.typeArguments !== void 0) {
2871
- typeArguments = ts18.factory.createNodeArray(type.typeArguments.map((typeArg) => this.emitType(typeArg)));
2972
+ typeArguments = ts19.factory.createNodeArray(type.typeArguments.map((typeArg) => this.emitType(typeArg)));
2872
2973
  }
2873
- return ts18.factory.updateTypeReferenceNode(type, translatedType.typeName, typeArguments);
2974
+ return ts19.factory.updateTypeReferenceNode(type, translatedType.typeName, typeArguments);
2874
2975
  }
2875
2976
  };
2876
2977
 
2877
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
2978
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
2878
2979
  var TypeParameterEmitter = class {
2879
2980
  constructor(typeParameters, reflector) {
2880
2981
  this.typeParameters = typeParameters;
@@ -2911,11 +3012,11 @@ var TypeParameterEmitter = class {
2911
3012
  return this.typeParameters.map((typeParam) => {
2912
3013
  const constraint = typeParam.constraint !== void 0 ? emitter.emitType(typeParam.constraint) : void 0;
2913
3014
  const defaultType = typeParam.default !== void 0 ? emitter.emitType(typeParam.default) : void 0;
2914
- return ts19.factory.updateTypeParameterDeclaration(typeParam, typeParam.modifiers, typeParam.name, constraint, defaultType);
3015
+ return ts20.factory.updateTypeParameterDeclaration(typeParam, typeParam.modifiers, typeParam.name, constraint, defaultType);
2915
3016
  });
2916
3017
  }
2917
3018
  resolveTypeReference(type) {
2918
- const target = ts19.isIdentifier(type.typeName) ? type.typeName : type.typeName.right;
3019
+ const target = ts20.isIdentifier(type.typeName) ? type.typeName : type.typeName.right;
2919
3020
  const declaration = this.reflector.getDeclarationOfIdentifier(target);
2920
3021
  if (declaration === null || declaration.node === null) {
2921
3022
  return null;
@@ -2941,8 +3042,8 @@ var TypeParameterEmitter = class {
2941
3042
  if (typeNode === null) {
2942
3043
  return null;
2943
3044
  }
2944
- if (!ts19.isTypeReferenceNode(typeNode)) {
2945
- throw new Error(`Expected TypeReferenceNode for emitted reference, got ${ts19.SyntaxKind[typeNode.kind]}.`);
3045
+ if (!ts20.isTypeReferenceNode(typeNode)) {
3046
+ throw new Error(`Expected TypeReferenceNode for emitted reference, got ${ts20.SyntaxKind[typeNode.kind]}.`);
2946
3047
  }
2947
3048
  return typeNode;
2948
3049
  }
@@ -2951,7 +3052,7 @@ var TypeParameterEmitter = class {
2951
3052
  }
2952
3053
  };
2953
3054
 
2954
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
3055
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
2955
3056
  var TcbInliningRequirement;
2956
3057
  (function(TcbInliningRequirement2) {
2957
3058
  TcbInliningRequirement2[TcbInliningRequirement2["MustInline"] = 0] = "MustInline";
@@ -2984,14 +3085,14 @@ function getTemplateMapping(shimSf, position, resolver, isDiagnosticRequest) {
2984
3085
  }
2985
3086
  function findTypeCheckBlock(file, id, isDiagnosticRequest) {
2986
3087
  for (const stmt of file.statements) {
2987
- if (ts20.isFunctionDeclaration(stmt) && getTemplateId2(stmt, file, isDiagnosticRequest) === id) {
3088
+ if (ts21.isFunctionDeclaration(stmt) && getTemplateId2(stmt, file, isDiagnosticRequest) === id) {
2988
3089
  return stmt;
2989
3090
  }
2990
3091
  }
2991
3092
  return null;
2992
3093
  }
2993
3094
  function findSourceLocation(node, sourceFile, isDiagnosticsRequest) {
2994
- while (node !== void 0 && !ts20.isFunctionDeclaration(node)) {
3095
+ while (node !== void 0 && !ts21.isFunctionDeclaration(node)) {
2995
3096
  if (hasIgnoreForDiagnosticsMarker(node, sourceFile) && isDiagnosticsRequest) {
2996
3097
  return null;
2997
3098
  }
@@ -3008,7 +3109,7 @@ function findSourceLocation(node, sourceFile, isDiagnosticsRequest) {
3008
3109
  return null;
3009
3110
  }
3010
3111
  function getTemplateId2(node, sourceFile, isDiagnosticRequest) {
3011
- while (!ts20.isFunctionDeclaration(node)) {
3112
+ while (!ts21.isFunctionDeclaration(node)) {
3012
3113
  if (hasIgnoreForDiagnosticsMarker(node, sourceFile) && isDiagnosticRequest) {
3013
3114
  return null;
3014
3115
  }
@@ -3018,8 +3119,8 @@ function getTemplateId2(node, sourceFile, isDiagnosticRequest) {
3018
3119
  }
3019
3120
  }
3020
3121
  const start = node.getFullStart();
3021
- return ts20.forEachLeadingCommentRange(sourceFile.text, start, (pos, end, kind) => {
3022
- if (kind !== ts20.SyntaxKind.MultiLineCommentTrivia) {
3122
+ return ts21.forEachLeadingCommentRange(sourceFile.text, start, (pos, end, kind) => {
3123
+ if (kind !== ts21.SyntaxKind.MultiLineCommentTrivia) {
3023
3124
  return null;
3024
3125
  }
3025
3126
  const commentText = sourceFile.text.substring(pos + 2, end - 2);
@@ -3031,32 +3132,32 @@ function checkIfGenericTypeBoundsCanBeEmitted(node, reflector, env) {
3031
3132
  return emitter.canEmit((ref) => env.canReferenceType(ref));
3032
3133
  }
3033
3134
 
3034
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3135
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
3035
3136
  function generateTypeCtorDeclarationFn(node, meta, nodeTypeRef, typeParams) {
3036
3137
  const rawTypeArgs = typeParams !== void 0 ? generateGenericArgs(typeParams) : void 0;
3037
- const rawType = ts21.factory.createTypeReferenceNode(nodeTypeRef, rawTypeArgs);
3138
+ const rawType = ts22.factory.createTypeReferenceNode(nodeTypeRef, rawTypeArgs);
3038
3139
  const initParam = constructTypeCtorParameter(node, meta, rawType);
3039
3140
  const typeParameters = typeParametersWithDefaultTypes(typeParams);
3040
3141
  if (meta.body) {
3041
- const fnType = ts21.factory.createFunctionTypeNode(
3142
+ const fnType = ts22.factory.createFunctionTypeNode(
3042
3143
  typeParameters,
3043
3144
  [initParam],
3044
3145
  rawType
3045
3146
  );
3046
- const decl = ts21.factory.createVariableDeclaration(
3147
+ const decl = ts22.factory.createVariableDeclaration(
3047
3148
  meta.fnName,
3048
3149
  void 0,
3049
3150
  fnType,
3050
- ts21.factory.createNonNullExpression(ts21.factory.createNull())
3151
+ ts22.factory.createNonNullExpression(ts22.factory.createNull())
3051
3152
  );
3052
- const declList = ts21.factory.createVariableDeclarationList([decl], ts21.NodeFlags.Const);
3053
- return ts21.factory.createVariableStatement(
3153
+ const declList = ts22.factory.createVariableDeclarationList([decl], ts22.NodeFlags.Const);
3154
+ return ts22.factory.createVariableStatement(
3054
3155
  void 0,
3055
3156
  declList
3056
3157
  );
3057
3158
  } else {
3058
- return ts21.factory.createFunctionDeclaration(
3059
- [ts21.factory.createModifier(ts21.SyntaxKind.DeclareKeyword)],
3159
+ return ts22.factory.createFunctionDeclaration(
3160
+ [ts22.factory.createModifier(ts22.SyntaxKind.DeclareKeyword)],
3060
3161
  void 0,
3061
3162
  meta.fnName,
3062
3163
  typeParameters,
@@ -3068,16 +3169,16 @@ function generateTypeCtorDeclarationFn(node, meta, nodeTypeRef, typeParams) {
3068
3169
  }
3069
3170
  function generateInlineTypeCtor(node, meta) {
3070
3171
  const rawTypeArgs = node.typeParameters !== void 0 ? generateGenericArgs(node.typeParameters) : void 0;
3071
- const rawType = ts21.factory.createTypeReferenceNode(node.name, rawTypeArgs);
3172
+ const rawType = ts22.factory.createTypeReferenceNode(node.name, rawTypeArgs);
3072
3173
  const initParam = constructTypeCtorParameter(node, meta, rawType);
3073
3174
  let body = void 0;
3074
3175
  if (meta.body) {
3075
- body = ts21.factory.createBlock([
3076
- ts21.factory.createReturnStatement(ts21.factory.createNonNullExpression(ts21.factory.createNull()))
3176
+ body = ts22.factory.createBlock([
3177
+ ts22.factory.createReturnStatement(ts22.factory.createNonNullExpression(ts22.factory.createNull()))
3077
3178
  ]);
3078
3179
  }
3079
- return ts21.factory.createMethodDeclaration(
3080
- [ts21.factory.createModifier(ts21.SyntaxKind.StaticKeyword)],
3180
+ return ts22.factory.createMethodDeclaration(
3181
+ [ts22.factory.createModifier(ts22.SyntaxKind.StaticKeyword)],
3081
3182
  void 0,
3082
3183
  meta.fnName,
3083
3184
  void 0,
@@ -3093,9 +3194,9 @@ function constructTypeCtorParameter(node, meta, rawType) {
3093
3194
  const coercedKeys = [];
3094
3195
  for (const { classPropertyName, transform } of meta.fields.inputs) {
3095
3196
  if (!meta.coercedInputFields.has(classPropertyName)) {
3096
- plainKeys.push(ts21.factory.createLiteralTypeNode(ts21.factory.createStringLiteral(classPropertyName)));
3197
+ plainKeys.push(ts22.factory.createLiteralTypeNode(ts22.factory.createStringLiteral(classPropertyName)));
3097
3198
  } else {
3098
- coercedKeys.push(ts21.factory.createPropertySignature(
3199
+ coercedKeys.push(ts22.factory.createPropertySignature(
3099
3200
  void 0,
3100
3201
  classPropertyName,
3101
3202
  void 0,
@@ -3104,17 +3205,17 @@ function constructTypeCtorParameter(node, meta, rawType) {
3104
3205
  }
3105
3206
  }
3106
3207
  if (plainKeys.length > 0) {
3107
- const keyTypeUnion = ts21.factory.createUnionTypeNode(plainKeys);
3108
- initType = ts21.factory.createTypeReferenceNode("Pick", [rawType, keyTypeUnion]);
3208
+ const keyTypeUnion = ts22.factory.createUnionTypeNode(plainKeys);
3209
+ initType = ts22.factory.createTypeReferenceNode("Pick", [rawType, keyTypeUnion]);
3109
3210
  }
3110
3211
  if (coercedKeys.length > 0) {
3111
- const coercedLiteral = ts21.factory.createTypeLiteralNode(coercedKeys);
3112
- initType = initType !== null ? ts21.factory.createIntersectionTypeNode([initType, coercedLiteral]) : coercedLiteral;
3212
+ const coercedLiteral = ts22.factory.createTypeLiteralNode(coercedKeys);
3213
+ initType = initType !== null ? ts22.factory.createIntersectionTypeNode([initType, coercedLiteral]) : coercedLiteral;
3113
3214
  }
3114
3215
  if (initType === null) {
3115
- initType = ts21.factory.createTypeLiteralNode([]);
3216
+ initType = ts22.factory.createTypeLiteralNode([]);
3116
3217
  }
3117
- return ts21.factory.createParameterDeclaration(
3218
+ return ts22.factory.createParameterDeclaration(
3118
3219
  void 0,
3119
3220
  void 0,
3120
3221
  "init",
@@ -3124,7 +3225,7 @@ function constructTypeCtorParameter(node, meta, rawType) {
3124
3225
  );
3125
3226
  }
3126
3227
  function generateGenericArgs(params) {
3127
- return params.map((param) => ts21.factory.createTypeReferenceNode(param.name, void 0));
3228
+ return params.map((param) => ts22.factory.createTypeReferenceNode(param.name, void 0));
3128
3229
  }
3129
3230
  function requiresInlineTypeCtor(node, host, env) {
3130
3231
  return !checkIfGenericTypeBoundsCanBeEmitted(node, host, env);
@@ -3135,14 +3236,14 @@ function typeParametersWithDefaultTypes(params) {
3135
3236
  }
3136
3237
  return params.map((param) => {
3137
3238
  if (param.default === void 0) {
3138
- return ts21.factory.updateTypeParameterDeclaration(param, param.modifiers, param.name, param.constraint, ts21.factory.createKeywordTypeNode(ts21.SyntaxKind.AnyKeyword));
3239
+ return ts22.factory.updateTypeParameterDeclaration(param, param.modifiers, param.name, param.constraint, ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword));
3139
3240
  } else {
3140
3241
  return param;
3141
3242
  }
3142
3243
  });
3143
3244
  }
3144
3245
 
3145
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
3246
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
3146
3247
  var Environment = class {
3147
3248
  constructor(config, importManager, refEmitter, reflector, contextFile) {
3148
3249
  this.config = config;
@@ -3167,13 +3268,13 @@ var Environment = class {
3167
3268
  }
3168
3269
  if (requiresInlineTypeCtor(node, this.reflector, this)) {
3169
3270
  const ref = this.reference(dirRef);
3170
- const typeCtorExpr = ts22.factory.createPropertyAccessExpression(ref, "ngTypeCtor");
3271
+ const typeCtorExpr = ts23.factory.createPropertyAccessExpression(ref, "ngTypeCtor");
3171
3272
  this.typeCtors.set(node, typeCtorExpr);
3172
3273
  return typeCtorExpr;
3173
3274
  } else {
3174
3275
  const fnName = `_ctor${this.nextIds.typeCtor++}`;
3175
3276
  const nodeTypeRef = this.referenceType(dirRef);
3176
- if (!ts22.isTypeReferenceNode(nodeTypeRef)) {
3277
+ if (!ts23.isTypeReferenceNode(nodeTypeRef)) {
3177
3278
  throw new Error(`Expected TypeReferenceNode from reference to ${dirRef.debugName}`);
3178
3279
  }
3179
3280
  const meta = {
@@ -3188,7 +3289,7 @@ var Environment = class {
3188
3289
  const typeParams = this.emitTypeParameters(node);
3189
3290
  const typeCtor = generateTypeCtorDeclarationFn(node, meta, nodeTypeRef.typeName, typeParams);
3190
3291
  this.typeCtorStatements.push(typeCtor);
3191
- const fnId = ts22.factory.createIdentifier(fnName);
3292
+ const fnId = ts23.factory.createIdentifier(fnName);
3192
3293
  this.typeCtors.set(node, fnId);
3193
3294
  return fnId;
3194
3295
  }
@@ -3198,7 +3299,7 @@ var Environment = class {
3198
3299
  return this.pipeInsts.get(ref.node);
3199
3300
  }
3200
3301
  const pipeType = this.referenceType(ref);
3201
- const pipeInstId = ts22.factory.createIdentifier(`_pipe${this.nextIds.pipeInst++}`);
3302
+ const pipeInstId = ts23.factory.createIdentifier(`_pipe${this.nextIds.pipeInst++}`);
3202
3303
  this.pipeInstStatements.push(tsDeclareVariable(pipeInstId, pipeType));
3203
3304
  this.pipeInsts.set(ref.node, pipeInstId);
3204
3305
  return pipeInstId;
@@ -3236,9 +3337,9 @@ var Environment = class {
3236
3337
  }
3237
3338
  };
3238
3339
 
3239
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
3340
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
3240
3341
  import { TmplAstElement as TmplAstElement2 } from "@angular/compiler";
3241
- import ts23 from "typescript";
3342
+ import ts24 from "typescript";
3242
3343
  var OutOfBandDiagnosticRecorderImpl = class {
3243
3344
  constructor(resolver) {
3244
3345
  this.resolver = resolver;
@@ -3252,7 +3353,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
3252
3353
  const mapping = this.resolver.getSourceMapping(templateId);
3253
3354
  const value = ref.value.trim();
3254
3355
  const errorMsg = `No directive found with exportAs '${value}'.`;
3255
- this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, ref.valueSpan || ref.sourceSpan, ts23.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_REFERENCE_TARGET), errorMsg));
3356
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, ref.valueSpan || ref.sourceSpan, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_REFERENCE_TARGET), errorMsg));
3256
3357
  }
3257
3358
  missingPipe(templateId, ast) {
3258
3359
  if (this.recordedPipes.has(ast)) {
@@ -3264,7 +3365,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
3264
3365
  if (sourceSpan === null) {
3265
3366
  throw new Error(`Assertion failure: no SourceLocation found for usage of pipe '${ast.name}'.`);
3266
3367
  }
3267
- this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts23.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_PIPE), errorMsg));
3368
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_PIPE), errorMsg));
3268
3369
  this.recordedPipes.add(ast);
3269
3370
  }
3270
3371
  illegalAssignmentToTemplateVar(templateId, assignment, target) {
@@ -3275,7 +3376,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
3275
3376
  if (sourceSpan === null) {
3276
3377
  throw new Error(`Assertion failure: no SourceLocation found for property binding.`);
3277
3378
  }
3278
- this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts23.DiagnosticCategory.Error, ngErrorCode(ErrorCode.WRITE_TO_READ_ONLY_VARIABLE), errorMsg, [{
3379
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.WRITE_TO_READ_ONLY_VARIABLE), errorMsg, [{
3279
3380
  text: `The variable ${assignment.name} is declared here.`,
3280
3381
  start: ((_a = target.valueSpan) == null ? void 0 : _a.start.offset) || target.sourceSpan.start.offset,
3281
3382
  end: ((_b = target.valueSpan) == null ? void 0 : _b.end.offset) || target.sourceSpan.end.offset,
@@ -3285,7 +3386,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
3285
3386
  duplicateTemplateVar(templateId, variable, firstDecl) {
3286
3387
  const mapping = this.resolver.getSourceMapping(templateId);
3287
3388
  const errorMsg = `Cannot redeclare variable '${variable.name}' as it was previously declared elsewhere for the same template.`;
3288
- this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, variable.sourceSpan, ts23.DiagnosticCategory.Error, ngErrorCode(ErrorCode.DUPLICATE_VARIABLE_DECLARATION), errorMsg, [{
3389
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, variable.sourceSpan, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.DUPLICATE_VARIABLE_DECLARATION), errorMsg, [{
3289
3390
  text: `The variable '${firstDecl.name}' was first declared here.`,
3290
3391
  start: firstDecl.sourceSpan.start.offset,
3291
3392
  end: firstDecl.sourceSpan.end.offset,
@@ -3324,7 +3425,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
3324
3425
  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.
3325
3426
 
3326
3427
  Consider enabling the 'strictTemplates' option in your tsconfig.json for better type inference within this template.`;
3327
- this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, diagnosticVar.keySpan, ts23.DiagnosticCategory.Suggestion, ngErrorCode(ErrorCode.SUGGEST_SUBOPTIMAL_TYPE_INFERENCE), message));
3428
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, diagnosticVar.keySpan, ts24.DiagnosticCategory.Suggestion, ngErrorCode(ErrorCode.SUGGEST_SUBOPTIMAL_TYPE_INFERENCE), message));
3328
3429
  }
3329
3430
  splitTwoWayBinding(templateId, input, output, inputConsumer, outputConsumer) {
3330
3431
  const mapping = this.resolver.getSourceMapping(templateId);
@@ -3358,11 +3459,11 @@ Consider enabling the 'strictTemplates' option in your tsconfig.json for better
3358
3459
  sourceFile: outputConsumer.name.getSourceFile()
3359
3460
  });
3360
3461
  }
3361
- this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, input.keySpan, ts23.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SPLIT_TWO_WAY_BINDING), errorMsg, relatedMessages));
3462
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, input.keySpan, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SPLIT_TWO_WAY_BINDING), errorMsg, relatedMessages));
3362
3463
  }
3363
3464
  missingRequiredInputs(templateId, element, directiveName, isComponent, inputAliases) {
3364
3465
  const message = `Required input${inputAliases.length === 1 ? "" : "s"} ${inputAliases.map((n) => `'${n}'`).join(", ")} from ${isComponent ? "component" : "directive"} ${directiveName} must be specified.`;
3365
- this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), element.startSourceSpan, ts23.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_REQUIRED_INPUTS), message));
3466
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), element.startSourceSpan, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_REQUIRED_INPUTS), message));
3366
3467
  }
3367
3468
  illegalForLoopTrackAccess(templateId, block, access) {
3368
3469
  const sourceSpan = this.resolver.toParseSourceSpan(templateId, access.sourceSpan);
@@ -3370,7 +3471,7 @@ Consider enabling the 'strictTemplates' option in your tsconfig.json for better
3370
3471
  throw new Error(`Assertion failure: no SourceLocation found for property read.`);
3371
3472
  }
3372
3473
  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.`;
3373
- this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), sourceSpan, ts23.DiagnosticCategory.Error, ngErrorCode(ErrorCode.ILLEGAL_FOR_LOOP_TRACK_ACCESS), message));
3474
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), sourceSpan, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.ILLEGAL_FOR_LOOP_TRACK_ACCESS), message));
3374
3475
  }
3375
3476
  inaccessibleDeferredTriggerElement(templateId, trigger) {
3376
3477
  let message;
@@ -3381,7 +3482,7 @@ Consider enabling the 'strictTemplates' option in your tsconfig.json for better
3381
3482
  Check that an element with #${trigger.reference} exists in the same template and it's accessible from the @defer block.
3382
3483
  Deferred blocks can only access triggers in same view, a parent embedded view or the root view of the @placeholder block.`;
3383
3484
  }
3384
- this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), trigger.sourceSpan, ts23.DiagnosticCategory.Error, ngErrorCode(ErrorCode.INACCESSIBLE_DEFERRED_TRIGGER_ELEMENT), message));
3485
+ this._diagnostics.push(makeTemplateDiagnostic(templateId, this.resolver.getSourceMapping(templateId), trigger.sourceSpan, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.INACCESSIBLE_DEFERRED_TRIGGER_ELEMENT), message));
3385
3486
  }
3386
3487
  };
3387
3488
  function makeInlineDiagnostic(templateId, code, node, messageText, relatedInformation) {
@@ -3392,8 +3493,8 @@ function makeInlineDiagnostic(templateId, code, node, messageText, relatedInform
3392
3493
  };
3393
3494
  }
3394
3495
 
3395
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
3396
- import ts24 from "typescript";
3496
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
3497
+ import ts25 from "typescript";
3397
3498
  var TypeCheckShimGenerator = class {
3398
3499
  constructor() {
3399
3500
  this.extensionPrefix = "ngtypecheck";
@@ -3403,25 +3504,25 @@ var TypeCheckShimGenerator = class {
3403
3504
  if (priorShimSf !== null) {
3404
3505
  return priorShimSf;
3405
3506
  }
3406
- return ts24.createSourceFile(genFilePath, "export const USED_FOR_NG_TYPE_CHECKING = true;", ts24.ScriptTarget.Latest, true, ts24.ScriptKind.TS);
3507
+ return ts25.createSourceFile(genFilePath, "export const USED_FOR_NG_TYPE_CHECKING = true;", ts25.ScriptTarget.Latest, true, ts25.ScriptKind.TS);
3407
3508
  }
3408
3509
  static shimFor(fileName) {
3409
3510
  return absoluteFrom(fileName.replace(/\.tsx?$/, ".ngtypecheck.ts"));
3410
3511
  }
3411
3512
  };
3412
3513
 
3413
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
3514
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
3414
3515
  import { BindingPipe, Call as Call2, DYNAMIC_TYPE, ImplicitReceiver as ImplicitReceiver4, PropertyRead as PropertyRead4, PropertyWrite as PropertyWrite3, SafeCall, SafePropertyRead as SafePropertyRead3, ThisReceiver, TmplAstBoundAttribute, TmplAstBoundText, TmplAstDeferredBlock, TmplAstElement as TmplAstElement3, TmplAstForLoopBlock, TmplAstIcu, TmplAstIfBlock, TmplAstIfBlockBranch, TmplAstReference as TmplAstReference3, TmplAstSwitchBlock, TmplAstTemplate as TmplAstTemplate2, TmplAstTextAttribute as TmplAstTextAttribute2, TmplAstVariable as TmplAstVariable2, TransplantedType } from "@angular/compiler";
3415
- import ts27 from "typescript";
3516
+ import ts28 from "typescript";
3416
3517
 
3417
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
3518
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
3418
3519
  import { AbsoluteSourceSpan as AbsoluteSourceSpan3 } from "@angular/compiler";
3419
- import ts25 from "typescript";
3520
+ import ts26 from "typescript";
3420
3521
  function wrapForDiagnostics(expr) {
3421
- return ts25.factory.createParenthesizedExpression(expr);
3522
+ return ts26.factory.createParenthesizedExpression(expr);
3422
3523
  }
3423
3524
  function wrapForTypeChecker(expr) {
3424
- return ts25.factory.createParenthesizedExpression(expr);
3525
+ return ts26.factory.createParenthesizedExpression(expr);
3425
3526
  }
3426
3527
  function addParseSpanInfo(node, span) {
3427
3528
  let commentText;
@@ -3430,10 +3531,10 @@ function addParseSpanInfo(node, span) {
3430
3531
  } else {
3431
3532
  commentText = `${span.start.offset},${span.end.offset}`;
3432
3533
  }
3433
- ts25.addSyntheticTrailingComment(node, ts25.SyntaxKind.MultiLineCommentTrivia, commentText, false);
3534
+ ts26.addSyntheticTrailingComment(node, ts26.SyntaxKind.MultiLineCommentTrivia, commentText, false);
3434
3535
  }
3435
3536
  function addTemplateId(tcb, id) {
3436
- ts25.addSyntheticLeadingComment(tcb, ts25.SyntaxKind.MultiLineCommentTrivia, id, true);
3537
+ ts26.addSyntheticLeadingComment(tcb, ts26.SyntaxKind.MultiLineCommentTrivia, id, true);
3437
3538
  }
3438
3539
  function shouldReportDiagnostic(diagnostic) {
3439
3540
  const { code } = diagnostic;
@@ -3460,34 +3561,34 @@ function translateDiagnostic(diagnostic, resolver) {
3460
3561
  return makeTemplateDiagnostic(sourceLocation.id, templateSourceMapping, span, diagnostic.category, diagnostic.code, diagnostic.messageText);
3461
3562
  }
3462
3563
 
3463
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
3564
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
3464
3565
  import { ASTWithSource as ASTWithSource2, Call, EmptyExpr as EmptyExpr2, PropertyRead as PropertyRead3, SafeKeyedRead, SafePropertyRead as SafePropertyRead2 } from "@angular/compiler";
3465
- import ts26 from "typescript";
3466
- var NULL_AS_ANY = ts26.factory.createAsExpression(ts26.factory.createNull(), ts26.factory.createKeywordTypeNode(ts26.SyntaxKind.AnyKeyword));
3467
- var UNDEFINED = ts26.factory.createIdentifier("undefined");
3566
+ import ts27 from "typescript";
3567
+ var NULL_AS_ANY = ts27.factory.createAsExpression(ts27.factory.createNull(), ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword));
3568
+ var UNDEFINED = ts27.factory.createIdentifier("undefined");
3468
3569
  var UNARY_OPS = /* @__PURE__ */ new Map([
3469
- ["+", ts26.SyntaxKind.PlusToken],
3470
- ["-", ts26.SyntaxKind.MinusToken]
3570
+ ["+", ts27.SyntaxKind.PlusToken],
3571
+ ["-", ts27.SyntaxKind.MinusToken]
3471
3572
  ]);
3472
3573
  var BINARY_OPS = /* @__PURE__ */ new Map([
3473
- ["+", ts26.SyntaxKind.PlusToken],
3474
- ["-", ts26.SyntaxKind.MinusToken],
3475
- ["<", ts26.SyntaxKind.LessThanToken],
3476
- [">", ts26.SyntaxKind.GreaterThanToken],
3477
- ["<=", ts26.SyntaxKind.LessThanEqualsToken],
3478
- [">=", ts26.SyntaxKind.GreaterThanEqualsToken],
3479
- ["==", ts26.SyntaxKind.EqualsEqualsToken],
3480
- ["===", ts26.SyntaxKind.EqualsEqualsEqualsToken],
3481
- ["*", ts26.SyntaxKind.AsteriskToken],
3482
- ["/", ts26.SyntaxKind.SlashToken],
3483
- ["%", ts26.SyntaxKind.PercentToken],
3484
- ["!=", ts26.SyntaxKind.ExclamationEqualsToken],
3485
- ["!==", ts26.SyntaxKind.ExclamationEqualsEqualsToken],
3486
- ["||", ts26.SyntaxKind.BarBarToken],
3487
- ["&&", ts26.SyntaxKind.AmpersandAmpersandToken],
3488
- ["&", ts26.SyntaxKind.AmpersandToken],
3489
- ["|", ts26.SyntaxKind.BarToken],
3490
- ["??", ts26.SyntaxKind.QuestionQuestionToken]
3574
+ ["+", ts27.SyntaxKind.PlusToken],
3575
+ ["-", ts27.SyntaxKind.MinusToken],
3576
+ ["<", ts27.SyntaxKind.LessThanToken],
3577
+ [">", ts27.SyntaxKind.GreaterThanToken],
3578
+ ["<=", ts27.SyntaxKind.LessThanEqualsToken],
3579
+ [">=", ts27.SyntaxKind.GreaterThanEqualsToken],
3580
+ ["==", ts27.SyntaxKind.EqualsEqualsToken],
3581
+ ["===", ts27.SyntaxKind.EqualsEqualsEqualsToken],
3582
+ ["*", ts27.SyntaxKind.AsteriskToken],
3583
+ ["/", ts27.SyntaxKind.SlashToken],
3584
+ ["%", ts27.SyntaxKind.PercentToken],
3585
+ ["!=", ts27.SyntaxKind.ExclamationEqualsToken],
3586
+ ["!==", ts27.SyntaxKind.ExclamationEqualsEqualsToken],
3587
+ ["||", ts27.SyntaxKind.BarBarToken],
3588
+ ["&&", ts27.SyntaxKind.AmpersandAmpersandToken],
3589
+ ["&", ts27.SyntaxKind.AmpersandToken],
3590
+ ["|", ts27.SyntaxKind.BarToken],
3591
+ ["??", ts27.SyntaxKind.QuestionQuestionToken]
3491
3592
  ]);
3492
3593
  function astToTypescript(ast, maybeResolve, config) {
3493
3594
  const translator = new AstTranslator(maybeResolve, config);
@@ -3503,7 +3604,7 @@ var AstTranslator = class {
3503
3604
  ast = ast.ast;
3504
3605
  }
3505
3606
  if (ast instanceof EmptyExpr2) {
3506
- const res = ts26.factory.createIdentifier("undefined");
3607
+ const res = ts27.factory.createIdentifier("undefined");
3507
3608
  addParseSpanInfo(res, ast.sourceSpan);
3508
3609
  return res;
3509
3610
  }
@@ -3519,7 +3620,7 @@ var AstTranslator = class {
3519
3620
  if (op === void 0) {
3520
3621
  throw new Error(`Unsupported Unary.operator: ${ast.operator}`);
3521
3622
  }
3522
- const node = wrapForDiagnostics(ts26.factory.createPrefixUnaryExpression(op, expr));
3623
+ const node = wrapForDiagnostics(ts27.factory.createPrefixUnaryExpression(op, expr));
3523
3624
  addParseSpanInfo(node, ast.sourceSpan);
3524
3625
  return node;
3525
3626
  }
@@ -3530,13 +3631,13 @@ var AstTranslator = class {
3530
3631
  if (op === void 0) {
3531
3632
  throw new Error(`Unsupported Binary.operation: ${ast.operation}`);
3532
3633
  }
3533
- const node = ts26.factory.createBinaryExpression(lhs, op, rhs);
3634
+ const node = ts27.factory.createBinaryExpression(lhs, op, rhs);
3534
3635
  addParseSpanInfo(node, ast.sourceSpan);
3535
3636
  return node;
3536
3637
  }
3537
3638
  visitChain(ast) {
3538
3639
  const elements = ast.expressions.map((expr) => this.translate(expr));
3539
- const node = wrapForDiagnostics(ts26.factory.createCommaListExpression(elements));
3640
+ const node = wrapForDiagnostics(ts27.factory.createCommaListExpression(elements));
3540
3641
  addParseSpanInfo(node, ast.sourceSpan);
3541
3642
  return node;
3542
3643
  }
@@ -3544,7 +3645,7 @@ var AstTranslator = class {
3544
3645
  const condExpr = this.translate(ast.condition);
3545
3646
  const trueExpr = this.translate(ast.trueExp);
3546
3647
  const falseExpr = wrapForTypeChecker(this.translate(ast.falseExp));
3547
- const node = ts26.factory.createParenthesizedExpression(ts26.factory.createConditionalExpression(condExpr, void 0, trueExpr, void 0, falseExpr));
3648
+ const node = ts27.factory.createParenthesizedExpression(ts27.factory.createConditionalExpression(condExpr, void 0, trueExpr, void 0, falseExpr));
3548
3649
  addParseSpanInfo(node, ast.sourceSpan);
3549
3650
  return node;
3550
3651
  }
@@ -3555,26 +3656,26 @@ var AstTranslator = class {
3555
3656
  throw new Error("Method not implemented.");
3556
3657
  }
3557
3658
  visitInterpolation(ast) {
3558
- return ast.expressions.reduce((lhs, ast2) => ts26.factory.createBinaryExpression(lhs, ts26.SyntaxKind.PlusToken, wrapForTypeChecker(this.translate(ast2))), ts26.factory.createStringLiteral(""));
3659
+ return ast.expressions.reduce((lhs, ast2) => ts27.factory.createBinaryExpression(lhs, ts27.SyntaxKind.PlusToken, wrapForTypeChecker(this.translate(ast2))), ts27.factory.createStringLiteral(""));
3559
3660
  }
3560
3661
  visitKeyedRead(ast) {
3561
3662
  const receiver = wrapForDiagnostics(this.translate(ast.receiver));
3562
3663
  const key = this.translate(ast.key);
3563
- const node = ts26.factory.createElementAccessExpression(receiver, key);
3664
+ const node = ts27.factory.createElementAccessExpression(receiver, key);
3564
3665
  addParseSpanInfo(node, ast.sourceSpan);
3565
3666
  return node;
3566
3667
  }
3567
3668
  visitKeyedWrite(ast) {
3568
3669
  const receiver = wrapForDiagnostics(this.translate(ast.receiver));
3569
- const left = ts26.factory.createElementAccessExpression(receiver, this.translate(ast.key));
3670
+ const left = ts27.factory.createElementAccessExpression(receiver, this.translate(ast.key));
3570
3671
  const right = wrapForTypeChecker(this.translate(ast.value));
3571
- const node = wrapForDiagnostics(ts26.factory.createBinaryExpression(left, ts26.SyntaxKind.EqualsToken, right));
3672
+ const node = wrapForDiagnostics(ts27.factory.createBinaryExpression(left, ts27.SyntaxKind.EqualsToken, right));
3572
3673
  addParseSpanInfo(node, ast.sourceSpan);
3573
3674
  return node;
3574
3675
  }
3575
3676
  visitLiteralArray(ast) {
3576
3677
  const elements = ast.expressions.map((expr) => this.translate(expr));
3577
- const literal = ts26.factory.createArrayLiteralExpression(elements);
3678
+ const literal = ts27.factory.createArrayLiteralExpression(elements);
3578
3679
  const node = this.config.strictLiteralTypes ? literal : tsCastToAny(literal);
3579
3680
  addParseSpanInfo(node, ast.sourceSpan);
3580
3681
  return node;
@@ -3582,9 +3683,9 @@ var AstTranslator = class {
3582
3683
  visitLiteralMap(ast) {
3583
3684
  const properties = ast.keys.map(({ key }, idx) => {
3584
3685
  const value = this.translate(ast.values[idx]);
3585
- return ts26.factory.createPropertyAssignment(ts26.factory.createStringLiteral(key), value);
3686
+ return ts27.factory.createPropertyAssignment(ts27.factory.createStringLiteral(key), value);
3586
3687
  });
3587
- const literal = ts26.factory.createObjectLiteralExpression(properties, true);
3688
+ const literal = ts27.factory.createObjectLiteralExpression(properties, true);
3588
3689
  const node = this.config.strictLiteralTypes ? literal : tsCastToAny(literal);
3589
3690
  addParseSpanInfo(node, ast.sourceSpan);
3590
3691
  return node;
@@ -3592,15 +3693,15 @@ var AstTranslator = class {
3592
3693
  visitLiteralPrimitive(ast) {
3593
3694
  let node;
3594
3695
  if (ast.value === void 0) {
3595
- node = ts26.factory.createIdentifier("undefined");
3696
+ node = ts27.factory.createIdentifier("undefined");
3596
3697
  } else if (ast.value === null) {
3597
- node = ts26.factory.createNull();
3698
+ node = ts27.factory.createNull();
3598
3699
  } else if (typeof ast.value === "string") {
3599
- node = ts26.factory.createStringLiteral(ast.value);
3700
+ node = ts27.factory.createStringLiteral(ast.value);
3600
3701
  } else if (typeof ast.value === "number") {
3601
- node = ts26.factory.createNumericLiteral(ast.value);
3702
+ node = ts27.factory.createNumericLiteral(ast.value);
3602
3703
  } else if (typeof ast.value === "boolean") {
3603
- node = ast.value ? ts26.factory.createTrue() : ts26.factory.createFalse();
3704
+ node = ast.value ? ts27.factory.createTrue() : ts27.factory.createFalse();
3604
3705
  } else {
3605
3706
  throw Error(`Unsupported AST value of type ${typeof ast.value}`);
3606
3707
  }
@@ -3609,7 +3710,7 @@ var AstTranslator = class {
3609
3710
  }
3610
3711
  visitNonNullAssert(ast) {
3611
3712
  const expr = wrapForDiagnostics(this.translate(ast.expression));
3612
- const node = ts26.factory.createNonNullExpression(expr);
3713
+ const node = ts27.factory.createNonNullExpression(expr);
3613
3714
  addParseSpanInfo(node, ast.sourceSpan);
3614
3715
  return node;
3615
3716
  }
@@ -3618,13 +3719,13 @@ var AstTranslator = class {
3618
3719
  }
3619
3720
  visitPrefixNot(ast) {
3620
3721
  const expression = wrapForDiagnostics(this.translate(ast.expression));
3621
- const node = ts26.factory.createLogicalNot(expression);
3722
+ const node = ts27.factory.createLogicalNot(expression);
3622
3723
  addParseSpanInfo(node, ast.sourceSpan);
3623
3724
  return node;
3624
3725
  }
3625
3726
  visitPropertyRead(ast) {
3626
3727
  const receiver = wrapForDiagnostics(this.translate(ast.receiver));
3627
- const name = ts26.factory.createPropertyAccessExpression(receiver, ast.name);
3728
+ const name = ts27.factory.createPropertyAccessExpression(receiver, ast.name);
3628
3729
  addParseSpanInfo(name, ast.nameSpan);
3629
3730
  const node = wrapForDiagnostics(name);
3630
3731
  addParseSpanInfo(node, ast.sourceSpan);
@@ -3632,12 +3733,12 @@ var AstTranslator = class {
3632
3733
  }
3633
3734
  visitPropertyWrite(ast) {
3634
3735
  const receiver = wrapForDiagnostics(this.translate(ast.receiver));
3635
- const left = ts26.factory.createPropertyAccessExpression(receiver, ast.name);
3736
+ const left = ts27.factory.createPropertyAccessExpression(receiver, ast.name);
3636
3737
  addParseSpanInfo(left, ast.nameSpan);
3637
3738
  const leftWithPath = wrapForDiagnostics(left);
3638
3739
  addParseSpanInfo(leftWithPath, ast.sourceSpan);
3639
3740
  const right = wrapForTypeChecker(this.translate(ast.value));
3640
- const node = wrapForDiagnostics(ts26.factory.createBinaryExpression(leftWithPath, ts26.SyntaxKind.EqualsToken, right));
3741
+ const node = wrapForDiagnostics(ts27.factory.createBinaryExpression(leftWithPath, ts27.SyntaxKind.EqualsToken, right));
3641
3742
  addParseSpanInfo(node, ast.sourceSpan);
3642
3743
  return node;
3643
3744
  }
@@ -3645,13 +3746,13 @@ var AstTranslator = class {
3645
3746
  let node;
3646
3747
  const receiver = wrapForDiagnostics(this.translate(ast.receiver));
3647
3748
  if (this.config.strictSafeNavigationTypes) {
3648
- const expr = ts26.factory.createPropertyAccessExpression(ts26.factory.createNonNullExpression(receiver), ast.name);
3749
+ const expr = ts27.factory.createPropertyAccessExpression(ts27.factory.createNonNullExpression(receiver), ast.name);
3649
3750
  addParseSpanInfo(expr, ast.nameSpan);
3650
- node = ts26.factory.createParenthesizedExpression(ts26.factory.createConditionalExpression(NULL_AS_ANY, void 0, expr, void 0, UNDEFINED));
3751
+ node = ts27.factory.createParenthesizedExpression(ts27.factory.createConditionalExpression(NULL_AS_ANY, void 0, expr, void 0, UNDEFINED));
3651
3752
  } else if (VeSafeLhsInferenceBugDetector.veWillInferAnyFor(ast)) {
3652
- node = ts26.factory.createPropertyAccessExpression(tsCastToAny(receiver), ast.name);
3753
+ node = ts27.factory.createPropertyAccessExpression(tsCastToAny(receiver), ast.name);
3653
3754
  } else {
3654
- const expr = ts26.factory.createPropertyAccessExpression(ts26.factory.createNonNullExpression(receiver), ast.name);
3755
+ const expr = ts27.factory.createPropertyAccessExpression(ts27.factory.createNonNullExpression(receiver), ast.name);
3655
3756
  addParseSpanInfo(expr, ast.nameSpan);
3656
3757
  node = tsCastToAny(expr);
3657
3758
  }
@@ -3663,13 +3764,13 @@ var AstTranslator = class {
3663
3764
  const key = this.translate(ast.key);
3664
3765
  let node;
3665
3766
  if (this.config.strictSafeNavigationTypes) {
3666
- const expr = ts26.factory.createElementAccessExpression(ts26.factory.createNonNullExpression(receiver), key);
3767
+ const expr = ts27.factory.createElementAccessExpression(ts27.factory.createNonNullExpression(receiver), key);
3667
3768
  addParseSpanInfo(expr, ast.sourceSpan);
3668
- node = ts26.factory.createParenthesizedExpression(ts26.factory.createConditionalExpression(NULL_AS_ANY, void 0, expr, void 0, UNDEFINED));
3769
+ node = ts27.factory.createParenthesizedExpression(ts27.factory.createConditionalExpression(NULL_AS_ANY, void 0, expr, void 0, UNDEFINED));
3669
3770
  } else if (VeSafeLhsInferenceBugDetector.veWillInferAnyFor(ast)) {
3670
- node = ts26.factory.createElementAccessExpression(tsCastToAny(receiver), key);
3771
+ node = ts27.factory.createElementAccessExpression(tsCastToAny(receiver), key);
3671
3772
  } else {
3672
- const expr = ts26.factory.createElementAccessExpression(ts26.factory.createNonNullExpression(receiver), key);
3773
+ const expr = ts27.factory.createElementAccessExpression(ts27.factory.createNonNullExpression(receiver), key);
3673
3774
  addParseSpanInfo(expr, ast.sourceSpan);
3674
3775
  node = tsCastToAny(expr);
3675
3776
  }
@@ -3686,7 +3787,7 @@ var AstTranslator = class {
3686
3787
  expr = resolved;
3687
3788
  } else {
3688
3789
  const propertyReceiver = wrapForDiagnostics(this.translate(receiver.receiver));
3689
- expr = ts26.factory.createPropertyAccessExpression(propertyReceiver, receiver.name);
3790
+ expr = ts27.factory.createPropertyAccessExpression(propertyReceiver, receiver.name);
3690
3791
  addParseSpanInfo(expr, receiver.nameSpan);
3691
3792
  }
3692
3793
  } else {
@@ -3696,7 +3797,7 @@ var AstTranslator = class {
3696
3797
  if (ast.receiver instanceof SafePropertyRead2 || ast.receiver instanceof SafeKeyedRead) {
3697
3798
  node = this.convertToSafeCall(ast, expr, args);
3698
3799
  } else {
3699
- node = ts26.factory.createCallExpression(expr, void 0, args);
3800
+ node = ts27.factory.createCallExpression(expr, void 0, args);
3700
3801
  }
3701
3802
  addParseSpanInfo(node, ast.sourceSpan);
3702
3803
  return node;
@@ -3710,13 +3811,13 @@ var AstTranslator = class {
3710
3811
  }
3711
3812
  convertToSafeCall(ast, expr, args) {
3712
3813
  if (this.config.strictSafeNavigationTypes) {
3713
- const call = ts26.factory.createCallExpression(ts26.factory.createNonNullExpression(expr), void 0, args);
3714
- return ts26.factory.createParenthesizedExpression(ts26.factory.createConditionalExpression(NULL_AS_ANY, void 0, call, void 0, UNDEFINED));
3814
+ const call = ts27.factory.createCallExpression(ts27.factory.createNonNullExpression(expr), void 0, args);
3815
+ return ts27.factory.createParenthesizedExpression(ts27.factory.createConditionalExpression(NULL_AS_ANY, void 0, call, void 0, UNDEFINED));
3715
3816
  }
3716
3817
  if (VeSafeLhsInferenceBugDetector.veWillInferAnyFor(ast)) {
3717
- return ts26.factory.createCallExpression(tsCastToAny(expr), void 0, args);
3818
+ return ts27.factory.createCallExpression(tsCastToAny(expr), void 0, args);
3718
3819
  }
3719
- return tsCastToAny(ts26.factory.createCallExpression(ts26.factory.createNonNullExpression(expr), void 0, args));
3820
+ return tsCastToAny(ts27.factory.createCallExpression(ts27.factory.createNonNullExpression(expr), void 0, args));
3720
3821
  }
3721
3822
  };
3722
3823
  var _VeSafeLhsInferenceBugDetector = class {
@@ -3793,7 +3894,7 @@ var VeSafeLhsInferenceBugDetector = _VeSafeLhsInferenceBugDetector;
3793
3894
  _VeSafeLhsInferenceBugDetector.SINGLETON = new _VeSafeLhsInferenceBugDetector();
3794
3895
  })();
3795
3896
 
3796
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
3897
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
3797
3898
  import { ImplicitReceiver as ImplicitReceiver3, RecursiveAstVisitor as RecursiveAstVisitor2, TmplAstVariable } from "@angular/compiler";
3798
3899
  var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
3799
3900
  constructor(templateId, boundTarget, oob) {
@@ -3817,7 +3918,7 @@ var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
3817
3918
  }
3818
3919
  };
3819
3920
 
3820
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
3921
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
3821
3922
  var TcbGenericContextBehavior;
3822
3923
  (function(TcbGenericContextBehavior2) {
3823
3924
  TcbGenericContextBehavior2[TcbGenericContextBehavior2["UseEmitter"] = 0] = "UseEmitter";
@@ -3826,9 +3927,9 @@ var TcbGenericContextBehavior;
3826
3927
  })(TcbGenericContextBehavior || (TcbGenericContextBehavior = {}));
3827
3928
  function generateTypeCheckBlock(env, ref, name, meta, domSchemaChecker, oobRecorder, genericContextBehavior) {
3828
3929
  const tcb = new Context(env, domSchemaChecker, oobRecorder, meta.id, meta.boundTarget, meta.pipes, meta.schemas, meta.isStandalone);
3829
- const scope = Scope.forNodes(tcb, null, tcb.boundTarget.target.template, null);
3930
+ const scope = Scope.forNodes(tcb, null, null, tcb.boundTarget.target.template, null);
3830
3931
  const ctxRawType = env.referenceType(ref);
3831
- if (!ts27.isTypeReferenceNode(ctxRawType)) {
3932
+ if (!ts28.isTypeReferenceNode(ctxRawType)) {
3832
3933
  throw new Error(`Expected TypeReferenceNode when referencing the ctx param for ${ref.debugName}`);
3833
3934
  }
3834
3935
  let typeParameters = void 0;
@@ -3840,25 +3941,25 @@ function generateTypeCheckBlock(env, ref, name, meta, domSchemaChecker, oobRecor
3840
3941
  switch (genericContextBehavior) {
3841
3942
  case TcbGenericContextBehavior.UseEmitter:
3842
3943
  typeParameters = new TypeParameterEmitter(ref.node.typeParameters, env.reflector).emit((typeRef) => env.referenceType(typeRef));
3843
- typeArguments = typeParameters.map((param) => ts27.factory.createTypeReferenceNode(param.name));
3944
+ typeArguments = typeParameters.map((param) => ts28.factory.createTypeReferenceNode(param.name));
3844
3945
  break;
3845
3946
  case TcbGenericContextBehavior.CopyClassNodes:
3846
3947
  typeParameters = [...ref.node.typeParameters];
3847
- typeArguments = typeParameters.map((param) => ts27.factory.createTypeReferenceNode(param.name));
3948
+ typeArguments = typeParameters.map((param) => ts28.factory.createTypeReferenceNode(param.name));
3848
3949
  break;
3849
3950
  case TcbGenericContextBehavior.FallbackToAny:
3850
- typeArguments = ref.node.typeParameters.map(() => ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword));
3951
+ typeArguments = ref.node.typeParameters.map(() => ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword));
3851
3952
  break;
3852
3953
  }
3853
3954
  }
3854
3955
  const paramList = [tcbThisParam(ctxRawType.typeName, typeArguments)];
3855
3956
  const scopeStatements = scope.render();
3856
- const innerBody = ts27.factory.createBlock([
3957
+ const innerBody = ts28.factory.createBlock([
3857
3958
  ...env.getPreludeStatements(),
3858
3959
  ...scopeStatements
3859
3960
  ]);
3860
- const body = ts27.factory.createBlock([ts27.factory.createIfStatement(ts27.factory.createTrue(), innerBody, void 0)]);
3861
- const fnDecl = ts27.factory.createFunctionDeclaration(
3961
+ const body = ts28.factory.createBlock([ts28.factory.createIfStatement(ts28.factory.createTrue(), innerBody, void 0)]);
3962
+ const fnDecl = ts28.factory.createFunctionDeclaration(
3862
3963
  void 0,
3863
3964
  void 0,
3864
3965
  name,
@@ -3907,7 +4008,7 @@ var TcbTemplateVariableOp = class extends TcbOp {
3907
4008
  execute() {
3908
4009
  const ctx = this.scope.resolve(this.template);
3909
4010
  const id = this.tcb.allocateId();
3910
- const initializer = ts27.factory.createPropertyAccessExpression(
4011
+ const initializer = ts28.factory.createPropertyAccessExpression(
3911
4012
  ctx,
3912
4013
  this.variable.value || "$implicit"
3913
4014
  );
@@ -3933,7 +4034,7 @@ var TcbTemplateContextOp = class extends TcbOp {
3933
4034
  }
3934
4035
  execute() {
3935
4036
  const ctx = this.tcb.allocateId();
3936
- const type = ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword);
4037
+ const type = ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword);
3937
4038
  this.scope.addStatement(tsDeclareVariable(ctx, type));
3938
4039
  return ctx;
3939
4040
  }
@@ -3986,16 +4087,16 @@ var TcbTemplateBodyOp = class extends TcbOp {
3986
4087
  }
3987
4088
  let guard = null;
3988
4089
  if (directiveGuards.length > 0) {
3989
- guard = directiveGuards.reduce((expr, dirGuard) => ts27.factory.createBinaryExpression(expr, ts27.SyntaxKind.AmpersandAmpersandToken, dirGuard), directiveGuards.pop());
4090
+ guard = directiveGuards.reduce((expr, dirGuard) => ts28.factory.createBinaryExpression(expr, ts28.SyntaxKind.AmpersandAmpersandToken, dirGuard), directiveGuards.pop());
3990
4091
  }
3991
- const tmplScope = Scope.forNodes(this.tcb, this.scope, this.template, guard);
4092
+ const tmplScope = Scope.forNodes(this.tcb, this.scope, this.template, this.template.children, guard);
3992
4093
  const statements = tmplScope.render();
3993
4094
  if (statements.length === 0) {
3994
4095
  return null;
3995
4096
  }
3996
- let tmplBlock = ts27.factory.createBlock(statements);
4097
+ let tmplBlock = ts28.factory.createBlock(statements);
3997
4098
  if (guard !== null) {
3998
- tmplBlock = ts27.factory.createIfStatement(guard, tmplBlock);
4099
+ tmplBlock = ts28.factory.createIfStatement(guard, tmplBlock);
3999
4100
  }
4000
4101
  this.scope.addStatement(tmplBlock);
4001
4102
  return null;
@@ -4013,7 +4114,7 @@ var TcbExpressionOp = class extends TcbOp {
4013
4114
  }
4014
4115
  execute() {
4015
4116
  const expr = tcbExpression(this.expression, this.tcb, this.scope);
4016
- this.scope.addStatement(ts27.factory.createExpressionStatement(expr));
4117
+ this.scope.addStatement(ts28.factory.createExpressionStatement(expr));
4017
4118
  return null;
4018
4119
  }
4019
4120
  };
@@ -4035,11 +4136,11 @@ var TcbDirectiveTypeOpBase = class extends TcbOp {
4035
4136
  if (this.dir.isGeneric === false || dirRef.node.typeParameters === void 0) {
4036
4137
  type = rawType;
4037
4138
  } else {
4038
- if (!ts27.isTypeReferenceNode(rawType)) {
4139
+ if (!ts28.isTypeReferenceNode(rawType)) {
4039
4140
  throw new Error(`Expected TypeReferenceNode when referencing the type for ${this.dir.ref.debugName}`);
4040
4141
  }
4041
- const typeArguments = dirRef.node.typeParameters.map(() => ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword));
4042
- type = ts27.factory.createTypeReferenceNode(rawType.typeName, typeArguments);
4142
+ const typeArguments = dirRef.node.typeParameters.map(() => ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword));
4143
+ type = ts28.factory.createTypeReferenceNode(rawType.typeName, typeArguments);
4043
4144
  }
4044
4145
  const id = this.tcb.allocateId();
4045
4146
  addExpressionIdentifier(type, ExpressionIdentifier.DIRECTIVE);
@@ -4080,11 +4181,11 @@ var TcbReferenceOp = class extends TcbOp {
4080
4181
  const id = this.tcb.allocateId();
4081
4182
  let initializer = this.target instanceof TmplAstTemplate2 || this.target instanceof TmplAstElement3 ? this.scope.resolve(this.target) : this.scope.resolve(this.host, this.target);
4082
4183
  if (this.target instanceof TmplAstElement3 && !this.tcb.env.config.checkTypeOfDomReferences || !this.tcb.env.config.checkTypeOfNonDomReferences) {
4083
- initializer = ts27.factory.createAsExpression(initializer, ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword));
4184
+ initializer = ts28.factory.createAsExpression(initializer, ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword));
4084
4185
  } else if (this.target instanceof TmplAstTemplate2) {
4085
- initializer = ts27.factory.createAsExpression(initializer, ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword));
4086
- initializer = ts27.factory.createAsExpression(initializer, this.tcb.env.referenceExternalType("@angular/core", "TemplateRef", [DYNAMIC_TYPE]));
4087
- initializer = ts27.factory.createParenthesizedExpression(initializer);
4186
+ initializer = ts28.factory.createAsExpression(initializer, ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword));
4187
+ initializer = ts28.factory.createAsExpression(initializer, this.tcb.env.referenceExternalType("@angular/core", "TemplateRef", [DYNAMIC_TYPE]));
4188
+ initializer = ts28.factory.createParenthesizedExpression(initializer);
4088
4189
  }
4089
4190
  addParseSpanInfo(initializer, this.node.sourceSpan);
4090
4191
  addParseSpanInfo(id, this.node.keySpan);
@@ -4177,7 +4278,7 @@ var TcbDirectiveInputsOp = class extends TcbOp {
4177
4278
  type = this.tcb.env.referenceTransplantedType(new TransplantedType(transformType));
4178
4279
  } else {
4179
4280
  const dirTypeRef = this.tcb.env.referenceType(this.dir.ref);
4180
- if (!ts27.isTypeReferenceNode(dirTypeRef)) {
4281
+ if (!ts28.isTypeReferenceNode(dirTypeRef)) {
4181
4282
  throw new Error(`Expected TypeReferenceNode from reference to ${this.dir.ref.debugName}`);
4182
4283
  }
4183
4284
  type = tsCreateTypeQueryForCoercedInput(dirTypeRef.typeName, fieldName);
@@ -4193,10 +4294,10 @@ var TcbDirectiveInputsOp = class extends TcbOp {
4193
4294
  }
4194
4295
  const id = this.tcb.allocateId();
4195
4296
  const dirTypeRef = this.tcb.env.referenceType(this.dir.ref);
4196
- if (!ts27.isTypeReferenceNode(dirTypeRef)) {
4297
+ if (!ts28.isTypeReferenceNode(dirTypeRef)) {
4197
4298
  throw new Error(`Expected TypeReferenceNode from reference to ${this.dir.ref.debugName}`);
4198
4299
  }
4199
- const type = ts27.factory.createIndexedAccessTypeNode(ts27.factory.createTypeQueryNode(dirId), ts27.factory.createLiteralTypeNode(ts27.factory.createStringLiteral(fieldName)));
4300
+ const type = ts28.factory.createIndexedAccessTypeNode(ts28.factory.createTypeQueryNode(dirId), ts28.factory.createLiteralTypeNode(ts28.factory.createStringLiteral(fieldName)));
4200
4301
  const temp = tsDeclareVariable(id, type);
4201
4302
  this.scope.addStatement(temp);
4202
4303
  target = id;
@@ -4204,18 +4305,18 @@ var TcbDirectiveInputsOp = class extends TcbOp {
4204
4305
  if (dirId === null) {
4205
4306
  dirId = this.scope.resolve(this.node, this.dir);
4206
4307
  }
4207
- target = this.dir.stringLiteralInputFields.has(fieldName) ? ts27.factory.createElementAccessExpression(dirId, ts27.factory.createStringLiteral(fieldName)) : ts27.factory.createPropertyAccessExpression(dirId, ts27.factory.createIdentifier(fieldName));
4308
+ target = this.dir.stringLiteralInputFields.has(fieldName) ? ts28.factory.createElementAccessExpression(dirId, ts28.factory.createStringLiteral(fieldName)) : ts28.factory.createPropertyAccessExpression(dirId, ts28.factory.createIdentifier(fieldName));
4208
4309
  }
4209
4310
  if (attr.attribute.keySpan !== void 0) {
4210
4311
  addParseSpanInfo(target, attr.attribute.keySpan);
4211
4312
  }
4212
- assignment = ts27.factory.createBinaryExpression(target, ts27.SyntaxKind.EqualsToken, assignment);
4313
+ assignment = ts28.factory.createBinaryExpression(target, ts28.SyntaxKind.EqualsToken, assignment);
4213
4314
  }
4214
4315
  addParseSpanInfo(assignment, attr.attribute.sourceSpan);
4215
4316
  if (!this.tcb.env.config.checkTypeOfAttributes && attr.attribute instanceof TmplAstTextAttribute2) {
4216
4317
  markIgnoreDiagnostics(assignment);
4217
4318
  }
4218
- this.scope.addStatement(ts27.factory.createExpressionStatement(assignment));
4319
+ this.scope.addStatement(ts28.factory.createExpressionStatement(assignment));
4219
4320
  }
4220
4321
  this.checkRequiredInputs(seenRequiredInputs);
4221
4322
  return null;
@@ -4246,7 +4347,7 @@ var TcbDirectiveCtorCircularFallbackOp = class extends TcbOp {
4246
4347
  execute() {
4247
4348
  const id = this.tcb.allocateId();
4248
4349
  const typeCtor = this.tcb.env.typeCtorFor(this.dir);
4249
- const circularPlaceholder = ts27.factory.createCallExpression(typeCtor, void 0, [ts27.factory.createNonNullExpression(ts27.factory.createNull())]);
4350
+ const circularPlaceholder = ts28.factory.createCallExpression(typeCtor, void 0, [ts28.factory.createNonNullExpression(ts28.factory.createNull())]);
4250
4351
  this.scope.addStatement(tsCreateVariable(id, circularPlaceholder));
4251
4352
  return id;
4252
4353
  }
@@ -4314,15 +4415,15 @@ var TcbUnclaimedInputsOp = class extends TcbOp {
4314
4415
  elId = this.scope.resolve(this.element);
4315
4416
  }
4316
4417
  const propertyName = (_a = ATTR_TO_PROP.get(binding.name)) != null ? _a : binding.name;
4317
- const prop = ts27.factory.createElementAccessExpression(elId, ts27.factory.createStringLiteral(propertyName));
4318
- const stmt = ts27.factory.createBinaryExpression(prop, ts27.SyntaxKind.EqualsToken, wrapForDiagnostics(expr));
4418
+ const prop = ts28.factory.createElementAccessExpression(elId, ts28.factory.createStringLiteral(propertyName));
4419
+ const stmt = ts28.factory.createBinaryExpression(prop, ts28.SyntaxKind.EqualsToken, wrapForDiagnostics(expr));
4319
4420
  addParseSpanInfo(stmt, binding.sourceSpan);
4320
- this.scope.addStatement(ts27.factory.createExpressionStatement(stmt));
4421
+ this.scope.addStatement(ts28.factory.createExpressionStatement(stmt));
4321
4422
  } else {
4322
- this.scope.addStatement(ts27.factory.createExpressionStatement(expr));
4423
+ this.scope.addStatement(ts28.factory.createExpressionStatement(expr));
4323
4424
  }
4324
4425
  } else {
4325
- this.scope.addStatement(ts27.factory.createExpressionStatement(expr));
4426
+ this.scope.addStatement(ts28.factory.createExpressionStatement(expr));
4326
4427
  }
4327
4428
  }
4328
4429
  return null;
@@ -4354,18 +4455,18 @@ var TcbDirectiveOutputsOp = class extends TcbOp {
4354
4455
  if (dirId === null) {
4355
4456
  dirId = this.scope.resolve(this.node, this.dir);
4356
4457
  }
4357
- const outputField = ts27.factory.createElementAccessExpression(dirId, ts27.factory.createStringLiteral(field));
4458
+ const outputField = ts28.factory.createElementAccessExpression(dirId, ts28.factory.createStringLiteral(field));
4358
4459
  addParseSpanInfo(outputField, output.keySpan);
4359
4460
  if (this.tcb.env.config.checkTypeOfOutputEvents) {
4360
4461
  const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 0);
4361
- const subscribeFn = ts27.factory.createPropertyAccessExpression(outputField, "subscribe");
4362
- const call = ts27.factory.createCallExpression(subscribeFn, void 0, [handler]);
4462
+ const subscribeFn = ts28.factory.createPropertyAccessExpression(outputField, "subscribe");
4463
+ const call = ts28.factory.createCallExpression(subscribeFn, void 0, [handler]);
4363
4464
  addParseSpanInfo(call, output.sourceSpan);
4364
- this.scope.addStatement(ts27.factory.createExpressionStatement(call));
4465
+ this.scope.addStatement(ts28.factory.createExpressionStatement(call));
4365
4466
  } else {
4366
- this.scope.addStatement(ts27.factory.createExpressionStatement(outputField));
4467
+ this.scope.addStatement(ts28.factory.createExpressionStatement(outputField));
4367
4468
  const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 1);
4368
- this.scope.addStatement(ts27.factory.createExpressionStatement(handler));
4469
+ this.scope.addStatement(ts28.factory.createExpressionStatement(handler));
4369
4470
  }
4370
4471
  ExpressionSemanticVisitor.visit(output.handler, this.tcb.id, this.tcb.boundTarget, this.tcb.oobRecorder);
4371
4472
  }
@@ -4398,24 +4499,24 @@ var TcbUnclaimedOutputsOp = class extends TcbOp {
4398
4499
  if (output.type === 1) {
4399
4500
  const eventType = this.tcb.env.config.checkTypeOfAnimationEvents ? this.tcb.env.referenceExternalType("@angular/animations", "AnimationEvent") : 1;
4400
4501
  const handler = tcbCreateEventHandler(output, this.tcb, this.scope, eventType);
4401
- this.scope.addStatement(ts27.factory.createExpressionStatement(handler));
4502
+ this.scope.addStatement(ts28.factory.createExpressionStatement(handler));
4402
4503
  } else if (this.tcb.env.config.checkTypeOfDomEvents) {
4403
4504
  const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 0);
4404
4505
  if (elId === null) {
4405
4506
  elId = this.scope.resolve(this.element);
4406
4507
  }
4407
- const propertyAccess = ts27.factory.createPropertyAccessExpression(elId, "addEventListener");
4508
+ const propertyAccess = ts28.factory.createPropertyAccessExpression(elId, "addEventListener");
4408
4509
  addParseSpanInfo(propertyAccess, output.keySpan);
4409
- const call = ts27.factory.createCallExpression(
4510
+ const call = ts28.factory.createCallExpression(
4410
4511
  propertyAccess,
4411
4512
  void 0,
4412
- [ts27.factory.createStringLiteral(output.name), handler]
4513
+ [ts28.factory.createStringLiteral(output.name), handler]
4413
4514
  );
4414
4515
  addParseSpanInfo(call, output.sourceSpan);
4415
- this.scope.addStatement(ts27.factory.createExpressionStatement(call));
4516
+ this.scope.addStatement(ts28.factory.createExpressionStatement(call));
4416
4517
  } else {
4417
4518
  const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 1);
4418
- this.scope.addStatement(ts27.factory.createExpressionStatement(handler));
4519
+ this.scope.addStatement(ts28.factory.createExpressionStatement(handler));
4419
4520
  }
4420
4521
  ExpressionSemanticVisitor.visit(output.handler, this.tcb.id, this.tcb.boundTarget, this.tcb.oobRecorder);
4421
4522
  }
@@ -4429,11 +4530,11 @@ var TcbComponentContextCompletionOp = class extends TcbOp {
4429
4530
  this.optional = false;
4430
4531
  }
4431
4532
  execute() {
4432
- const ctx = ts27.factory.createThis();
4433
- const ctxDot = ts27.factory.createPropertyAccessExpression(ctx, "");
4533
+ const ctx = ts28.factory.createThis();
4534
+ const ctxDot = ts28.factory.createPropertyAccessExpression(ctx, "");
4434
4535
  markIgnoreDiagnostics(ctxDot);
4435
4536
  addExpressionIdentifier(ctxDot, ExpressionIdentifier.COMPONENT_COMPLETION);
4436
- this.scope.addStatement(ts27.factory.createExpressionStatement(ctxDot));
4537
+ this.scope.addStatement(ts28.factory.createExpressionStatement(ctxDot));
4437
4538
  return null;
4438
4539
  }
4439
4540
  };
@@ -4479,6 +4580,7 @@ var TcbIfOp = class extends TcbOp {
4479
4580
  this.tcb = tcb;
4480
4581
  this.scope = scope;
4481
4582
  this.block = block;
4583
+ this.expressionScopes = /* @__PURE__ */ new Map();
4482
4584
  }
4483
4585
  get optional() {
4484
4586
  return false;
@@ -4493,8 +4595,39 @@ var TcbIfOp = class extends TcbOp {
4493
4595
  if (!branch) {
4494
4596
  return void 0;
4495
4597
  }
4496
- const branchScope = Scope.forNodes(this.tcb, this.scope, branch, null);
4497
- return branch.expression === null ? ts27.factory.createBlock(branchScope.render()) : ts27.factory.createIfStatement(tcbExpression(branch.expression, this.tcb, branchScope), ts27.factory.createBlock(branchScope.render()), this.generateBranch(index + 1));
4598
+ if (branch.expression === null) {
4599
+ const branchScope = Scope.forNodes(this.tcb, this.scope, null, branch.children, this.generateBranchGuard(index));
4600
+ return ts28.factory.createBlock(branchScope.render());
4601
+ }
4602
+ const expressionScope = Scope.forNodes(this.tcb, this.scope, branch, [], null);
4603
+ expressionScope.render().forEach((stmt) => this.scope.addStatement(stmt));
4604
+ this.expressionScopes.set(branch, expressionScope);
4605
+ const expression = branch.expressionAlias === null ? tcbExpression(branch.expression, this.tcb, expressionScope) : expressionScope.resolve(branch.expressionAlias);
4606
+ const bodyScope = Scope.forNodes(this.tcb, expressionScope, null, branch.children, this.generateBranchGuard(index));
4607
+ return ts28.factory.createIfStatement(expression, ts28.factory.createBlock(bodyScope.render()), this.generateBranch(index + 1));
4608
+ }
4609
+ generateBranchGuard(index) {
4610
+ let guard = null;
4611
+ for (let i = 0; i <= index; i++) {
4612
+ const branch = this.block.branches[i];
4613
+ if (branch.expression === null) {
4614
+ continue;
4615
+ }
4616
+ if (!this.expressionScopes.has(branch)) {
4617
+ throw new Error(`Could not determine expression scope of branch at index ${i}`);
4618
+ }
4619
+ const expressionScope = this.expressionScopes.get(branch);
4620
+ let expression;
4621
+ if (branch.expressionAlias === null) {
4622
+ expression = tcbExpression(branch.expression, this.tcb, expressionScope);
4623
+ markIgnoreDiagnostics(expression);
4624
+ } else {
4625
+ expression = expressionScope.resolve(branch.expressionAlias);
4626
+ }
4627
+ const comparisonExpression = i === index ? expression : ts28.factory.createPrefixUnaryExpression(ts28.SyntaxKind.ExclamationToken, ts28.factory.createParenthesizedExpression(expression));
4628
+ guard = guard === null ? comparisonExpression : ts28.factory.createBinaryExpression(guard, ts28.SyntaxKind.AmpersandAmpersandToken, comparisonExpression);
4629
+ }
4630
+ return guard;
4498
4631
  }
4499
4632
  };
4500
4633
  var TcbSwitchOp = class extends TcbOp {
@@ -4508,18 +4641,51 @@ var TcbSwitchOp = class extends TcbOp {
4508
4641
  return false;
4509
4642
  }
4510
4643
  execute() {
4511
- const clauses = [];
4644
+ const expression = tcbExpression(this.block.expression, this.tcb, this.scope);
4645
+ markIgnoreDiagnostics(expression);
4646
+ const root = this.generateCase(0, expression, null);
4647
+ if (root !== void 0) {
4648
+ this.scope.addStatement(root);
4649
+ }
4650
+ return null;
4651
+ }
4652
+ generateCase(index, switchValue, defaultCase) {
4653
+ if (index >= this.block.cases.length) {
4654
+ if (defaultCase !== null) {
4655
+ const defaultScope = Scope.forNodes(this.tcb, this.scope, null, defaultCase.children, this.generateGuard(defaultCase, switchValue));
4656
+ return ts28.factory.createBlock(defaultScope.render());
4657
+ }
4658
+ return void 0;
4659
+ }
4660
+ const current = this.block.cases[index];
4661
+ if (current.expression === null) {
4662
+ return this.generateCase(index + 1, switchValue, current);
4663
+ }
4664
+ const caseScope = Scope.forNodes(this.tcb, this.scope, null, current.children, this.generateGuard(current, switchValue));
4665
+ const caseValue = tcbExpression(current.expression, this.tcb, caseScope);
4666
+ return ts28.factory.createIfStatement(ts28.factory.createBinaryExpression(switchValue, ts28.SyntaxKind.EqualsEqualsEqualsToken, caseValue), ts28.factory.createBlock(caseScope.render()), this.generateCase(index + 1, switchValue, defaultCase));
4667
+ }
4668
+ generateGuard(node, switchValue) {
4669
+ if (node.expression !== null) {
4670
+ const expression = tcbExpression(node.expression, this.tcb, this.scope);
4671
+ markIgnoreDiagnostics(expression);
4672
+ return ts28.factory.createBinaryExpression(switchValue, ts28.SyntaxKind.EqualsEqualsEqualsToken, expression);
4673
+ }
4674
+ let guard = null;
4512
4675
  for (const current of this.block.cases) {
4513
- const breakStatement = ts27.factory.createBreakStatement();
4514
- const clauseScope = Scope.forNodes(this.tcb, this.scope, current.children, null);
4515
4676
  if (current.expression === null) {
4516
- clauses.push(ts27.factory.createDefaultClause([...clauseScope.render(), breakStatement]));
4677
+ continue;
4678
+ }
4679
+ const expression = tcbExpression(current.expression, this.tcb, this.scope);
4680
+ markIgnoreDiagnostics(expression);
4681
+ const comparison = ts28.factory.createBinaryExpression(switchValue, ts28.SyntaxKind.ExclamationEqualsEqualsToken, expression);
4682
+ if (guard === null) {
4683
+ guard = comparison;
4517
4684
  } else {
4518
- clauses.push(ts27.factory.createCaseClause(tcbExpression(current.expression, this.tcb, clauseScope), [...clauseScope.render(), breakStatement]));
4685
+ guard = ts28.factory.createBinaryExpression(guard, ts28.SyntaxKind.AmpersandAmpersandToken, comparison);
4519
4686
  }
4520
4687
  }
4521
- this.scope.addStatement(ts27.factory.createSwitchStatement(tcbExpression(this.block.expression, this.tcb, this.scope), ts27.factory.createCaseBlock(clauses)));
4522
- return null;
4688
+ return guard;
4523
4689
  }
4524
4690
  };
4525
4691
  var TcbForOfOp = class extends TcbOp {
@@ -4533,20 +4699,20 @@ var TcbForOfOp = class extends TcbOp {
4533
4699
  return false;
4534
4700
  }
4535
4701
  execute() {
4536
- const loopScope = Scope.forNodes(this.tcb, this.scope, this.block, null);
4537
- const initializer = ts27.factory.createVariableDeclarationList([ts27.factory.createVariableDeclaration(this.block.item.name)], ts27.NodeFlags.Const);
4538
- const expression = tcbExpression(this.block.expression, this.tcb, loopScope);
4702
+ const loopScope = Scope.forNodes(this.tcb, this.scope, this.block, this.block.children, null);
4703
+ const initializer = ts28.factory.createVariableDeclarationList([ts28.factory.createVariableDeclaration(this.block.item.name)], ts28.NodeFlags.Const);
4704
+ const expression = ts28.factory.createNonNullExpression(tcbExpression(this.block.expression, this.tcb, loopScope));
4539
4705
  const trackTranslator = new TcbForLoopTrackTranslator(this.tcb, loopScope, this.block);
4540
4706
  const trackExpression = trackTranslator.translate(this.block.trackBy);
4541
4707
  const statements = [
4542
4708
  ...loopScope.render(),
4543
- ts27.factory.createExpressionStatement(trackExpression)
4709
+ ts28.factory.createExpressionStatement(trackExpression)
4544
4710
  ];
4545
- this.scope.addStatement(ts27.factory.createForOfStatement(void 0, initializer, expression, ts27.factory.createBlock(statements)));
4711
+ this.scope.addStatement(ts28.factory.createForOfStatement(void 0, initializer, expression, ts28.factory.createBlock(statements)));
4546
4712
  return null;
4547
4713
  }
4548
4714
  };
4549
- var INFER_TYPE_FOR_CIRCULAR_OP_EXPR = ts27.factory.createNonNullExpression(ts27.factory.createNull());
4715
+ var INFER_TYPE_FOR_CIRCULAR_OP_EXPR = ts28.factory.createNonNullExpression(ts28.factory.createNull());
4550
4716
  var Context = class {
4551
4717
  constructor(env, domSchemaChecker, oobRecorder, id, boundTarget, pipes, schemas, hostIsStandalone) {
4552
4718
  this.env = env;
@@ -4560,7 +4726,7 @@ var Context = class {
4560
4726
  this.nextId = 1;
4561
4727
  }
4562
4728
  allocateId() {
4563
- return ts27.factory.createIdentifier(`_t${this.nextId++}`);
4729
+ return ts28.factory.createIdentifier(`_t${this.nextId++}`);
4564
4730
  }
4565
4731
  getPipeByName(name) {
4566
4732
  if (!this.pipes.has(name)) {
@@ -4582,39 +4748,33 @@ var Scope = class {
4582
4748
  this.varMap = /* @__PURE__ */ new Map();
4583
4749
  this.statements = [];
4584
4750
  }
4585
- static forNodes(tcb, parent, blockOrNodes, guard) {
4586
- const scope = new Scope(tcb, parent, guard);
4587
- if (parent === null && tcb.env.config.enableTemplateTypeChecker) {
4751
+ static forNodes(tcb, parentScope, scopedNode, children, guard) {
4752
+ const scope = new Scope(tcb, parentScope, guard);
4753
+ if (parentScope === null && tcb.env.config.enableTemplateTypeChecker) {
4588
4754
  scope.opQueue.push(new TcbComponentContextCompletionOp(scope));
4589
4755
  }
4590
- let children;
4591
- if (blockOrNodes instanceof TmplAstTemplate2) {
4756
+ if (scopedNode instanceof TmplAstTemplate2) {
4592
4757
  const varMap = /* @__PURE__ */ new Map();
4593
- for (const v of blockOrNodes.variables) {
4758
+ for (const v of scopedNode.variables) {
4594
4759
  if (!varMap.has(v.name)) {
4595
4760
  varMap.set(v.name, v);
4596
4761
  } else {
4597
4762
  const firstDecl = varMap.get(v.name);
4598
4763
  tcb.oobRecorder.duplicateTemplateVar(tcb.id, v, firstDecl);
4599
4764
  }
4600
- this.registerVariable(scope, v, new TcbTemplateVariableOp(tcb, scope, blockOrNodes, v));
4765
+ this.registerVariable(scope, v, new TcbTemplateVariableOp(tcb, scope, scopedNode, v));
4601
4766
  }
4602
- children = blockOrNodes.children;
4603
- } else if (blockOrNodes instanceof TmplAstIfBlockBranch) {
4604
- const { expression, expressionAlias } = blockOrNodes;
4767
+ } else if (scopedNode instanceof TmplAstIfBlockBranch) {
4768
+ const { expression, expressionAlias } = scopedNode;
4605
4769
  if (expression !== null && expressionAlias !== null) {
4606
4770
  this.registerVariable(scope, expressionAlias, new TcbBlockVariableOp(tcb, scope, tcbExpression(expression, tcb, scope), expressionAlias));
4607
4771
  }
4608
- children = blockOrNodes.children;
4609
- } else if (blockOrNodes instanceof TmplAstForLoopBlock) {
4610
- this.registerVariable(scope, blockOrNodes.item, new TcbBlockVariableOp(tcb, scope, ts27.factory.createIdentifier(blockOrNodes.item.name), blockOrNodes.item));
4611
- for (const variable of Object.values(blockOrNodes.contextVariables)) {
4612
- const type = ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.NumberKeyword);
4772
+ } else if (scopedNode instanceof TmplAstForLoopBlock) {
4773
+ this.registerVariable(scope, scopedNode.item, new TcbBlockVariableOp(tcb, scope, ts28.factory.createIdentifier(scopedNode.item.name), scopedNode.item));
4774
+ for (const variable of Object.values(scopedNode.contextVariables)) {
4775
+ const type = ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.NumberKeyword);
4613
4776
  this.registerVariable(scope, variable, new TcbBlockImplicitVariableOp(tcb, scope, type, variable));
4614
4777
  }
4615
- children = blockOrNodes.children;
4616
- } else {
4617
- children = blockOrNodes;
4618
4778
  }
4619
4779
  for (const node of children) {
4620
4780
  scope.appendNode(node);
@@ -4629,16 +4789,16 @@ var Scope = class {
4629
4789
  const res = this.resolveLocal(node, directive);
4630
4790
  if (res !== null) {
4631
4791
  let clone;
4632
- if (ts27.isIdentifier(res)) {
4633
- clone = ts27.factory.createIdentifier(res.text);
4634
- } else if (ts27.isNonNullExpression(res)) {
4635
- clone = ts27.factory.createNonNullExpression(res.expression);
4792
+ if (ts28.isIdentifier(res)) {
4793
+ clone = ts28.factory.createIdentifier(res.text);
4794
+ } else if (ts28.isNonNullExpression(res)) {
4795
+ clone = ts28.factory.createNonNullExpression(res.expression);
4636
4796
  } else {
4637
4797
  throw new Error(`Could not resolve ${node} to an Identifier or a NonNullExpression`);
4638
4798
  }
4639
- ts27.setOriginalNode(clone, res);
4799
+ ts28.setOriginalNode(clone, res);
4640
4800
  clone.parent = clone.parent;
4641
- return ts27.setSyntheticTrailingComments(clone, []);
4801
+ return ts28.setSyntheticTrailingComments(clone, []);
4642
4802
  } else if (this.parent !== null) {
4643
4803
  return this.parent.resolve(node, directive);
4644
4804
  } else {
@@ -4665,7 +4825,7 @@ var Scope = class {
4665
4825
  } else if (parentGuards === null) {
4666
4826
  return this.guard;
4667
4827
  } else {
4668
- return ts27.factory.createBinaryExpression(parentGuards, ts27.SyntaxKind.AmpersandAmpersandToken, this.guard);
4828
+ return ts28.factory.createBinaryExpression(parentGuards, ts28.SyntaxKind.AmpersandAmpersandToken, this.guard);
4669
4829
  }
4670
4830
  }
4671
4831
  resolveLocal(ref, directive) {
@@ -4732,7 +4892,7 @@ var Scope = class {
4732
4892
  } else if (node instanceof TmplAstIfBlock) {
4733
4893
  this.opQueue.push(new TcbIfOp(this.tcb, this, node));
4734
4894
  } else if (node instanceof TmplAstSwitchBlock) {
4735
- this.opQueue.push(new TcbSwitchOp(this.tcb, this, node));
4895
+ this.opQueue.push(new TcbExpressionOp(this.tcb, this, node.expression), new TcbSwitchOp(this.tcb, this, node));
4736
4896
  } else if (node instanceof TmplAstForLoopBlock) {
4737
4897
  this.opQueue.push(new TcbForOfOp(this.tcb, this, node));
4738
4898
  node.empty && this.appendChildren(node.empty);
@@ -4890,12 +5050,12 @@ var Scope = class {
4890
5050
  }
4891
5051
  };
4892
5052
  function tcbThisParam(name, typeArguments) {
4893
- return ts27.factory.createParameterDeclaration(
5053
+ return ts28.factory.createParameterDeclaration(
4894
5054
  void 0,
4895
5055
  void 0,
4896
5056
  "this",
4897
5057
  void 0,
4898
- ts27.factory.createTypeReferenceNode(name, typeArguments),
5058
+ ts28.factory.createTypeReferenceNode(name, typeArguments),
4899
5059
  void 0
4900
5060
  );
4901
5061
  }
@@ -4920,11 +5080,11 @@ var TcbExpressionTranslator = class {
4920
5080
  return null;
4921
5081
  }
4922
5082
  const expr = this.translate(ast.value);
4923
- const result = ts27.factory.createParenthesizedExpression(ts27.factory.createBinaryExpression(target, ts27.SyntaxKind.EqualsToken, expr));
5083
+ const result = ts28.factory.createParenthesizedExpression(ts28.factory.createBinaryExpression(target, ts28.SyntaxKind.EqualsToken, expr));
4924
5084
  addParseSpanInfo(result, ast.sourceSpan);
4925
5085
  return result;
4926
5086
  } else if (ast instanceof ImplicitReceiver4) {
4927
- return ts27.factory.createThis();
5087
+ return ts28.factory.createThis();
4928
5088
  } else if (ast instanceof BindingPipe) {
4929
5089
  const expr = this.translate(ast.exp);
4930
5090
  const pipeRef = this.tcb.getPipeByName(ast.name);
@@ -4936,12 +5096,12 @@ var TcbExpressionTranslator = class {
4936
5096
  pipe = this.tcb.env.pipeInst(pipeRef);
4937
5097
  }
4938
5098
  const args = ast.args.map((arg) => this.translate(arg));
4939
- let methodAccess = ts27.factory.createPropertyAccessExpression(pipe, "transform");
5099
+ let methodAccess = ts28.factory.createPropertyAccessExpression(pipe, "transform");
4940
5100
  addParseSpanInfo(methodAccess, ast.nameSpan);
4941
5101
  if (!this.tcb.env.config.checkTypeOfPipes) {
4942
- methodAccess = ts27.factory.createAsExpression(methodAccess, ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword));
5102
+ methodAccess = ts28.factory.createAsExpression(methodAccess, ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword));
4943
5103
  }
4944
- const result = ts27.factory.createCallExpression(
5104
+ const result = ts28.factory.createCallExpression(
4945
5105
  methodAccess,
4946
5106
  void 0,
4947
5107
  [expr, ...args]
@@ -4951,8 +5111,8 @@ var TcbExpressionTranslator = class {
4951
5111
  } else if ((ast instanceof Call2 || ast instanceof SafeCall) && (ast.receiver instanceof PropertyRead4 || ast.receiver instanceof SafePropertyRead3)) {
4952
5112
  if (ast.receiver.receiver instanceof ImplicitReceiver4 && !(ast.receiver.receiver instanceof ThisReceiver) && ast.receiver.name === "$any" && ast.args.length === 1) {
4953
5113
  const expr = this.translate(ast.args[0]);
4954
- const exprAsAny = ts27.factory.createAsExpression(expr, ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword));
4955
- const result = ts27.factory.createParenthesizedExpression(exprAsAny);
5114
+ const exprAsAny = ts28.factory.createAsExpression(expr, ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword));
5115
+ const result = ts28.factory.createParenthesizedExpression(exprAsAny);
4956
5116
  addParseSpanInfo(result, ast.sourceSpan);
4957
5117
  return result;
4958
5118
  }
@@ -4963,7 +5123,7 @@ var TcbExpressionTranslator = class {
4963
5123
  const method = wrapForDiagnostics(receiver);
4964
5124
  addParseSpanInfo(method, ast.receiver.nameSpan);
4965
5125
  const args = ast.args.map((arg) => this.translate(arg));
4966
- const node = ts27.factory.createCallExpression(method, void 0, args);
5126
+ const node = ts28.factory.createCallExpression(method, void 0, args);
4967
5127
  addParseSpanInfo(node, ast.sourceSpan);
4968
5128
  return node;
4969
5129
  } else {
@@ -4983,20 +5143,20 @@ var TcbExpressionTranslator = class {
4983
5143
  function tcbCallTypeCtor(dir, tcb, inputs) {
4984
5144
  const typeCtor = tcb.env.typeCtorFor(dir);
4985
5145
  const members = inputs.map((input) => {
4986
- const propertyName = ts27.factory.createStringLiteral(input.field);
5146
+ const propertyName = ts28.factory.createStringLiteral(input.field);
4987
5147
  if (input.type === "binding") {
4988
5148
  const expr = widenBinding(input.expression, tcb);
4989
- const assignment = ts27.factory.createPropertyAssignment(propertyName, wrapForDiagnostics(expr));
5149
+ const assignment = ts28.factory.createPropertyAssignment(propertyName, wrapForDiagnostics(expr));
4990
5150
  addParseSpanInfo(assignment, input.sourceSpan);
4991
5151
  return assignment;
4992
5152
  } else {
4993
- return ts27.factory.createPropertyAssignment(propertyName, NULL_AS_ANY);
5153
+ return ts28.factory.createPropertyAssignment(propertyName, NULL_AS_ANY);
4994
5154
  }
4995
5155
  });
4996
- return ts27.factory.createCallExpression(
5156
+ return ts28.factory.createCallExpression(
4997
5157
  typeCtor,
4998
5158
  void 0,
4999
- [ts27.factory.createObjectLiteralExpression(members)]
5159
+ [ts28.factory.createObjectLiteralExpression(members)]
5000
5160
  );
5001
5161
  }
5002
5162
  function getBoundAttributes(directive, node) {
@@ -5031,17 +5191,17 @@ function translateInput(attr, tcb, scope) {
5031
5191
  if (attr instanceof TmplAstBoundAttribute) {
5032
5192
  return tcbExpression(attr.value, tcb, scope);
5033
5193
  } else {
5034
- return ts27.factory.createStringLiteral(attr.value);
5194
+ return ts28.factory.createStringLiteral(attr.value);
5035
5195
  }
5036
5196
  }
5037
5197
  function widenBinding(expr, tcb) {
5038
5198
  if (!tcb.env.config.checkTypeOfInputBindings) {
5039
5199
  return tsCastToAny(expr);
5040
5200
  } else if (!tcb.env.config.strictNullInputBindings) {
5041
- if (ts27.isObjectLiteralExpression(expr) || ts27.isArrayLiteralExpression(expr)) {
5201
+ if (ts28.isObjectLiteralExpression(expr) || ts28.isArrayLiteralExpression(expr)) {
5042
5202
  return expr;
5043
5203
  } else {
5044
- return ts27.factory.createNonNullExpression(expr);
5204
+ return ts28.factory.createNonNullExpression(expr);
5045
5205
  }
5046
5206
  } else {
5047
5207
  return expr;
@@ -5054,16 +5214,16 @@ function tcbCreateEventHandler(event, tcb, scope, eventType) {
5054
5214
  if (eventType === 0) {
5055
5215
  eventParamType = void 0;
5056
5216
  } else if (eventType === 1) {
5057
- eventParamType = ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword);
5217
+ eventParamType = ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword);
5058
5218
  } else {
5059
5219
  eventParamType = eventType;
5060
5220
  }
5061
5221
  const guards = scope.guards();
5062
- let body = ts27.factory.createExpressionStatement(handler);
5222
+ let body = ts28.factory.createExpressionStatement(handler);
5063
5223
  if (guards !== null) {
5064
- body = ts27.factory.createIfStatement(guards, body);
5224
+ body = ts28.factory.createIfStatement(guards, body);
5065
5225
  }
5066
- const eventParam = ts27.factory.createParameterDeclaration(
5226
+ const eventParam = ts28.factory.createParameterDeclaration(
5067
5227
  void 0,
5068
5228
  void 0,
5069
5229
  EVENT_PARAMETER,
@@ -5071,13 +5231,13 @@ function tcbCreateEventHandler(event, tcb, scope, eventType) {
5071
5231
  eventParamType
5072
5232
  );
5073
5233
  addExpressionIdentifier(eventParam, ExpressionIdentifier.EVENT_PARAMETER);
5074
- return ts27.factory.createArrowFunction(
5234
+ return ts28.factory.createArrowFunction(
5075
5235
  void 0,
5076
5236
  void 0,
5077
5237
  [eventParam],
5078
- ts27.factory.createKeywordTypeNode(ts27.SyntaxKind.AnyKeyword),
5238
+ ts28.factory.createKeywordTypeNode(ts28.SyntaxKind.AnyKeyword),
5079
5239
  void 0,
5080
- ts27.factory.createBlock([body])
5240
+ ts28.factory.createBlock([body])
5081
5241
  );
5082
5242
  }
5083
5243
  function tcbEventHandlerExpression(ast, tcb, scope) {
@@ -5106,7 +5266,7 @@ function isSplitTwoWayBinding(inputName, output, inputs, tcb) {
5106
5266
  var TcbEventHandlerTranslator = class extends TcbExpressionTranslator {
5107
5267
  resolve(ast) {
5108
5268
  if (ast instanceof PropertyRead4 && ast.receiver instanceof ImplicitReceiver4 && !(ast.receiver instanceof ThisReceiver) && ast.name === EVENT_PARAMETER) {
5109
- const event = ts27.factory.createIdentifier(EVENT_PARAMETER);
5269
+ const event = ts28.factory.createIdentifier(EVENT_PARAMETER);
5110
5270
  addParseSpanInfo(event, ast.nameSpan);
5111
5271
  return event;
5112
5272
  }
@@ -5129,33 +5289,33 @@ var TcbForLoopTrackTranslator = class extends TcbExpressionTranslator {
5129
5289
  }
5130
5290
  };
5131
5291
 
5132
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
5133
- import ts28 from "typescript";
5292
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
5293
+ import ts29 from "typescript";
5134
5294
  var TypeCheckFile = class extends Environment {
5135
5295
  constructor(fileName, config, refEmitter, reflector, compilerHost) {
5136
- super(config, new ImportManager(new NoopImportRewriter(), "i"), refEmitter, reflector, ts28.createSourceFile(compilerHost.getCanonicalFileName(fileName), "", ts28.ScriptTarget.Latest, true));
5296
+ super(config, new ImportManager(new NoopImportRewriter(), "i"), refEmitter, reflector, ts29.createSourceFile(compilerHost.getCanonicalFileName(fileName), "", ts29.ScriptTarget.Latest, true));
5137
5297
  this.fileName = fileName;
5138
5298
  this.nextTcbId = 1;
5139
5299
  this.tcbStatements = [];
5140
5300
  }
5141
5301
  addTypeCheckBlock(ref, meta, domSchemaChecker, oobRecorder, genericContextBehavior) {
5142
- const fnId = ts28.factory.createIdentifier(`_tcb${this.nextTcbId++}`);
5302
+ const fnId = ts29.factory.createIdentifier(`_tcb${this.nextTcbId++}`);
5143
5303
  const fn = generateTypeCheckBlock(this, ref, fnId, meta, domSchemaChecker, oobRecorder, genericContextBehavior);
5144
5304
  this.tcbStatements.push(fn);
5145
5305
  }
5146
5306
  render(removeComments) {
5147
5307
  let source = this.importManager.getAllImports(this.contextFile.fileName).map((i) => `import * as ${i.qualifier.text} from '${i.specifier}';`).join("\n") + "\n\n";
5148
- const printer = ts28.createPrinter({ removeComments });
5308
+ const printer = ts29.createPrinter({ removeComments });
5149
5309
  source += "\n";
5150
5310
  for (const stmt of this.pipeInstStatements) {
5151
- source += printer.printNode(ts28.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
5311
+ source += printer.printNode(ts29.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
5152
5312
  }
5153
5313
  for (const stmt of this.typeCtorStatements) {
5154
- source += printer.printNode(ts28.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
5314
+ source += printer.printNode(ts29.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
5155
5315
  }
5156
5316
  source += "\n";
5157
5317
  for (const stmt of this.tcbStatements) {
5158
- source += printer.printNode(ts28.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
5318
+ source += printer.printNode(ts29.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
5159
5319
  }
5160
5320
  source += "\nexport const IS_A_MODULE = true;\n";
5161
5321
  return source;
@@ -5165,7 +5325,7 @@ var TypeCheckFile = class extends Environment {
5165
5325
  }
5166
5326
  };
5167
5327
 
5168
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
5328
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
5169
5329
  var InliningMode;
5170
5330
  (function(InliningMode2) {
5171
5331
  InliningMode2[InliningMode2["InlineOps"] = 0] = "InlineOps";
@@ -5270,7 +5430,7 @@ var TypeCheckContextImpl = class {
5270
5430
  const importManager = new ImportManager(new NoopImportRewriter(), "_i");
5271
5431
  const ops = this.opMap.get(sf).sort(orderOps);
5272
5432
  const textParts = splitStringAtPoints(sf.text, ops.map((op) => op.splitPoint));
5273
- const printer = ts29.createPrinter({ omitTrailingSemicolon: true });
5433
+ const printer = ts30.createPrinter({ omitTrailingSemicolon: true });
5274
5434
  let code = textParts[0];
5275
5435
  ops.forEach((op, idx) => {
5276
5436
  const text = op.execute(importManager, sf, this.refEmitter, printer);
@@ -5351,7 +5511,7 @@ var TypeCheckContextImpl = class {
5351
5511
  if (span.start.offset === span.end.offset) {
5352
5512
  span.end.offset++;
5353
5513
  }
5354
- return makeTemplateDiagnostic(templateId, sourceMapping, span, ts29.DiagnosticCategory.Error, ngErrorCode(ErrorCode.TEMPLATE_PARSE_ERROR), error.msg);
5514
+ return makeTemplateDiagnostic(templateId, sourceMapping, span, ts30.DiagnosticCategory.Error, ngErrorCode(ErrorCode.TEMPLATE_PARSE_ERROR), error.msg);
5355
5515
  });
5356
5516
  }
5357
5517
  };
@@ -5369,9 +5529,9 @@ var InlineTcbOp = class {
5369
5529
  }
5370
5530
  execute(im, sf, refEmitter, printer) {
5371
5531
  const env = new Environment(this.config, im, refEmitter, this.reflector, sf);
5372
- const fnName = ts29.factory.createIdentifier(`_tcb_${this.ref.node.pos}`);
5532
+ const fnName = ts30.factory.createIdentifier(`_tcb_${this.ref.node.pos}`);
5373
5533
  const fn = generateTypeCheckBlock(env, this.ref, fnName, this.meta, this.domSchemaChecker, this.oobRecorder, TcbGenericContextBehavior.CopyClassNodes);
5374
- return printer.printNode(ts29.EmitHint.Unspecified, fn, sf);
5534
+ return printer.printNode(ts30.EmitHint.Unspecified, fn, sf);
5375
5535
  }
5376
5536
  };
5377
5537
  var TypeCtorOp = class {
@@ -5384,7 +5544,7 @@ var TypeCtorOp = class {
5384
5544
  }
5385
5545
  execute(im, sf, refEmitter, printer) {
5386
5546
  const tcb = generateInlineTypeCtor(this.ref.node, this.meta);
5387
- return printer.printNode(ts29.EmitHint.Unspecified, tcb, sf);
5547
+ return printer.printNode(ts30.EmitHint.Unspecified, tcb, sf);
5388
5548
  }
5389
5549
  };
5390
5550
  function orderOps(op1, op2) {
@@ -5402,10 +5562,10 @@ function splitStringAtPoints(str, points) {
5402
5562
  return splits;
5403
5563
  }
5404
5564
 
5405
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5565
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5406
5566
  import { ParseLocation, ParseSourceSpan } from "@angular/compiler";
5407
5567
 
5408
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
5568
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
5409
5569
  var LF_CHAR = 10;
5410
5570
  var CR_CHAR = 13;
5411
5571
  var LINE_SEP_CHAR = 8232;
@@ -5446,7 +5606,7 @@ function findClosestLineStartPosition(linesMap, position, low = 0, high = linesM
5446
5606
  return low - 1;
5447
5607
  }
5448
5608
 
5449
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5609
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
5450
5610
  var TemplateSource = class {
5451
5611
  constructor(mapping, file) {
5452
5612
  this.mapping = mapping;
@@ -5497,9 +5657,9 @@ var TemplateSourceManager = class {
5497
5657
  }
5498
5658
  };
5499
5659
 
5500
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
5660
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
5501
5661
  import { AST, ASTWithSource as ASTWithSource3, BindingPipe as BindingPipe2, PropertyRead as PropertyRead5, PropertyWrite as PropertyWrite4, 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";
5502
- import ts30 from "typescript";
5662
+ import ts31 from "typescript";
5503
5663
  var SymbolBuilder = class {
5504
5664
  constructor(tcbPath, tcbIsShim, typeCheckBlock, templateData, componentScopeReader, getTypeChecker) {
5505
5665
  this.tcbPath = tcbPath;
@@ -5543,7 +5703,7 @@ var SymbolBuilder = class {
5543
5703
  getSymbolOfElement(element) {
5544
5704
  var _a;
5545
5705
  const elementSourceSpan = (_a = element.startSourceSpan) != null ? _a : element.sourceSpan;
5546
- const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: elementSourceSpan, filter: ts30.isVariableDeclaration });
5706
+ const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: elementSourceSpan, filter: ts31.isVariableDeclaration });
5547
5707
  if (node === null) {
5548
5708
  return null;
5549
5709
  }
@@ -5563,12 +5723,12 @@ var SymbolBuilder = class {
5563
5723
  var _a;
5564
5724
  const elementSourceSpan = (_a = element.startSourceSpan) != null ? _a : element.sourceSpan;
5565
5725
  const tcbSourceFile = this.typeCheckBlock.getSourceFile();
5566
- const isDirectiveDeclaration = (node) => (ts30.isTypeNode(node) || ts30.isIdentifier(node)) && ts30.isVariableDeclaration(node.parent) && hasExpressionIdentifier(tcbSourceFile, node, ExpressionIdentifier.DIRECTIVE);
5726
+ const isDirectiveDeclaration = (node) => (ts31.isTypeNode(node) || ts31.isIdentifier(node)) && ts31.isVariableDeclaration(node.parent) && hasExpressionIdentifier(tcbSourceFile, node, ExpressionIdentifier.DIRECTIVE);
5567
5727
  const nodes = findAllMatchingNodes(this.typeCheckBlock, { withSpan: elementSourceSpan, filter: isDirectiveDeclaration });
5568
5728
  const symbols = [];
5569
5729
  for (const node of nodes) {
5570
5730
  const symbol = this.getSymbolOfTsNode(node.parent);
5571
- if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !ts30.isClassDeclaration(symbol.tsSymbol.valueDeclaration)) {
5731
+ if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !ts31.isClassDeclaration(symbol.tsSymbol.valueDeclaration)) {
5572
5732
  continue;
5573
5733
  }
5574
5734
  const meta = this.getDirectiveMeta(element, symbol.tsSymbol.valueDeclaration);
@@ -5596,7 +5756,7 @@ var SymbolBuilder = class {
5596
5756
  }
5597
5757
  addHostDirectiveSymbols(host, hostDirectives, symbols) {
5598
5758
  for (const current of hostDirectives) {
5599
- if (!ts30.isClassDeclaration(current.directive.node)) {
5759
+ if (!ts31.isClassDeclaration(current.directive.node)) {
5600
5760
  continue;
5601
5761
  }
5602
5762
  const symbol = this.getSymbolOfTsNode(current.directive.node);
@@ -5669,17 +5829,17 @@ var SymbolBuilder = class {
5669
5829
  if (!isAccessExpression(n)) {
5670
5830
  return false;
5671
5831
  }
5672
- if (ts30.isPropertyAccessExpression(n)) {
5832
+ if (ts31.isPropertyAccessExpression(n)) {
5673
5833
  return n.name.getText() === expectedAccess;
5674
5834
  } else {
5675
- return ts30.isStringLiteral(n.argumentExpression) && n.argumentExpression.text === expectedAccess;
5835
+ return ts31.isStringLiteral(n.argumentExpression) && n.argumentExpression.text === expectedAccess;
5676
5836
  }
5677
5837
  }
5678
5838
  const outputFieldAccesses = findAllMatchingNodes(this.typeCheckBlock, { withSpan: eventBinding.keySpan, filter });
5679
5839
  const bindings = [];
5680
5840
  for (const outputFieldAccess of outputFieldAccesses) {
5681
5841
  if (consumer instanceof TmplAstTemplate3 || consumer instanceof TmplAstElement4) {
5682
- if (!ts30.isPropertyAccessExpression(outputFieldAccess)) {
5842
+ if (!ts31.isPropertyAccessExpression(outputFieldAccess)) {
5683
5843
  continue;
5684
5844
  }
5685
5845
  const addEventListener = outputFieldAccess.name;
@@ -5702,7 +5862,7 @@ var SymbolBuilder = class {
5702
5862
  }
5703
5863
  });
5704
5864
  } else {
5705
- if (!ts30.isElementAccessExpression(outputFieldAccess)) {
5865
+ if (!ts31.isElementAccessExpression(outputFieldAccess)) {
5706
5866
  continue;
5707
5867
  }
5708
5868
  const tsSymbol = this.getTypeChecker().getSymbolAtLocation(outputFieldAccess.argumentExpression);
@@ -5775,7 +5935,7 @@ var SymbolBuilder = class {
5775
5935
  return null;
5776
5936
  }
5777
5937
  const [declaration] = tsSymbol.declarations;
5778
- if (!ts30.isVariableDeclaration(declaration) || !hasExpressionIdentifier(
5938
+ if (!ts31.isVariableDeclaration(declaration) || !hasExpressionIdentifier(
5779
5939
  declaration.getSourceFile(),
5780
5940
  (_a = declaration.type) != null ? _a : declaration.name,
5781
5941
  ExpressionIdentifier.DIRECTIVE
@@ -5783,7 +5943,7 @@ var SymbolBuilder = class {
5783
5943
  return null;
5784
5944
  }
5785
5945
  const symbol = this.getSymbolOfTsNode(declaration);
5786
- if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !ts30.isClassDeclaration(symbol.tsSymbol.valueDeclaration)) {
5946
+ if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !ts31.isClassDeclaration(symbol.tsSymbol.valueDeclaration)) {
5787
5947
  return null;
5788
5948
  }
5789
5949
  const ref = new Reference(symbol.tsSymbol.valueDeclaration);
@@ -5803,7 +5963,7 @@ var SymbolBuilder = class {
5803
5963
  };
5804
5964
  }
5805
5965
  getSymbolOfVariable(variable) {
5806
- const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: variable.sourceSpan, filter: ts30.isVariableDeclaration });
5966
+ const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: variable.sourceSpan, filter: ts31.isVariableDeclaration });
5807
5967
  if (node === null || node.initializer === void 0) {
5808
5968
  return null;
5809
5969
  }
@@ -5826,11 +5986,11 @@ var SymbolBuilder = class {
5826
5986
  }
5827
5987
  getSymbolOfReference(ref) {
5828
5988
  const target = this.templateData.boundTarget.getReferenceTarget(ref);
5829
- let node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: ref.sourceSpan, filter: ts30.isVariableDeclaration });
5989
+ let node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: ref.sourceSpan, filter: ts31.isVariableDeclaration });
5830
5990
  if (node === null || target === null || node.initializer === void 0) {
5831
5991
  return null;
5832
5992
  }
5833
- const originalDeclaration = ts30.isParenthesizedExpression(node.initializer) && ts30.isAsExpression(node.initializer.expression) ? this.getTypeChecker().getSymbolAtLocation(node.name) : this.getTypeChecker().getSymbolAtLocation(node.initializer);
5993
+ const originalDeclaration = ts31.isParenthesizedExpression(node.initializer) && ts31.isAsExpression(node.initializer.expression) ? this.getTypeChecker().getSymbolAtLocation(node.name) : this.getTypeChecker().getSymbolAtLocation(node.initializer);
5834
5994
  if (originalDeclaration === void 0 || originalDeclaration.valueDeclaration === void 0) {
5835
5995
  return null;
5836
5996
  }
@@ -5854,7 +6014,7 @@ var SymbolBuilder = class {
5854
6014
  referenceVarLocation: referenceVarTcbLocation
5855
6015
  };
5856
6016
  } else {
5857
- if (!ts30.isClassDeclaration(target.directive.ref.node)) {
6017
+ if (!ts31.isClassDeclaration(target.directive.ref.node)) {
5858
6018
  return null;
5859
6019
  }
5860
6020
  return {
@@ -5869,7 +6029,7 @@ var SymbolBuilder = class {
5869
6029
  }
5870
6030
  }
5871
6031
  getSymbolOfPipe(expression) {
5872
- const methodAccess = findFirstMatchingNode(this.typeCheckBlock, { withSpan: expression.nameSpan, filter: ts30.isPropertyAccessExpression });
6032
+ const methodAccess = findFirstMatchingNode(this.typeCheckBlock, { withSpan: expression.nameSpan, filter: ts31.isPropertyAccessExpression });
5873
6033
  if (methodAccess === null) {
5874
6034
  return null;
5875
6035
  }
@@ -5909,7 +6069,7 @@ var SymbolBuilder = class {
5909
6069
  }
5910
6070
  let node = null;
5911
6071
  if (expression instanceof PropertyRead5) {
5912
- node = findFirstMatchingNode(this.typeCheckBlock, { withSpan, filter: ts30.isPropertyAccessExpression });
6072
+ node = findFirstMatchingNode(this.typeCheckBlock, { withSpan, filter: ts31.isPropertyAccessExpression });
5913
6073
  }
5914
6074
  if (node === null) {
5915
6075
  node = findFirstMatchingNode(this.typeCheckBlock, { withSpan, filter: anyNodeFilter });
@@ -5917,10 +6077,10 @@ var SymbolBuilder = class {
5917
6077
  if (node === null) {
5918
6078
  return null;
5919
6079
  }
5920
- while (ts30.isParenthesizedExpression(node)) {
6080
+ while (ts31.isParenthesizedExpression(node)) {
5921
6081
  node = node.expression;
5922
6082
  }
5923
- if (expression instanceof SafePropertyRead4 && ts30.isConditionalExpression(node)) {
6083
+ if (expression instanceof SafePropertyRead4 && ts31.isConditionalExpression(node)) {
5924
6084
  const whenTrueSymbol = this.getSymbolOfTsNode(node.whenTrue);
5925
6085
  if (whenTrueSymbol === null) {
5926
6086
  return null;
@@ -5937,13 +6097,13 @@ var SymbolBuilder = class {
5937
6097
  }
5938
6098
  getSymbolOfTsNode(node) {
5939
6099
  var _a;
5940
- while (ts30.isParenthesizedExpression(node)) {
6100
+ while (ts31.isParenthesizedExpression(node)) {
5941
6101
  node = node.expression;
5942
6102
  }
5943
6103
  let tsSymbol;
5944
- if (ts30.isPropertyAccessExpression(node)) {
6104
+ if (ts31.isPropertyAccessExpression(node)) {
5945
6105
  tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.name);
5946
- } else if (ts30.isElementAccessExpression(node)) {
6106
+ } else if (ts31.isElementAccessExpression(node)) {
5947
6107
  tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.argumentExpression);
5948
6108
  } else {
5949
6109
  tsSymbol = this.getTypeChecker().getSymbolAtLocation(node);
@@ -5961,13 +6121,13 @@ var SymbolBuilder = class {
5961
6121
  };
5962
6122
  }
5963
6123
  getTcbPositionForNode(node) {
5964
- if (ts30.isTypeReferenceNode(node)) {
6124
+ if (ts31.isTypeReferenceNode(node)) {
5965
6125
  return this.getTcbPositionForNode(node.typeName);
5966
- } else if (ts30.isQualifiedName(node)) {
6126
+ } else if (ts31.isQualifiedName(node)) {
5967
6127
  return node.right.getStart();
5968
- } else if (ts30.isPropertyAccessExpression(node)) {
6128
+ } else if (ts31.isPropertyAccessExpression(node)) {
5969
6129
  return node.name.getStart();
5970
- } else if (ts30.isElementAccessExpression(node)) {
6130
+ } else if (ts31.isElementAccessExpression(node)) {
5971
6131
  return node.argumentExpression.getStart();
5972
6132
  } else {
5973
6133
  return node.getStart();
@@ -5981,7 +6141,7 @@ function sourceSpanEqual(a, b) {
5981
6141
  return a.start.offset === b.start.offset && a.end.offset === b.end.offset;
5982
6142
  }
5983
6143
 
5984
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
6144
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
5985
6145
  var REGISTRY2 = new DomElementSchemaRegistry2();
5986
6146
  var TemplateTypeCheckerImpl = class {
5987
6147
  constructor(originalProgram, programDriver, typeCheckAdapter, config, refEmitter, reflector, compilerHost, priorBuild, metaReader, localMetaReader, ngModuleIndex, componentScopeReader, typeCheckScopeRegistry, perf) {
@@ -6678,10 +6838,10 @@ var SingleShimTypeCheckingHost = class extends SingleFileTypeCheckingHost {
6678
6838
  }
6679
6839
  };
6680
6840
 
6681
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
6841
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
6682
6842
  import { TmplAstBoundEvent as TmplAstBoundEvent2 } from "@angular/compiler";
6683
6843
 
6684
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
6844
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
6685
6845
  import { ASTWithSource as ASTWithSource4, RecursiveAstVisitor as RecursiveAstVisitor3, TmplAstBoundDeferredTrigger as TmplAstBoundDeferredTrigger2 } from "@angular/compiler";
6686
6846
  var TemplateCheckWithVisitor = class {
6687
6847
  run(ctx, component, template) {
@@ -6738,6 +6898,8 @@ var TemplateVisitor2 = class extends RecursiveAstVisitor3 {
6738
6898
  }
6739
6899
  visitTextAttribute(attribute) {
6740
6900
  }
6901
+ visitUnknownBlock(block) {
6902
+ }
6741
6903
  visitBoundAttribute(attribute) {
6742
6904
  this.visitAst(attribute.value);
6743
6905
  }
@@ -6803,7 +6965,7 @@ var TemplateVisitor2 = class extends RecursiveAstVisitor3 {
6803
6965
  }
6804
6966
  };
6805
6967
 
6806
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
6968
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
6807
6969
  var InvalidBananaInBoxCheck = class extends TemplateCheckWithVisitor {
6808
6970
  constructor() {
6809
6971
  super(...arguments);
@@ -6828,7 +6990,7 @@ var factory = {
6828
6990
  create: () => new InvalidBananaInBoxCheck()
6829
6991
  };
6830
6992
 
6831
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
6993
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_control_flow_directive/index.mjs
6832
6994
  import { TmplAstTemplate as TmplAstTemplate4 } from "@angular/compiler";
6833
6995
  var KNOWN_CONTROL_FLOW_DIRECTIVES = /* @__PURE__ */ new Map([
6834
6996
  ["ngIf", "NgIf"],
@@ -6873,7 +7035,7 @@ var factory2 = {
6873
7035
  }
6874
7036
  };
6875
7037
 
6876
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
7038
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/missing_ngforof_let/index.mjs
6877
7039
  import { TmplAstTemplate as TmplAstTemplate5 } from "@angular/compiler";
6878
7040
  var MissingNgForOfLetCheck = class extends TemplateCheckWithVisitor {
6879
7041
  constructor() {
@@ -6906,9 +7068,9 @@ var factory3 = {
6906
7068
  create: () => new MissingNgForOfLetCheck()
6907
7069
  };
6908
7070
 
6909
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
7071
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
6910
7072
  import { Binary } from "@angular/compiler";
6911
- import ts31 from "typescript";
7073
+ import ts32 from "typescript";
6912
7074
  var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
6913
7075
  constructor() {
6914
7076
  super(...arguments);
@@ -6922,7 +7084,7 @@ var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
6922
7084
  return [];
6923
7085
  }
6924
7086
  const typeLeft = symbolLeft.tsType;
6925
- if (typeLeft.flags & (ts31.TypeFlags.Any | ts31.TypeFlags.Unknown)) {
7087
+ if (typeLeft.flags & (ts32.TypeFlags.Any | ts32.TypeFlags.Unknown)) {
6926
7088
  return [];
6927
7089
  }
6928
7090
  if (typeLeft.getNonNullableType() !== typeLeft)
@@ -6951,9 +7113,9 @@ var factory4 = {
6951
7113
  }
6952
7114
  };
6953
7115
 
6954
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
7116
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.mjs
6955
7117
  import { SafeCall as SafeCall2, SafeKeyedRead as SafeKeyedRead2, SafePropertyRead as SafePropertyRead5 } from "@angular/compiler";
6956
- import ts32 from "typescript";
7118
+ import ts33 from "typescript";
6957
7119
  var OptionalChainNotNullableCheck = class extends TemplateCheckWithVisitor {
6958
7120
  constructor() {
6959
7121
  super(...arguments);
@@ -6967,7 +7129,7 @@ var OptionalChainNotNullableCheck = class extends TemplateCheckWithVisitor {
6967
7129
  return [];
6968
7130
  }
6969
7131
  const typeLeft = symbolLeft.tsType;
6970
- if (typeLeft.flags & (ts32.TypeFlags.Any | ts32.TypeFlags.Unknown)) {
7132
+ if (typeLeft.flags & (ts33.TypeFlags.Any | ts33.TypeFlags.Unknown)) {
6971
7133
  return [];
6972
7134
  }
6973
7135
  if (typeLeft.getNonNullableType() !== typeLeft)
@@ -6997,7 +7159,7 @@ var factory5 = {
6997
7159
  }
6998
7160
  };
6999
7161
 
7000
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
7162
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/suffix_not_supported/index.mjs
7001
7163
  import { TmplAstBoundAttribute as TmplAstBoundAttribute3 } from "@angular/compiler";
7002
7164
  var STYLE_SUFFIXES = ["px", "%", "em"];
7003
7165
  var SuffixNotSupportedCheck = class extends TemplateCheckWithVisitor {
@@ -7021,7 +7183,7 @@ var factory6 = {
7021
7183
  create: () => new SuffixNotSupportedCheck()
7022
7184
  };
7023
7185
 
7024
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
7186
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/text_attribute_not_binding/index.mjs
7025
7187
  import { TmplAstTextAttribute as TmplAstTextAttribute4 } from "@angular/compiler";
7026
7188
  var TextAttributeNotBindingSpec = class extends TemplateCheckWithVisitor {
7027
7189
  constructor() {
@@ -7060,10 +7222,10 @@ var factory7 = {
7060
7222
  create: () => new TextAttributeNotBindingSpec()
7061
7223
  };
7062
7224
 
7063
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7064
- import ts33 from "typescript";
7225
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7226
+ import ts34 from "typescript";
7065
7227
 
7066
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
7228
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
7067
7229
  var DiagnosticCategoryLabel;
7068
7230
  (function(DiagnosticCategoryLabel2) {
7069
7231
  DiagnosticCategoryLabel2["Warning"] = "warning";
@@ -7071,7 +7233,7 @@ var DiagnosticCategoryLabel;
7071
7233
  DiagnosticCategoryLabel2["Suppress"] = "suppress";
7072
7234
  })(DiagnosticCategoryLabel || (DiagnosticCategoryLabel = {}));
7073
7235
 
7074
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7236
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
7075
7237
  var ExtendedTemplateCheckerImpl = class {
7076
7238
  constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
7077
7239
  var _a, _b, _c, _d, _e;
@@ -7110,9 +7272,9 @@ var ExtendedTemplateCheckerImpl = class {
7110
7272
  function diagnosticLabelToCategory(label) {
7111
7273
  switch (label) {
7112
7274
  case DiagnosticCategoryLabel.Warning:
7113
- return ts33.DiagnosticCategory.Warning;
7275
+ return ts34.DiagnosticCategory.Warning;
7114
7276
  case DiagnosticCategoryLabel.Error:
7115
- return ts33.DiagnosticCategory.Error;
7277
+ return ts34.DiagnosticCategory.Error;
7116
7278
  case DiagnosticCategoryLabel.Suppress:
7117
7279
  return null;
7118
7280
  default:
@@ -7124,7 +7286,7 @@ function assertNever(value) {
7124
7286
  ${value}`);
7125
7287
  }
7126
7288
 
7127
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
7289
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
7128
7290
  var ALL_DIAGNOSTIC_FACTORIES = [
7129
7291
  factory,
7130
7292
  factory4,
@@ -7135,7 +7297,7 @@ var ALL_DIAGNOSTIC_FACTORIES = [
7135
7297
  factory6
7136
7298
  ];
7137
7299
 
7138
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
7300
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
7139
7301
  var CompilationTicketKind;
7140
7302
  (function(CompilationTicketKind2) {
7141
7303
  CompilationTicketKind2[CompilationTicketKind2["Fresh"] = 0] = "Fresh";
@@ -7207,7 +7369,7 @@ var NgCompiler = class {
7207
7369
  }
7208
7370
  }
7209
7371
  constructor(adapter, options, inputProgram, programDriver, incrementalStrategy, incrementalCompilation, enableTemplateTypeChecker, usePoisonedData, livePerfRecorder) {
7210
- var _a, _b;
7372
+ var _a;
7211
7373
  this.adapter = adapter;
7212
7374
  this.options = options;
7213
7375
  this.inputProgram = inputProgram;
@@ -7221,12 +7383,11 @@ var NgCompiler = class {
7221
7383
  this.nonTemplateDiagnostics = null;
7222
7384
  this.delegatingPerfRecorder = new DelegatingPerfRecorder(this.perfRecorder);
7223
7385
  this.enableTemplateTypeChecker = enableTemplateTypeChecker || ((_a = options["_enableTemplateTypeChecker"]) != null ? _a : false);
7224
- this.enabledBlockTypes = new Set((_b = options["_enabledBlockTypes"]) != null ? _b : []);
7225
7386
  this.constructionDiagnostics.push(...this.adapter.constructionDiagnostics, ...verifyCompatibleTypeCheckOptions(this.options));
7226
7387
  this.currentProgram = inputProgram;
7227
7388
  this.closureCompilerEnabled = !!this.options.annotateForClosureCompiler;
7228
7389
  this.entryPoint = adapter.entryPoint !== null ? getSourceFileOrNull(inputProgram, adapter.entryPoint) : null;
7229
- const moduleResolutionCache = ts34.createModuleResolutionCache(
7390
+ const moduleResolutionCache = ts35.createModuleResolutionCache(
7230
7391
  this.adapter.getCurrentDirectory(),
7231
7392
  this.adapter.getCanonicalFileName.bind(this.adapter)
7232
7393
  );
@@ -7270,7 +7431,7 @@ var NgCompiler = class {
7270
7431
  }
7271
7432
  for (const clazz of classesToUpdate) {
7272
7433
  this.compilation.traitCompiler.updateResources(clazz);
7273
- if (!ts34.isClassDeclaration(clazz)) {
7434
+ if (!ts35.isClassDeclaration(clazz)) {
7274
7435
  continue;
7275
7436
  }
7276
7437
  this.compilation.templateTypeChecker.invalidateClass(clazz);
@@ -7700,8 +7861,11 @@ var NgCompiler = class {
7700
7861
  if (supportJitMode === false && compilationMode === CompilationMode.PARTIAL) {
7701
7862
  throw new Error('JIT mode support ("supportJitMode" option) cannot be disabled in partial compilation mode.');
7702
7863
  }
7864
+ if (supportJitMode === false && this.options.forbidOrphanComponents) {
7865
+ throw new Error('JIT mode support ("supportJitMode" option) cannot be disabled when forbidOrphanComponents is set to true');
7866
+ }
7703
7867
  const handlers = [
7704
- 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.enabledBlockTypes, this.moduleResolver, this.cycleAnalyzer, cycleHandlingStrategy, refEmitter, referencesRegistry, this.incrementalCompilation.depGraph, injectableRegistry, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, hostDirectivesResolver, supportTestBed, compilationMode, deferredSymbolsTracker),
7868
+ 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),
7705
7869
  new DirectiveDecoratorHandler(reflector, evaluator, metaRegistry, ngModuleScopeRegistry, metaReader, injectableRegistry, refEmitter, referencesRegistry, isCore, strictCtorDeps, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder, supportTestBed, compilationMode),
7706
7870
  new PipeDecoratorHandler(reflector, evaluator, metaRegistry, ngModuleScopeRegistry, injectableRegistry, isCore, this.delegatingPerfRecorder, supportTestBed, compilationMode),
7707
7871
  new InjectableDecoratorHandler(reflector, evaluator, isCore, strictCtorDeps, injectableRegistry, this.delegatingPerfRecorder, supportTestBed, compilationMode),
@@ -7737,18 +7901,18 @@ function isAngularCorePackage(program) {
7737
7901
  return false;
7738
7902
  }
7739
7903
  return r3Symbols.statements.some((stmt) => {
7740
- if (!ts34.isVariableStatement(stmt)) {
7904
+ if (!ts35.isVariableStatement(stmt)) {
7741
7905
  return false;
7742
7906
  }
7743
- const modifiers = ts34.getModifiers(stmt);
7744
- if (modifiers === void 0 || !modifiers.some((mod) => mod.kind === ts34.SyntaxKind.ExportKeyword)) {
7907
+ const modifiers = ts35.getModifiers(stmt);
7908
+ if (modifiers === void 0 || !modifiers.some((mod) => mod.kind === ts35.SyntaxKind.ExportKeyword)) {
7745
7909
  return false;
7746
7910
  }
7747
7911
  return stmt.declarationList.declarations.some((decl) => {
7748
- if (!ts34.isIdentifier(decl.name) || decl.name.text !== "ITS_JUST_ANGULAR") {
7912
+ if (!ts35.isIdentifier(decl.name) || decl.name.text !== "ITS_JUST_ANGULAR") {
7749
7913
  return false;
7750
7914
  }
7751
- if (decl.initializer === void 0 || decl.initializer.kind !== ts34.SyntaxKind.TrueKeyword) {
7915
+ if (decl.initializer === void 0 || decl.initializer.kind !== ts35.SyntaxKind.TrueKeyword) {
7752
7916
  return false;
7753
7917
  }
7754
7918
  return true;
@@ -7762,7 +7926,7 @@ function* verifyCompatibleTypeCheckOptions(options) {
7762
7926
  var _a, _b, _c;
7763
7927
  if (options.fullTemplateTypeCheck === false && options.strictTemplates === true) {
7764
7928
  yield makeConfigDiagnostic({
7765
- category: ts34.DiagnosticCategory.Error,
7929
+ category: ts35.DiagnosticCategory.Error,
7766
7930
  code: ErrorCode.CONFIG_STRICT_TEMPLATES_IMPLIES_FULL_TEMPLATE_TYPECHECK,
7767
7931
  messageText: `
7768
7932
  Angular compiler option "strictTemplates" is enabled, however "fullTemplateTypeCheck" is disabled.
@@ -7781,7 +7945,7 @@ https://angular.io/guide/template-typecheck
7781
7945
  }
7782
7946
  if (options.extendedDiagnostics && options.strictTemplates === false) {
7783
7947
  yield makeConfigDiagnostic({
7784
- category: ts34.DiagnosticCategory.Error,
7948
+ category: ts35.DiagnosticCategory.Error,
7785
7949
  code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_IMPLIES_STRICT_TEMPLATES,
7786
7950
  messageText: `
7787
7951
  Angular compiler option "extendedDiagnostics" is configured, however "strictTemplates" is disabled.
@@ -7798,7 +7962,7 @@ One of the following actions is required:
7798
7962
  const defaultCategory = (_a = options.extendedDiagnostics) == null ? void 0 : _a.defaultCategory;
7799
7963
  if (defaultCategory && !allowedCategoryLabels.includes(defaultCategory)) {
7800
7964
  yield makeConfigDiagnostic({
7801
- category: ts34.DiagnosticCategory.Error,
7965
+ category: ts35.DiagnosticCategory.Error,
7802
7966
  code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CATEGORY_LABEL,
7803
7967
  messageText: `
7804
7968
  Angular compiler option "extendedDiagnostics.defaultCategory" has an unknown diagnostic category: "${defaultCategory}".
@@ -7812,7 +7976,7 @@ ${allowedCategoryLabels.join("\n")}
7812
7976
  for (const [checkName, category] of Object.entries((_c = (_b = options.extendedDiagnostics) == null ? void 0 : _b.checks) != null ? _c : {})) {
7813
7977
  if (!allExtendedDiagnosticNames.includes(checkName)) {
7814
7978
  yield makeConfigDiagnostic({
7815
- category: ts34.DiagnosticCategory.Error,
7979
+ category: ts35.DiagnosticCategory.Error,
7816
7980
  code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CHECK,
7817
7981
  messageText: `
7818
7982
  Angular compiler option "extendedDiagnostics.checks" has an unknown check: "${checkName}".
@@ -7824,7 +7988,7 @@ ${allExtendedDiagnosticNames.join("\n")}
7824
7988
  }
7825
7989
  if (!allowedCategoryLabels.includes(category)) {
7826
7990
  yield makeConfigDiagnostic({
7827
- category: ts34.DiagnosticCategory.Error,
7991
+ category: ts35.DiagnosticCategory.Error,
7828
7992
  code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CATEGORY_LABEL,
7829
7993
  messageText: `
7830
7994
  Angular compiler option "extendedDiagnostics.checks['${checkName}']" has an unknown diagnostic category: "${category}".
@@ -7854,7 +8018,7 @@ var ReferenceGraphAdapter = class {
7854
8018
  for (const { node } of references) {
7855
8019
  let sourceFile = node.getSourceFile();
7856
8020
  if (sourceFile === void 0) {
7857
- sourceFile = ts34.getOriginalNode(node).getSourceFile();
8021
+ sourceFile = ts35.getOriginalNode(node).getSourceFile();
7858
8022
  }
7859
8023
  if (sourceFile === void 0 || !isDtsPath(sourceFile.fileName)) {
7860
8024
  this.graph.add(source, node);
@@ -7892,8 +8056,8 @@ function versionMapFromProgram(program, driver) {
7892
8056
  return versions;
7893
8057
  }
7894
8058
 
7895
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
7896
- import ts35 from "typescript";
8059
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
8060
+ import ts36 from "typescript";
7897
8061
  var DelegatingCompilerHost2 = class {
7898
8062
  constructor(delegate) {
7899
8063
  this.delegate = delegate;
@@ -7972,7 +8136,7 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
7972
8136
  entryPoint = findFlatIndexEntryPoint(normalizedTsInputFiles);
7973
8137
  if (entryPoint === null) {
7974
8138
  diagnostics.push({
7975
- category: ts35.DiagnosticCategory.Error,
8139
+ category: ts36.DiagnosticCategory.Error,
7976
8140
  code: ngErrorCode(ErrorCode.CONFIG_FLAT_MODULE_NO_INDEX),
7977
8141
  file: void 0,
7978
8142
  start: void 0,
@@ -8015,17 +8179,17 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
8015
8179
  return this.fileNameToModuleName !== void 0 ? this : null;
8016
8180
  }
8017
8181
  createCachedResolveModuleNamesFunction() {
8018
- const moduleResolutionCache = ts35.createModuleResolutionCache(this.getCurrentDirectory(), this.getCanonicalFileName.bind(this));
8182
+ const moduleResolutionCache = ts36.createModuleResolutionCache(this.getCurrentDirectory(), this.getCanonicalFileName.bind(this));
8019
8183
  return (moduleNames, containingFile, reusedNames, redirectedReference, options) => {
8020
8184
  return moduleNames.map((moduleName) => {
8021
- const module = ts35.resolveModuleName(moduleName, containingFile, options, this, moduleResolutionCache, redirectedReference);
8185
+ const module = ts36.resolveModuleName(moduleName, containingFile, options, this, moduleResolutionCache, redirectedReference);
8022
8186
  return module.resolvedModule;
8023
8187
  });
8024
8188
  };
8025
8189
  }
8026
8190
  };
8027
8191
 
8028
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
8192
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
8029
8193
  var NgtscProgram = class {
8030
8194
  constructor(rootNames, options, delegateHost, oldProgram) {
8031
8195
  this.options = options;
@@ -8042,7 +8206,7 @@ var NgtscProgram = class {
8042
8206
  if (reuseProgram !== void 0) {
8043
8207
  retagAllTsFiles(reuseProgram);
8044
8208
  }
8045
- this.tsProgram = perfRecorder.inPhase(PerfPhase.TypeScriptProgramCreate, () => ts36.createProgram(this.host.inputFiles, options, this.host, reuseProgram));
8209
+ this.tsProgram = perfRecorder.inPhase(PerfPhase.TypeScriptProgramCreate, () => ts37.createProgram(this.host.inputFiles, options, this.host, reuseProgram));
8046
8210
  perfRecorder.phase(PerfPhase.Unaccounted);
8047
8211
  perfRecorder.memory(PerfCheckpoint.TypeScriptProgramCreate);
8048
8212
  this.host.postProgramCreationCleanup();
@@ -8252,37 +8416,37 @@ function mergeEmitResults(emitResults) {
8252
8416
  return { diagnostics, emitSkipped, emittedFiles };
8253
8417
  }
8254
8418
 
8255
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
8419
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
8256
8420
  function createProgram({ rootNames, options, host, oldProgram }) {
8257
8421
  return new NgtscProgram(rootNames, options, host, oldProgram);
8258
8422
  }
8259
8423
 
8260
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8261
- import ts38 from "typescript";
8424
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8425
+ import ts39 from "typescript";
8262
8426
 
8263
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
8264
- import ts37 from "typescript";
8427
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
8428
+ import ts38 from "typescript";
8265
8429
  function createMessageDiagnostic(messageText) {
8266
8430
  return {
8267
8431
  file: void 0,
8268
8432
  start: void 0,
8269
8433
  length: void 0,
8270
- category: ts37.DiagnosticCategory.Message,
8434
+ category: ts38.DiagnosticCategory.Message,
8271
8435
  messageText,
8272
8436
  code: DEFAULT_ERROR_CODE,
8273
8437
  source: SOURCE
8274
8438
  };
8275
8439
  }
8276
8440
 
8277
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8441
+ // bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
8278
8442
  var defaultFormatHost = {
8279
- getCurrentDirectory: () => ts38.sys.getCurrentDirectory(),
8443
+ getCurrentDirectory: () => ts39.sys.getCurrentDirectory(),
8280
8444
  getCanonicalFileName: (fileName) => fileName,
8281
- getNewLine: () => ts38.sys.newLine
8445
+ getNewLine: () => ts39.sys.newLine
8282
8446
  };
8283
8447
  function formatDiagnostics(diags, host = defaultFormatHost) {
8284
8448
  if (diags && diags.length) {
8285
- return diags.map((diagnostic) => replaceTsWithNgInErrors(ts38.formatDiagnosticsWithColorAndContext([diagnostic], host))).join("");
8449
+ return diags.map((diagnostic) => replaceTsWithNgInErrors(ts39.formatDiagnosticsWithColorAndContext([diagnostic], host))).join("");
8286
8450
  } else {
8287
8451
  return "";
8288
8452
  }
@@ -8299,7 +8463,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
8299
8463
  var _a;
8300
8464
  try {
8301
8465
  const fs = getFileSystem();
8302
- const readConfigFile = (configFile) => ts38.readConfigFile(configFile, (file) => host.readFile(host.resolve(file)));
8466
+ const readConfigFile = (configFile) => ts39.readConfigFile(configFile, (file) => host.readFile(host.resolve(file)));
8303
8467
  const readAngularCompilerOptions = (configFile, parentOptions = {}) => {
8304
8468
  const { config: config2, error: error2 } = readConfigFile(configFile);
8305
8469
  if (error2) {
@@ -8334,7 +8498,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
8334
8498
  ...existingOptions
8335
8499
  };
8336
8500
  const parseConfigHost = createParseConfigHost(host, fs);
8337
- const { options, errors, fileNames: rootNames, projectReferences } = ts38.parseJsonConfigFileContent(config, parseConfigHost, basePath, existingCompilerOptions, configFileName);
8501
+ const { options, errors, fileNames: rootNames, projectReferences } = ts39.parseJsonConfigFileContent(config, parseConfigHost, basePath, existingCompilerOptions, configFileName);
8338
8502
  let emitFlags = EmitFlags.Default;
8339
8503
  if (!(options["skipMetadataEmit"] || options["flatModuleOutFile"])) {
8340
8504
  emitFlags |= EmitFlags.Metadata;
@@ -8345,7 +8509,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
8345
8509
  return { project: projectFile, rootNames, projectReferences, options, errors, emitFlags };
8346
8510
  } catch (e) {
8347
8511
  const errors = [{
8348
- category: ts38.DiagnosticCategory.Error,
8512
+ category: ts39.DiagnosticCategory.Error,
8349
8513
  messageText: (_a = e.stack) != null ? _a : e.message,
8350
8514
  file: void 0,
8351
8515
  start: void 0,
@@ -8359,7 +8523,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
8359
8523
  function createParseConfigHost(host, fs = getFileSystem()) {
8360
8524
  return {
8361
8525
  fileExists: host.exists.bind(host),
8362
- readDirectory: ts38.sys.readDirectory,
8526
+ readDirectory: ts39.sys.readDirectory,
8363
8527
  readFile: host.readFile.bind(host),
8364
8528
  useCaseSensitiveFileNames: fs.isCaseSensitive()
8365
8529
  };
@@ -8379,12 +8543,7 @@ function getExtendedConfigPathWorker(configFile, extendsValue, host, fs) {
8379
8543
  }
8380
8544
  } else {
8381
8545
  const parseConfigHost = createParseConfigHost(host, fs);
8382
- const { resolvedModule } = ts38.nodeModuleNameResolver(
8383
- extendsValue,
8384
- configFile,
8385
- { moduleResolution: 2, resolveJsonModule: true },
8386
- parseConfigHost
8387
- );
8546
+ const { resolvedModule } = ts39.nodeModuleNameResolver(extendsValue, configFile, { moduleResolution: ts39.ModuleResolutionKind.Node10, resolveJsonModule: true }, parseConfigHost);
8388
8547
  if (resolvedModule) {
8389
8548
  return absoluteFrom(resolvedModule.resolvedFileName);
8390
8549
  }
@@ -8394,7 +8553,7 @@ function getExtendedConfigPathWorker(configFile, extendsValue, host, fs) {
8394
8553
  function exitCodeFromResult(diags) {
8395
8554
  if (!diags)
8396
8555
  return 0;
8397
- if (diags.every((diag) => diag.category !== ts38.DiagnosticCategory.Error)) {
8556
+ if (diags.every((diag) => diag.category !== ts39.DiagnosticCategory.Error)) {
8398
8557
  return 0;
8399
8558
  }
8400
8559
  return diags.some((d) => d.source === "angular" && d.code === UNKNOWN_ERROR_CODE) ? 2 : 1;
@@ -8427,7 +8586,7 @@ function performCompilation({ rootNames, options, host, oldProgram, emitCallback
8427
8586
  } catch (e) {
8428
8587
  program = void 0;
8429
8588
  allDiagnostics.push({
8430
- category: ts38.DiagnosticCategory.Error,
8589
+ category: ts39.DiagnosticCategory.Error,
8431
8590
  messageText: (_a = e.stack) != null ? _a : e.message,
8432
8591
  code: UNKNOWN_ERROR_CODE,
8433
8592
  file: void 0,
@@ -8454,7 +8613,7 @@ function defaultGatherDiagnostics(program) {
8454
8613
  return allDiagnostics;
8455
8614
  }
8456
8615
  function hasErrors(diags) {
8457
- return diags.some((d) => d.category === ts38.DiagnosticCategory.Error);
8616
+ return diags.some((d) => d.category === ts39.DiagnosticCategory.Error);
8458
8617
  }
8459
8618
 
8460
8619
  export {
@@ -8491,4 +8650,4 @@ export {
8491
8650
  * Use of this source code is governed by an MIT-style license that can be
8492
8651
  * found in the LICENSE file at https://angular.io/license
8493
8652
  */
8494
- //# sourceMappingURL=chunk-7YXJWQNF.js.map
8653
+ //# sourceMappingURL=chunk-35SQ73FP.js.map